首页 > 系统 > Android > 正文

Android 实现获取手机里面的所有图片详解及实例

2019-12-12 02:54:30
字体:
来源:转载
供稿:网友

Android 实现获取手机里面的所有图片详解及实例

实现代码:

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();     }   });   } } 

XML:

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

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表