Android存储和加载来自图库

时间:2016-05-13 11:48:38

标签: android uri

我目前正在允许我的用户从图库中选择一个图像,然后将其加载到ImageView中。然后我在我的sharedPreferences中存储图像的URI,以便以后能够再次加载它。

它不会工作,而且我注意到图片的URI不知何故发生了变化。

我想知道如何简单地存储我从图库中获取的图像,以便以后能够重新加载。

2 个答案:

答案 0 :(得分:2)

  

然后我在我的sharedPreferences中存储图像的URI,以便以后能够再次加载它。

那不行。 Uri不仅可能有所不同,而且如果Uri具有content方案,则在您的流程结束后,您将失去使用Uri标识的内容的权利。此外,用户可能会删除图像。

  

我想知道如何简单地存储我从图库中获取的图像,以便以后能够重新加载。

使用Java I / O将图像副本复制到您控制的文件(例如,在internal storage上),然后使用该副本。调整您的用户界面以反映这一点(例如,使用"导入"而不是"链接"等动词。)

根据您Uri的具体情况,您可以致电takePersistableUriPermission()以尝试获取内容的长期权利,在这种情况下,Uri也应该是稳定(假设用户没有移动或删除有问题的内容)。

答案 1 :(得分:0)

最好将图像路径存储在共享首选项中,然后重新加载