Android 实现获取手机里面的所有图片详解及实例
作者:lqh 时间:2023-09-13 14:55:14
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"/>
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
来源:http://blog.csdn.net/bi_diu1368/article/details/52425999
标签:Android,手机图片
0
投稿
猜你喜欢
使用JSONObject生成和解析json的方法
2022-06-15 11:13:15
C#计算字符串哈希值(MD5、SHA)的方法小结
2022-07-02 15:47:55
自定义Android注解系列教程之注解变量
2022-10-17 05:42:10
Java经典排序算法之插入排序
2022-08-29 11:08:39
Spring bean的实例化和IOC依赖注入详解
2023-11-23 23:57:15
Unity时间戳的使用方法
2023-11-11 05:19:00
JavaWeb之Filter过滤器详解
2021-06-30 03:40:55
java中unicode和中文相互转换的简单实现
2021-12-18 09:46:17
C#实现系统托盘通知的方法
2023-04-17 08:40:02
C#串口编程System.IO.Ports.SerialPort类
2023-06-07 17:48:28
详解Lombok安装及Spring Boot集成Lombok
2023-11-28 23:39:55
项目为什么引入log4j而不是logback代码
2023-02-02 07:51:07
MyBatis-plus中的模糊查询解读
2022-06-16 08:27:03
Java动态代理静态代理实例分析
2023-11-14 18:06:07
android实现文件读写功能
2022-03-10 16:31:23
Java数据结构及算法实例:冒泡排序 Bubble Sort
2022-10-17 08:39:45
解决C# X64应用程序中读取WParam溢出的问题
2022-01-22 17:41:03
SpringBoot实现二维码扫码登录的原理及项目实践
2022-02-25 22:31:15
java启动jar包将日志打印到文本的简单操作
2021-12-05 10:42:21
java开发线上事故理解RocketMQ异步精髓
2023-07-25 07:41:20