点击进入相册 选择照片并 获取返回值 显示图片
2016-09-14 23:03
399 查看
在 最新开源作品 大开Note
地址:https://github.com/mhgd3250905/DaKaiNote
中有需要点击进入相册 然后对图片进行选择 然后显示在布局中 ,代码如下:
// 激活系统图库,选择一张图片
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
// 开启一个带有返回值的Activity,请求码为PHOTO_REQUEST_GALLERY
startActivityForResult(intent, PHOTO_REQUEST_GALLERY);
在Activity中获取返回值
if (resultCode == RESULT_OK){
switch (requestCode){
case PHOTO_REQUEST_GALLERY:
if (data!=null){
fl_note_iamge.setVisibility(View.VISIBLE);
//设置图片存在
isImageExist = true;
Uri uriImageFromGallery = data.getData();
LogUtils.Log(CameraImageUtils.getAbsoluteImagePath(ArcNewNoteActivity.this,
uriImageFromGallery));
ImageCache imageCacheGallery = new ImageCache();
imageCacheGallery.setNoteKey(noteKey);
imageCacheGallery.setImagePath(CameraImageUtils.getAbsoluteImagePath(ArcNewNoteActivity.this,
uriImageFromGallery));
imageCacheGallery.save();
//获取当前fragment
mImageNewNoteFragment.insertImage(noteKey);
}
break;
}
}
这里通过一个方法 来通过图片Uri来获取图片的绝对路径
这个方法如下:
/**
* 通过uri获取文件的绝对路径
*
* @param uri
* @return
*/
private String getAbsoluteImagePath(Uri uri) {
String imagePath = "";
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = MainActivity.this.managedQuery(uri, proj, // Which
null, // WHERE clause; which rows to return (all rows)
null, // WHERE clause selection arguments (none)
null); // Order-by clause (ascending by name)
if (cursor != null) {
int column_index = cursor
.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
if (cursor.getCount() > 0 && cursor.moveToFirst()) {
imagePath = cursor.getString(column_index);
}
}
return imagePath;
}
地址:https://github.com/mhgd3250905/DaKaiNote
中有需要点击进入相册 然后对图片进行选择 然后显示在布局中 ,代码如下:
// 激活系统图库,选择一张图片
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
// 开启一个带有返回值的Activity,请求码为PHOTO_REQUEST_GALLERY
startActivityForResult(intent, PHOTO_REQUEST_GALLERY);
在Activity中获取返回值
if (resultCode == RESULT_OK){
switch (requestCode){
case PHOTO_REQUEST_GALLERY:
if (data!=null){
fl_note_iamge.setVisibility(View.VISIBLE);
//设置图片存在
isImageExist = true;
Uri uriImageFromGallery = data.getData();
LogUtils.Log(CameraImageUtils.getAbsoluteImagePath(ArcNewNoteActivity.this,
uriImageFromGallery));
ImageCache imageCacheGallery = new ImageCache();
imageCacheGallery.setNoteKey(noteKey);
imageCacheGallery.setImagePath(CameraImageUtils.getAbsoluteImagePath(ArcNewNoteActivity.this,
uriImageFromGallery));
imageCacheGallery.save();
//获取当前fragment
mImageNewNoteFragment.insertImage(noteKey);
}
break;
}
}
这里通过一个方法 来通过图片Uri来获取图片的绝对路径
这个方法如下:
/**
* 通过uri获取文件的绝对路径
*
* @param uri
* @return
*/
private String getAbsoluteImagePath(Uri uri) {
String imagePath = "";
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = MainActivity.this.managedQuery(uri, proj, // Which
null, // WHERE clause; which rows to return (all rows)
null, // WHERE clause selection arguments (none)
null); // Order-by clause (ascending by name)
if (cursor != null) {
int column_index = cursor
.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
if (cursor.getCount() > 0 && cursor.moveToFirst()) {
imagePath = cursor.getString(column_index);
}
}
return imagePath;
}
相关文章推荐
- 一款用于在Android设备上获取照片(拍照或从相册、文件中选择)、裁剪图片、压缩图片的开源工具库
- Android 相册选择照片或拍照获取图片系统6.0及7.0实现
- android 点击一个按钮,选择一张图片,获取路径,然后显示在屏幕
- Android 多媒体应用:从相册选择照片显示(解决相册中图片显示不出来的问题)
- Android-->拍照/相册选择照片(从Uri中获取图片路径)
- 关于IOS某图片添加控件,图片从相册或拍照保存后,再次进入时点击放大图无法显示的问题
- 选择相册照片并且显示(拿到返回的图片地址)
- TakePhoto是一款用于在Android设备上获取照片(拍照或从相册、文件中选择)、裁剪图片、压缩图片的开源工具库,目前最新版本3.0.0。
- Linux + Qt 程序启动画面(先显示图片后载入动画)点击进入主程序
- 从 相机 或者相册 获取图片显示在ImageView 上
- 选择相册中的图片,并获取图片的path 解决codova 华为P6选取相册的问题(试过很多,用此方案解决)
- Android获取图片资源之——拍照后在程序中显示照片
- 获取sd卡中的图片URL并显示,同时使用ImageView把选择的图片展现出来
- Android开发之获取相册照片和获取拍照照片三之 图片旋转
- 从相机或者相册,获取图片显示在ImageView上
- 选择相册、拍照,图片过大导致控件无法显示图片
- 我的Android心得(6)--从相册中选择图片显示出来
- Android相机、相册获取图片显示并保存到SD卡
- IOS 获取本机相册图片,并显示在UIImageView上
- Android获取图片资源之——拍照后在程序中显示照片