【发布时间】:2018-09-16 09:42:45
【问题描述】:
我正在构建一个调用相机、拍照并将照片保存在内部存储目录中的应用程序。到目前为止,我已经完成了那部分,并且我已经创建了我的图像文件路径。我有几张从相机拍摄的图像,并保存在该文件目录中, 我的问题是我想在一个新的 Activity 类 Image Holder 中显示这些图像。 我该怎么做?
【问题讨论】:
标签: java android android-layout listview
我正在构建一个调用相机、拍照并将照片保存在内部存储目录中的应用程序。到目前为止,我已经完成了那部分,并且我已经创建了我的图像文件路径。我有几张从相机拍摄的图像,并保存在该文件目录中, 我的问题是我想在一个新的 Activity 类 Image Holder 中显示这些图像。 我该怎么做?
【问题讨论】:
标签: java android android-layout listview
通过单击或用于启动新 Activity 的任何事件侦听器将具有所选图像名称的文件路径作为意图发送到新 Activity。然后,从初始活动中检索带有文件路径和在意图中发送的图像名称的图像。 请在清单文件中添加“android.permission.READ_EXTERNAL_STORAGE”。
public static void downloadImage(String fileName, ImageView image, Context context){
File downloadFolder = Environment.getExternalStorageDirectory();
File dir = new File(downloadFolder+ "/PopularMovie/");
Uri downloadPath = Uri.fromFile(new File(dir, "/" + fileName + ".png/"));
if (downloadPath.toString() != null){
Picasso.with(context).load(downloadPath).placeholder(R.drawable.placeholder_image).into(image);
} else {
Toast.makeText(context, "There is no image of this name saved",
Toast.LENGTH_LONG).show();
}
}
请注意,我使用了 Picasso 库,您的应用程序可能没有使用 Picasso。您可以修改代码以适合您的情况。另外,我将图像加载到 ImageView 中。
既然你说你知道你的文件路径和文件名,你可能不需要写上面的代码,只需像下面这样调用 Picasso;
if (downloadPath.toString() != null){
Picasso.with(context).load(downloadPath).placeholder(R.drawable.placeholder_image).into(image);
}
【讨论】:
将您的图像保存在特定路径中,然后从 Next 活动中调用具有相同路径和已保存图像名称的图像。 看看下面的链接
可能会对你有所帮助。
https://stackoverflow.com/a/7266616/8311908
http://www.zoftino.com/android-capture-image-from-camera-and-save
https://stackoverflow.com/a/4182060/8311908
https://www.androidbegin.com/tutorial/android-display-images-from-sd-card-tutorial/
【讨论】: