Android:将 android.net.Uri 对象保存到数据库

2022-09-02 23:35:29

我试图做的是从用户那里获取选定的铃声,设置一个AlarmManager闹钟,以便在闹钟熄灭时播放该铃声,但我需要将铃声保存在数据库中,以便我可以在手机重新启动后重置所有闹钟。

我的问题是,将铃声Uri保存到数据库以便以后检索的最佳方法是什么?

我尝试了以下方法:

1)将铃声标题保存在数据库中,然后检索它并将其附加到默认铃声路径。但问题是,铃声可能从不同的位置加载2)存储uri方案,方案spefici部分和片段,然后调用Uri.fromParts来创建Uri。3) 从 Uri 创建一个 inputStream, byte[] 数组,并将其另存为 blob,然后将其读回并将结果转换为 Uri

这些都没有作品。

非常感谢您的帮助。


答案 1

将 URI 作为字符串存储在数据库中,然后稍后加载它。

// This will get the uri in a string format
String s = mUri.toString();

从数据库中检索字符串时,请重建 URI,如下所示:

// This will decode the string into a URI
Uri mUri = Uri.parse(s);

希望有所帮助。祝你好运!


答案 2

推荐