可以读取手机某个文件夹下的图片资源 然后 使用bitmap来给ImageView的getView() 这样就能读取文件目录下的图片到gallery了

解决方案 »

  1.   

    假设本地图库比较大,图片有几千张,可以用sqlite数据库,用一个表保存全部图片的路径地址。gallery每次只显示50个图片左右,利用sqlite数据库实现类似翻页的功能,每次翻页显示50个图片。
    图片显示用ImageView i = new ImageView(mContext);
    if (imgs[position] != null && !imgs[position].equals("")) {
    BitmapFactory.Options opt = new BitmapFactory.Options();
    opt.inPreferredConfig = Bitmap.Config.RGB_565;
    opt.inPurgeable = true;
    opt.inInputShareable = true;
    File f = new File(imgs[position]);
    if (f.length() < 20480) { // 0-20k
    opt.inSampleSize = 1;
    } else if (f.length() < 51200) { // 20-50k
    opt.inSampleSize = 2;
    } else if (f.length() < 307200) { // 50-300k
    opt.inSampleSize = 4;
    } else if (f.length() < 819200) { // 300-800k
    opt.inSampleSize = 6;
    } else if (f.length() < 1048576) { // 800-1024k
    opt.inSampleSize = 8;
    } else {
    opt.inSampleSize = 10;
    }
    bitmap = BitmapFactory.decodeFile(imgs[position], opt);
    i.setImageBitmap(bitmap);