我目前正在允许我的用户从图库中选择一个图像,然后将其加载到ImageView中。然后我在我的sharedPreferences中存储图像的URI,以便以后能够再次加载它。
它不会工作,而且我注意到图片的URI不知何故发生了变化。
我想知道如何简单地存储我从图库中获取的图像,以便以后能够重新加载。
答案 0 :(得分:2)
然后我在我的sharedPreferences中存储图像的URI,以便以后能够再次加载它。
那不行。 Uri
不仅可能有所不同,而且如果Uri
具有content
方案,则在您的流程结束后,您将失去使用Uri
标识的内容的权利。此外,用户可能会删除图像。
我想知道如何简单地存储我从图库中获取的图像,以便以后能够重新加载。
使用Java I / O将图像副本复制到您控制的文件(例如,在internal storage上),然后使用该副本。调整您的用户界面以反映这一点(例如,使用"导入"而不是"链接"等动词。)
根据您Uri
的具体情况,您可以致电takePersistableUriPermission()
以尝试获取内容的长期权利,在这种情况下,Uri
也应该是稳定(假设用户没有移动或删除有问题的内容)。
答案 1 :(得分:0)
最好将图像路径存储在共享首选项中,然后重新加载