有时候我们需要访问手机本地图片,这里刚好学习了,顺便记录一下:
我们访问手机本地图片无非是两种情况:
1、拿到本地图片
2、拿到本地图片的地址
1、拿到本地图片:
什么都不说,直接上代码: 在布局文件中就只有两个控件一个Button:用于点击,选择图片 ImageView :用于显示图片。
Button点击事件的代码:
//使用intent调用系统提供的相册功能,
//使用startActivityForResult是为了获取用户选择的图片
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType(INTENT_TYPE);
startActivityForResult(intent,REQUESTCODE);
上边可以看到,这些都是固定的写法的,主要多的图片的处理在于返回的 onActivityResult 中。
好的接下来看看在onActivityResult 中如何获得图片 :
onActivityResult的主要代码:
//获得图片
Bitmap bitmap = null;
ContentResolver resolver = getContentResolver();
if(requestCode == REQUESTCODE){
Uri uri = data.getData();
try {
bitmap = MediaStore.Images.Media.getBitmap(resolver,uri);//获得图片
} catch (IOException e) {
e.printStackTrace();
}
}
imageView.setImageBitmap(bitmap); //显示图片
2、上边就是如何获得本地图片的方法:下面是获得图片的路径:
选择图片的方法都是一样的,那么在 onActivityResult 如何获得图片路径呢:
//获得路径
if(requestCode == REQUESTCODE){
Uri uri = data.getData();
//uri = geturi(data);//解决方案