Android实现获取手机里面的所有图片

原创 2016年09月03日 22:52:21
public class MainActivity extends Activity {
//查看图片按钮
    private Button look;
    private Button add;
//显示图片名称的list
    ListView show_list;
    ArrayList names = null;
    ArrayList descs= null;
    ArrayList fileNames = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        look = (Button) findViewById(R.id.look);
        add = (Button) findViewById(R.id.add);
        show_list = (ListView) findViewById(R.id.show_list);
        look.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                names = new ArrayList();
                descs = new ArrayList();
                fileNames = new ArrayList();
                Cursor cursor = getContentResolver().query(
                        MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null, null, null);
                while (cursor.moveToNext()) {
                    //获取图片的名称
                    String name = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DISPLAY_NAME));
                    //获取图片的生成日期
                    byte[] data = cursor.getBlob(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
                    //获取图片的详细信息
                    String desc = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DESCRIPTION));
                    names.add(name);
                    descs.add(desc);
                    fileNames.add(new String(data, 0, data.length - 1));
                }
                List<Map<String, Object>> listItems = new ArrayList<>();
                for (int i = 0; i < names.size(); i++) {
                    Map<String, Object> map = new HashMap<>();
                    map.put("name", names.get(i));
                    map.put("desc", descs.get(i));
                    listItems.add(map);
                }
                //设置adapter
                SimpleAdapter adapter = new SimpleAdapter(MainActivity.this, listItems,
                        R.layout.line, new String[]{"name", "desc"}, new int[]{R.id.name, R.id.desc});

                show_list.setAdapter(adapter);
            }
        });

        ///list的点击事件
    show_list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
            View viewDiag = getLayoutInflater().inflate(R.layout.view,null);
            ImageView image = (ImageView)viewDiag.findViewById(R.id.image);
            image.setImageBitmap(BitmapFactory.decodeFile((String) fileNames.get(i)));
            new AlertDialog.Builder(MainActivity.this).setView(viewDiag)
                    .setPositiveButton("确定",null).show();
        }
    });
    }
}


<!--获取手机存储卡权限-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>


版权声明:本文为博主原创文章,未经博主允许不得转载。

Android 获取手机中所有图片

我们在做类似相册的功能时,需要获取手机中图片,这又是一个非常耗时的操作,不能在主线程中执行,所以需要另开一线程进行,直接上代码: new Thread(new Runnable() { ...
  • chenkai19920410
  • chenkai19920410
  • 2015年10月21日 20:53
  • 874

Android-获取手机上所有图片

核心代码: Cursor cursor = getContentResolver().query( MediaStore.Images.Media.EXTERNAL_...
  • sinat_31057219
  • sinat_31057219
  • 2017年05月05日 16:07
  • 672

Android 使用ContentProvider扫描手机中的图片,仿微信显示本地图片效果

写这篇文章之前,先简单说几句,首先是先恭喜下自己获得了2013年的博客之星称号,很意外也很开心,自己是从2013年开始写博客,那时候也不知道怎么写,我从小就不喜欢写日记,作文什么的,所以刚开始都是贴代...
  • xiaanming
  • xiaanming
  • 2014年01月24日 16:35
  • 64352

获取android sd卡中某个文件夹下的所有图片

由于项目需要
  • wei18359100306
  • wei18359100306
  • 2014年11月06日 11:58
  • 10886

android 获取本地全部图片列表的实现及源码下载(一)

我的前面几个博文中已经介绍过了如何获取本地图片和Bitmap、软引用、弱引用的使用方法。在这两个博文当中针对一个完整的Demo示例给大家讲解获取本地图片的非常有效、也是安卓官方推荐的方法。**源代码在...
  • u010156024
  • u010156024
  • 2015年03月07日 21:39
  • 5803

Android获取本地图片缩略图终极解决方案

QAQ学Android真的还是要在项目中获得锻炼,脱离实际一切都是耍流氓哼唧~! 花了一下午时间搞定了项目中要实现的获取本地图片缩略图并显示在ListView上的,并且点击要能获得该图片文件路径功能,...
  • qq_22770457
  • qq_22770457
  • 2016年05月24日 20:43
  • 13889

Android获取手机所有图片并显示

  • 2014年10月19日 21:10
  • 2.08MB
  • 下载

最完整的获取android手机图片并显示到控件的解决方案

手机上的本地图片资源分为两种,一种是从本地相册获取,一种是从本地相机拍照获取。 1、获取图片很简单,调用系统提供的Intent对象,启动本地相册和照相机功能。 代码如下: //开始拍照 pr...
  • qq_33275597
  • qq_33275597
  • 2016年10月21日 10:53
  • 1338

从android相册获取所有图片的路径

在做从系统选择图片并获取到它们的路径时发现有些图片的uri.getScheme是“file”,有些图片的uri.getScheme是“content” 所有导致用uri.getPath并不能获取所有图...
  • GeiZuoZuoZuo
  • GeiZuoZuoZuo
  • 2015年08月14日 12:09
  • 1551

Android中读取系统图库(包含相册)中的图片,显示图片与图片的路径

最近有一个需求,是类似于手机相机的功能,拍照,多次拍照(调用系统相机只能进行一次拍照),拍照页面显示一个拍照后的缩略图,点击缩略图后进行拍过的照片的筛选(有单选和多选的问题),以及后续操作(设计相关业...
  • ABC__D
  • ABC__D
  • 2016年06月30日 15:48
  • 17192
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android实现获取手机里面的所有图片
举报原因:
原因补充:

(最多只允许输入30个字)