Android: Save android.net.Uri object to Database
What i m trying to do is get the selected ringtone from the user, set an AlarmManager alarm to play that ringtone when the alarm goes Off. but I need to save the ringtone in the database so I can reset all the alarms after phone reboot.
my question is what is the best way to save the ringtone Uri to the database to retrieve later?
I tried the followings:
1) save the ringtone title in the DB and then retrieve it and append it to a default ringtone path. but the issue, is that the ringtone might be loaded from a different location 2) Storing the uri scheme, scheme spefici part and fragment and then call Uri.fromParts to create the Uri. 3) create an inputStr开发者_Go百科eam, byte[] array from the Uri and saving it as a blob and then reading it back and cast the result to Uri
none of these works.
Your help is much appreciated.
Store the URI as a string in the database and then load it later.
// This will get the uri in a string format
String s = mUri.toString();
When you retrieve the string from the database, rebuild the URI like this:
// This will decode the string into a URI
Uri mUri = Uri.parse(s);
Hope that helps. Good luck!
精彩评论