Java 在ImageView中显示从数据库下载的图像
我正在开发一个Android应用程序,允许用户向数据库上传/下载图像(由Amazon AWS提供支持)我面临的问题是,我可以成功地将文件下载到目录中Java 在ImageView中显示从数据库下载的图像,java,android,amazon-web-services,Java,Android,Amazon Web Services,我正在开发一个Android应用程序,允许用户向数据库上传/下载图像(由Amazon AWS提供支持)我面临的问题是,我可以成功地将文件下载到目录中 /storage/emulated/0/data/myfile.jpg 但我无法将它们显示为新的图像视图。 下面是我处理显示方法的方法。请注意,RefreshFeedTask.downloadedFiles是位图列表,如下所示: do { objectListing = s3Client.listObjects(listObje
/storage/emulated/0/data/myfile.jpg
但我无法将它们显示为新的图像视图。
下面是我处理显示方法的方法。请注意,RefreshFeedTask.downloadedFiles是位图列表,如下所示:
do {
objectListing = s3Client.listObjects(listObjectsRequest);
for (S3ObjectSummary objectSummary :
objectListing.getObjectSummaries()) {
keys.add(objectSummary.getKey());
}
listObjectsRequest.setMarker(objectListing.getNextMarker());
} while (objectListing.isTruncated());
Iterator<String> o = keys.iterator();
while(o.hasNext())
{
String n = o.next();
File file = new File(Environment.getExternalStorageDirectory()+"/data/", n);
if(!file.exists())
{
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
TransferObserver observer = transferUtility.download(
existingBucketName,
n,
file);
Bitmap m = BitmapFactory.decodeFile(file.getAbsolutePath());
非常感谢您的帮助,因为我对Android开发有些陌生,但不是Java开发。这里的一个问题是所有权 建议:您刚刚下载到该位置的文件,您的应用程序可能不拥有该位置。如果这是一个封闭的生态系统,您是该文件的唯一用户和所有者,那么您可能应该在运行应用程序时创建一个特定于应用程序的目录 在SD卡中显示您不拥有的内容的最佳方式是使用Android中的MediaStore API来访问它们。您需要一个正确路径的URI,通常不建议只执行绝对路径,尤其是对于图像资产 下面是一个很好的例子:
这里的一个问题是所有权 建议:您刚刚下载到该位置的文件,您的应用程序可能不拥有该位置。如果这是一个封闭的生态系统,您是该文件的唯一用户和所有者,那么您可能应该在运行应用程序时创建一个特定于应用程序的目录 在SD卡中显示您不拥有的内容的最佳方式是使用Android中的MediaStore API来访问它们。您需要一个正确路径的URI,通常不建议只执行绝对路径,尤其是对于图像资产 下面是一个很好的例子:
看起来您没有将新的
图像视图添加到任何视图中,请尝试将新的图像视图添加到任何容器中以显示它
parentLayout.addView(theNewImageView);
另一个提示:如果您想更高效地显示许多图像,可以尝试。看起来您没有将新的ImageView
添加到任何视图中,请尝试将新的ImageView
添加到任何容器中以显示它
parentLayout.addView(theNewImageView);
另一个提示:如果您想更高效地显示许多图像,可以尝试一下。谢谢!c:谢谢!修正了c: