android怎样浏览一个文件夹里的图片呢?要读到drawable里吗,还是可以直接浏览?最好能一部分一部分缓冲着读,希望大家指点一下
解决方案 »
- 为什么有时要写android:,有时又不写呢?
- Android的C++代码里有没有打印函数调用路径的方法?
- 安装sdk出错 java not found in your path
- adt20 建立Android工程的时候报错 No Launcher activity found
- android手机识别商品条码查询商品信息(求:如何查询)
- NullPointerException
- 能否让FrameLayout 里的某个view 设置到popwindow之上?
- 想做一个关于画中画播放的小demo,哪位大侠给个代码啊?
- 关于Android资源读取问题
- Android如何接受服务器的图片呀
- 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
通常有自己的缓存管理机制。