2011-06-19 13 views
9

जो मैं करने की कोशिश कर रहा हूं उसे उपयोगकर्ता से चुनी गई रिंगटोन मिलती है, जब अलार्म बंद हो जाता है तो उस रिंगटोन को चलाने के लिए अलार्म मैनेजर अलार्म सेट करें। लेकिन मुझे डेटाबेस में रिंगटोन को सहेजने की ज़रूरत है ताकि मैं फोन रीबूट के बाद सभी अलार्म रीसेट कर सकूं।एंड्रॉइड: एंड्रॉइड.net सहेजें। यूआरएल डाटाबेस

मेरा प्रश्न यह है कि बाद में पुनर्प्राप्त करने के लिए रिंगटोन उरी को डेटाबेस में सहेजने का सबसे अच्छा तरीका क्या है?

1) डीबी में रिंगटोन के शीर्षक को सहेजने और उसके बाद इसे पुनः प्राप्त करने और एक डिफ़ॉल्ट रिंगटोन पथ से संलग्न:

मैं निम्नलिखित की कोशिश की। लेकिन मुद्दा यह है कि रिंगटोन को एक अलग स्थान से लोड किया जा सकता है 2) यूरी योजना, स्कीम स्कीफी भाग और टुकड़े को संग्रहित करना और फिर यूरी बनाने के लिए उरी.फ्रॉमपार्ट्स को कॉल करना। 3) उरी से इनपुटस्ट्रीम, बाइट [] सरणी बनाएं और इसे ब्लॉब के रूप में सहेजें और फिर इसे वापस पढ़ें और परिणाम को यूरी

इन कार्यों में से कोई भी नहीं।

आपकी सहायता की बहुत सराहना की जाती है।

उत्तर

14

डेटाबेस में स्ट्रिंग के रूप में यूआरआई स्टोर करें और फिर इसे बाद में लोड करें।

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

जब आप डेटाबेस से स्ट्रिंग को पुनः प्राप्त, इस तरह यूआरआई के पुनर्निर्माण:

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

आशा है कि मदद करता है। सौभाग्य!

+0

आपकी प्रतिक्रिया के लिए धन्यवाद। Uri.decode एक स्ट्रिंग नहीं एक उरी देता है। मैंने uri.parse (ओं) का उपयोग किया और यह उरी लौटा लेकिन यह मूल के समान नहीं है (बहुत सारी जानकारी और फ़ील्ड)। इसलिए मीडियाप्लेयर इसे ठीक से नहीं खेलता है और तैयार में टूट जाता है। – Sammy

+1

स्ट्रिंग प्रारूप में यूरी प्राप्त करने के लिए uri.toString() का उपयोग करने का प्रयास करें –

+1

धन्यवाद ToString काम किया। – Sammy