if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) { //Browse Gallery is requested
//Get the path for selected image in Gallery
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
//Access Gallery according to the path
Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
loadImage(picturePath); //load picture according the path
image_View.setImageBitmap(pic); //Show the selected picture
}
private void loadImage(String picturePath) {
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(picturePath,options);
int height_ = options.outHeight;
int width_ = options.outWidth;
float ratio = width_/height_;
int width = 480;
int height = 480;
if(width_>height_){
height = Math.round(width / ratio);
}else{
width = Math.round(width*ratio);
}
options.inSampleSize = calculateInSampleSize(options, width, height);
options.inJustDecodeBounds = false;
pic=BitmapFactory.decodeFile(picturePath,options);
}
File cacheDir = getBaseContext().getCacheDir();
//Form a directory with a file named "pic"
File f = new File(cacheDir, "pic");
try {
//Prepare output stream that write byte to the directory
FileOutputStream out = new FileOutputStream(f);
//Save the picture to the directory
pic.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.flush();
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
那么,有什么区别呢?是不是只是用法不同,却代表相同的目录?
内容URI类似于:
content://media/external/images/media/53
ContentResolver
在这里的作用是根据这个URI获得对映像的访问权,您不需要知道文件名或文件的其他属性,只需要这个URI就可以访问映像。
String Path是存储的映像的物理地址,看起来如下所示:
file:///mnt/sdcard/myimage.jpg
在您提供的示例中,以下是进度:
1-您要求ContentResolver
根据提供的URI给出真实的文件路径
2-根据提供的路径将位图文件加载到pic
对象
我的年级代码是: 请帮我解决这个问题。
我已经为android Studio创建了一个webview应用程序。但没有加载web URL。错误为NET::ERR_ACCESS_DENIED。有谁能帮忙吗
问题内容: 我正在尝试创建一个可以验证人脸的Android应用程序,但是当我尝试在模拟器上运行应用程序(使用Eclipse)时,在logcat中得到以下结果: FaceVerificationApplication.java的代码如下: 我该如何解决此异常?任何建议都会有很大帮助。 问题答案: 嗨,我的问题解决了。我必须将jna-4.2.2.jar添加到我的项目中。我在jna.jar中遇到有关本机
问题内容: 我需要在内部存储中打开包含图像的文件夹。 我使用以下代码。 java 路径 表现 xml / file_paths 错误 致命异常:主要过程:android.apps.bnb.company.myphotos,PID:22482 android.os.FileUriExposedException:file:/// storage / emulated / 0 / Pictures /
问题内容: 我有很多文件的Java项目,正在使用LOG4J。现在,我正在尝试将其移植到Android平台。是否可以通过LOG4J函数调用按原样重用代码? 目前的理解: 属性配置不起作用(依赖于bean) 我尝试使用LOG4J for Android和SL4J Lib。没有成功 加工。但是没用 我想念什么吗?指向任何可行的例子? 问题答案: 通过使用android-logging- log4j.ja
我有一个问题,找出我的源代码中的错误。 有什么办法可以解决它吗? 我的代码中抛出了“ArrayIndexOutOfBoundsException”,但我无法找到它的位置。 android studio中的logcat:
问题内容: 有什么办法可以在android中执行吗? 我一直在网上看到所有内容,但是在android中找不到JSON类。 有什么帮助吗? 问题答案: 是Javascript函数,在Java中不可用。如果您使用的是Android SDK中内置的程序包,则等效的方法是只调用您的实例,或更人性化。 http://developer.android.com/reference/org/json/JSONO
问题内容: 我正在尝试使用新的Android Studio开发和应用,但是我的OnClickListener始终收到重大错误。主要是告诉我它无法解析符号“ setOnClickListener”,也无法解析“ View v” 那是班上的代码 这些是我收到的错误,绝对没有道理。28行开始于 编辑:现在当我按下按钮时,我收到一个强制关闭 这是应该打开的类,仅有的类是唯一的变化是要打开的布局 问题答案: