首页 > 解决方案 > 使用 SharedPreferences 从图库中保存图像

问题描述

我是我的ProfileFragment.java

我有一个按钮,允许用户更改他们的个人资料照片和横幅。当用户点击“更改横幅”时,他会被重定向到画廊,在那里他可以选择他想要的照片,然后,一旦选择,照片就会使用毕加索更改

Picasso.with(getContext()).load(imageUri).resize(446, 203).into(imgFotoCapa);)

问题是,这只会在用户不关闭应用程序时持续......一旦用户关闭它,然后再重新打开它,横幅就会恢复为默认值。

如何存储来自图库的 imageUri,以便以后可以检索它,并且每次用户输入ProfileFragment.java照片时都会返回到横幅?

提前致谢!

标签: javaandroid

解决方案


在您的情况下发生的情况是图像没有被保存,一旦片段被破坏,图像数据也会被破坏。

如果您只保存一个 uri 或简单的东西,您可以使用 SharedPreferences(查看答案以将 uri 保存在 SharedPreferences 中)。另一方面,如果您要存储更复杂的内容,我建议您使用数据库。在这里查看 Realm文档,甚至是 Room 持久性。


推荐阅读