如何从画廊(SD卡)为我的应用程序选择图片?

如何从画廊(SD卡)为我的应用程序选择图片?

这个问题最初是针对Android1.6提出的。

我正在我的应用程序中处理照片选项。

我的活动中有一个按钮和一个ImageView。当我单击该按钮时,它将重定向到图片库,并且我将能够选择一个图像。选定的图像将出现在“我的图像视图”中。


繁星淼淼
浏览 460回答 3
3回答

跃然一笑

private&nbsp;static&nbsp;final&nbsp;int&nbsp;SELECT_PHOTO&nbsp;=&nbsp;100;开始意图Intent&nbsp;photoPickerIntent&nbsp;=&nbsp;new&nbsp;Intent(Intent.ACTION_PICK);photoPickerIntent.setType("image/*");startActivityForResult(photoPickerIntent,&nbsp; SELECT_PHOTO);工艺结果@Overrideprotected&nbsp;void&nbsp;onActivityResult(int&nbsp;requestCode,&nbsp;int&nbsp;resultCode,&nbsp;Intent&nbsp;imageReturnedIntent)&nbsp;{&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;super.onActivityResult(requestCode,&nbsp;resultCode,&nbsp;imageReturnedIntent);&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;switch(requestCode)&nbsp;{&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;SELECT_PHOTO: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(resultCode&nbsp;==&nbsp;RESULT_OK){&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Uri&nbsp;selectedImage&nbsp;=&nbsp;imageReturnedIntent.getData(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputStream&nbsp;imageStream&nbsp;=&nbsp;getContentResolver().openInputStream(selectedImage); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bitmap&nbsp;yourSelectedImage&nbsp;=&nbsp;BitmapFactory.decodeStream(imageStream); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;}}或者,您也可以降低图像样本以避免OutOfMemory错误。private&nbsp;Bitmap&nbsp;decodeUri(Uri&nbsp;selectedImage)&nbsp;throws&nbsp;FileNotFoundException&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Decode&nbsp;image&nbsp;size &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BitmapFactory.Options&nbsp;o&nbsp;=&nbsp;new&nbsp;BitmapFactory.Options(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o.inJustDecodeBounds&nbsp;=&nbsp;true; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BitmapFactory.decodeStream(getContentResolver().openInputStream(selectedImage),&nbsp;null,&nbsp;o); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;The&nbsp;new&nbsp;size&nbsp;we&nbsp;want&nbsp;to&nbsp;scale&nbsp;to &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;final&nbsp;int&nbsp;REQUIRED_SIZE&nbsp;=&nbsp;140; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Find&nbsp;the&nbsp;correct&nbsp;scale&nbsp;value.&nbsp;It&nbsp;should&nbsp;be&nbsp;the&nbsp;power&nbsp;of&nbsp;2. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;width_tmp&nbsp;=&nbsp;o.outWidth,&nbsp;height_tmp&nbsp;=&nbsp;o.outHeight; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;scale&nbsp;=&nbsp;1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(true)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(width_tmp&nbsp;/&nbsp;2&nbsp;<&nbsp;REQUIRED_SIZE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||&nbsp;height_tmp&nbsp;/&nbsp;2&nbsp;<&nbsp;REQUIRED_SIZE)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width_tmp&nbsp;/=&nbsp;2; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height_tmp&nbsp;/=&nbsp;2; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scale&nbsp;*=&nbsp;2; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Decode&nbsp;with&nbsp;inSampleSize &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BitmapFactory.Options&nbsp;o2&nbsp;=&nbsp;new&nbsp;BitmapFactory.Options(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o2.inSampleSize&nbsp;=&nbsp;scale; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;BitmapFactory.decodeStream(getContentResolver().openInputStream(selectedImage),&nbsp;null,&nbsp;o2); &nbsp;&nbsp;&nbsp;&nbsp;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android
Java