android遍历图片
‘壹’ Android的缓存机制是怎样的
【答案】:客户端缓存机制是android应用开发中非常重要的一项工作,使用缓存机制不仅仅可以为用户节省3G流量,同时在用户体验方面也是非常好的选择,比如有些新闻客户端支持离线模式,也是通过缓存机制实现的.缓存机制分为两部分,一部分是文字缓存,另指厅一部分是多媒体文件缓存.
文字缓存有两种实现:
1)可以将与服务器交互得到的json数据或者xml数据存入sd卡中,并在数据库添加该数桥裂据的记录.添加数据库记录时,提供两个关键字段,一个是请求的URL,另一个则是本地保存后的文件地址,每次加载敏逗闭数据之前都会根据URL在数据库中检索
2)将JSON数据解析后装入List对象中,然后遍历List,将数据统统写入相应的数据库表结构中,以后每次向服务器发起请求之前可以先在数据库中检索,如果有直接返回.
多媒体文件缓存:主要指图片缓存
图片的缓存可以根据当前日期,时间为名字缓存到SD卡中的指定图片缓存目录,同时数据库中做相应记录,记录办法可以采用两个关键字段控制,一个字段是该图片的URL地址,另一个字段是该图片的本机地址.取图片时根据URL在数据中检索,如果没有则连接服务器下载,下载之后再服务器中作出相应记录
缓存文件删除策略:
1. 每一个模块在每次客户端自动或者用户手动更新的时候删除相应模块的缓存文件,并重新下载新的缓存文件.
2. 在设置界面中提供删除缓存的功能,点击后删除本机所有缓存.
‘贰’ android 下使用Cursor如何获得专辑图片
android下使用cursor获取专辑图片,主要是在数据库里面先保存专辑图片的url地址,当使用cursor游标遍历数据库数据的时候,使用资源操作类进行加载相应的url,如下代码:
Cursor cursor = context.getContentResolver().query(Media.EXTERNAL_CONTENT_URI, columns, null, null, null);
Log.e("cursor" , (cursor==null) + "");
while(cursor.moveToNext()) {
// 查找封面图片
long albumId = cursor.getLong(5);
// 读取专辑图片
String album_uri = "content://media/external/audio/albumart"; // 专辑Uri对应的字符串
Uri albumUri = ContentUris.withAppendedId(Uri.parse(album_uri), albumId);
// 取图片 ==> 得到一个输入流
Bitmap coverPhoto = null ;
try {
InputStream is = context.getContentResolver().openInputStream(albumUri);
if(null != is) {
coverPhoto = BitmapFactory.decodeStream(is);
}
} catch (Exception e) {
e.printStackTrace();
}
data.add(new Audio(cursor.getLong(0), cursor.getString(1) , cursor.getString(2) , cursor.getLong(3) , cursor.getString(4) , albumId , coverPhoto));
}
cursor.close();
‘叁’ android里的图片怎样上传到服务器并返回显示在手机上求具体的代码急用!!!
这个图片存放的位置是根据你的图片来源而定的。一般是放在sdcard下的某个目录下的,我基本看明白你写的需求。我来给你说下思路:服务端(android手机)这边需要写个工具类,来遍历SD卡下的文件,只显示jpg和png的图片。主类中有个按钮来添加图片,还有一个按钮是用来上传图片,然后写个监听,用来接收服务端发回的消息。文件的传输就不用我细说了吧...服务端这边写个监听来接收客户端发来的消息,保存发过来的数据流。至于手机上能显示这张图片,只要在写个imageview,把图片资源加载上就ok啦,你可以去网上搜索一下“sd上的文件上传”,有很多类似的文章和代码,可供学习的,有什么不懂的再问吧^_^
‘肆’ Android 图片选择(ImageSelector) (拍照,裁剪,压缩,查看)
1.遍历sdcard文件夹(指定层次深度 searchDeep ),如果文件夹发现图片 , 添加到已搜索到图片的文件列表中,并跳入下一个文件夹搜索
2.使用 ContentResolver 搜索 添加搜索标签(png,jpg,jpeg,gif 等) 优点:更快速
压缩调用
第一步-->
采样率压缩:设置 BitmapFactory.Options.inSampleSize 大小
第二步-->
PNG:尺寸压缩( Config:ARGB_4444 ,工具: Canvas );
JPG:尺寸压缩( Config:ARGB_565 ,工具: Canvas )+压缩质量( bitmap.compress() )
注 :
1.GIF不做压缩处理
2.尺寸压缩:改变宽高(png,jpg)
3.压缩质量:改变文件大小(适用jpg,png无效)
‘伍’ Android图片批量上传怎么保证上传顺序
我一般都是通过遍历集合的方式来上传图片。而且一般都不会去管这个上传的顺序,只需要服务端按你需要返回数据就可以了
‘陆’ android怎么获取某个文件夹里面的图片并显示出来 初学者,求前辈们教教~~
首选获取文件夹 遍历获取后缀名为。JPG png等的文件 拿到文件地址,然后就可以显示了啊,很难吗?