欢迎来到山村网

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

2019-03-09 12:23:18浏览:160 来源:山村网   
核心摘要:Android 实现获取手机里面的所有图片详解及实例实现代码:public class MainActivity extends Activity { //查看图片按钮 privat

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"/>
(责任编辑:豆豆)
下一篇:

我的e家无线路由器怎么设置

上一篇:

200M宽带测速只有100M怎么办

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com