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

时间:2011-06-19 18:20:55

标签: java android uri alarmmanager

我要做的是从用户处获取所选铃声,设置AlarmManager闹钟以在闹钟关闭时播放该铃声。但我需要将铃声保存在数据库中,这样我可以在手机重启后重置所有闹钟。

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

我尝试了以下内容:

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

这些都不起作用。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:20)

将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);

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