Android实现获取手机里面的所有图片
2017-07-03 18:07
513 查看
Android实现获取手机里面的所有图片
标签: android获取手机图片ContentProviderContentResolverMedialistview2016-09-03 22:52 2469人阅读 评论(0) 收藏 举报
分类:
android(15)
版权声明:本文为博主原创文章,未经博主允许不得转载。
[java] view
plain copy
public class MainActivity extends Activity {
[java] view
plain copy
//查看图片按钮
private Button look;
private Button add;
[java] view
plain copy
//显示图片名称的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 实现获取手机里面的所有图片详解及实例
- Android实现获取手机里面的所有图片
- Android-获取手机上所有图片
- Android实现获取本机中所有图片
- 获取Android手机中所有短信的实现代码
- Android使用加载器(Loader)实现获取本机中所有图片
- 实现获取本机所有图片 - Android - Loader
- Android 获取手机中所有图片
- Android实现获取本机中所有图片
- Android实现获取本机中所有图片
- Android中获取网络图片的方法(如果手机缓存里面有就从缓存获取)
- Android实现获取本机中所有图片(Loader,CursorLoader,LoaderManager,SimpleCursorAdapter的简单应用)
- Android实现获取本机中所有图片
- Android实现获取本机中所有图片
- Android实现获取本机中所有图片
- android获取手机所有图片
- android 获取手机中的所有图片或某一目录下的图片
- Android中获取网络图片的方法(如果手机缓存里面有就从缓存获取)
- 获取android手机内所有图片
- 获取Android手机中所有短信的实现代码