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

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

我的问题是什么是最好的方式来保存铃声Uri到数据库以后检索?

我尝试了以下几点:

1)将铃声标题保存在数据库中,然后检索并附加到默认的铃声path。 但问题是,铃声可能是从不同的位置加载2)存储urischeme,schemespefici部分和片段,然后调用Uri.fromParts创buildUri。 3)从Uri创build一个inputStream,byte []数组,然后将其保存为一个blob,然后将其读回并将结果投射到Uri

这些都不起作用。

非常感谢您的帮助。

Solutions Collecting From Web of "Android:将android.net.Uri对象保存到数据库"

将URI作为string存储在数据库中,然后再加载。

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

当你从数据库中检索string时,重build这样的URI:

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

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