android怎样浏览一个文件夹里的图片呢?要读到drawable里吗,还是可以直接浏览?最好能一部分一部分缓冲着读,希望大家指点一下
解决方案 »
- listview想单独更新一行的某一个textview的文字,应该怎么实现?
- 绝对定位下ImageView重绘Bitmap的问题
- 有一张android流量统计图,求分析
- 【源码分享】Android 画图 Drawable
- 怎么实现 android 安卓实现应用外截图功能
- 问个简单问题 button对齐的问题
- android app 与 flash通信的问题。
- Android更新数据库不成功,求解!!!
- Android项目现场直播
- 关于Failed to find Build Tools revision 28.0.2
- Android EditText与背景色变成一致
- android 编译 问题(AlljonObj)
/**
* Method name: showPapers<BR>
* Method description: 异步加载墙纸<BR>
*
* @param adapter
* @param wallpaper
*/
private void showPapers(WallPaperAdapter adapter,ArrayList<PathName> list, String wallpaper){
ImageLoadTask task = new ImageLoadTask(list, adapter, 5);
task.execute(wallpaper);
}package com.jftt.smart.activity.task;import java.util.ArrayList;import com.jftt.smart.activity.adapter.WallPaperAdapter;
import com.jftt.smart.pojo.PathName;
import com.jftt.smart.util.SceneUtil;import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.util.Log;public class ImageLoadTask extends AsyncTask<String, PathName, Void>{
private static final String TAG = ImageLoadTask.class.getSimpleName();
private WallPaperAdapter adapter;
private ArrayList<PathName> list;
private int index;
public ImageLoadTask(ArrayList<PathName> list, WallPaperAdapter adapter, int index){
Log.i(TAG, "ImageLoadTask()");
this.list = list;
this.adapter = adapter;
this.index = index;
}
@Override
protected void onPreExecute() {
Log.i(TAG, "onPreExecute()");
}
@Override
protected Void doInBackground(String... papers) {
Log.i(TAG, "doInBackground()");
String selectedpaper = papers[0];
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 16;
for(int i = index; i< list.size(); i++){
PathName bean = list.get(i);
bean.image = SceneUtil.decodeBitmap(bean.path, options);
if(selectedpaper!=null && selectedpaper.equals(bean.path)){
bean.checked = true;
}
publishProgress(bean);
}
return null;
}
@Override
public void onProgressUpdate(PathName... beans) {
Log.i(TAG, "onProgressUpdate()");
if(isCancelled()) {
return;
}
PathName bean = beans[0];
adapter.add(bean);
adapter.notifyDataSetChanged();
}
@Override
protected void onPostExecute(Void result) {
Log.i(TAG, "onPostExecute()");
}
}
不要decode
先取thumbnail
通常有自己的缓存管理机制。