2010-09-16 5 views
6

मैं वेब-सेवा क्वेरी से कैशिंग परिणामों के लिए ContentProvider का उपयोग कर रहा हूं। यह एक HTTP अनुरोध है और प्रतिक्रिया सामग्री एक्सएमएल है। अधिकांश डेटा कैश किया जाता है, इसलिए मैं बस डीबी से पूछता हूं, अगर नहीं मिला, webservice से अनुरोध, डीबी में डालें और डीबी की आवश्यकता है। इस प्रकार प्रतिक्रिया हमेशा SQLiteDatabaseHelper से एक कर्सर है।क्या कोई डीबी या टेबल मौजूद नहीं है, तो एंड्रॉइड में sqlite3 कर्सर को नकल करना संभव है?

मेरे पास एक परिणाम सेट है जो डीबी में संग्रहीत नहीं है और चूंकि यह 100% क्षणिक है, लेकिन मैं इसे डीबी के कर्सर से आने की उपस्थिति प्रदान करना चाहता हूं। क्या इसे करने का कोई आसान तरीका है? उदाहरण के लिए, यदि मैं इसे कर्सर पर कर्सर पर प्रोजेक्ट कर सकता हूं .setValue ("स्ट्रिंग", ऑब्जेक्ट वैल्यू) या कुछ अन्य मौजूदा कार्यान्वयन।

यदि नहीं, तो मैं या तो इस सामग्री के परिणाम के लिए डीबी को बाईपास कर दूंगा, या इसे एक छोटी सी तालिका में रखूंगा जो लगातार पुन: उपयोग किया जाता है।

+0

कुछ भी नकली करने के लिए यह छोटा है। "आप खुद को एक कर्सर कहते हैं? मेरी दादी उससे बेहतर कर्सर है!" : MatrixCursor को इंगित करने के लिए डी –

उत्तर

10

इस पर निर्भर करते हुए कि आप इसका उपयोग कैसे करते हैं, यह आपके स्वयं के कर्सर वर्ग को लिखना बहुत कठिन नहीं हो सकता है। सुविधा के लिए, अपनी कक्षा को सार कर्सर कक्षा से प्राप्त करें जो आपके लिए बहुत सारे विवरणों का ख्याल रखता है।

आप MatrixCursor का उपयोग करने में भी सक्षम हो सकते हैं।

+0

+1। – bhups

+0

अपना खुद का सबक्लास बनाने से पहले, मैं मैट्रिक्स कर्सर का प्रयास करूंगा - यह अप्रत्यक्ष उप-वर्गों में से एक है जिसे मैंने कोशिश नहीं की थी। – mobibob

+0

मैट्रिक्स कर्सर बिल्कुल वैसा ही था जिसे मैं ढूंढ रहा था। कार्यान्वयन कोड की आधा दर्जन रेखाएं थीं। मैंने एक कर्सर इंटरफेस्ड ऑब्जेक्ट लिखा था और यह एक ही समय के उपयोग के लिए काम की दुखी मात्रा और विधियों के बहुत सारे डिबगिंग था। मैं भविष्य में उप-वर्गीकरण की समीक्षा करूंगा जब मुझे लगता है कि मैं कई परियोजनाओं (या अन्य डेवलपर्स के साथ) में पुन: उपयोग करूंगा। – mobibob

संबंधित मुद्दे