मैं सोच रहा था कि कोई मुझे एंड्रॉइड कर्सर का संक्षिप्त अवलोकन दे सकता है। विशिष्ट प्रश्न के एक जोड़े:SQLite डेटाबेस और कर्सर
1 - मैं एक तरीका है जिसके एक डेटाबेस क्वेरी के बाद एक कर्सर देता है:
public static Cursor getVehicles()
{
SQLiteDatabase db = vehicleData.getReadableDatabase();
Cursor cursor = db.query(TABLE_NAME, GET_VEHICLES_FROM_CLAUSE, null, null, null, null, ORDER_BY);
return cursor;
}
आदेश गृह व्यवस्था करने के लिए, मैंने कोशिश की db.close() सिर्फ वापसी कथन से पहले । हालांकि, इसने कर्सर को कोई पंक्ति नहीं होने का कारण बना दिया। ऐसा क्यों है?
2 - कर्सर को बंद करने और डेटाबेस को बंद करने के बीच क्या अंतर है?
3 - क्या मुझे स्थानीय कर्सर होने पर कर्सर पर बंद करने की आवश्यकता है, या क्या मैं इसे कचरा कलेक्टर को साफ करने के लिए छोड़ सकता हूं?
4 - मेरा डेटाबेस छोटा है और केवल मेरे आवेदन द्वारा उपयोग किया जाता है - क्या मैं इसे अभी खोल सकता हूं?
धन्यवाद अलीबी। 4 के संबंध में - क्या ऐप खत्म होने पर पता लगाने का कोई तरीका है? – barry
आपकी गतिविधियां समाप्त होने पर बस डीबी बंद करें। आप इसके लिए ऑनस्ट्राय विधि का उपयोग कर सकते हैं। http://www.outofwhatbox.com/blog/2010/12/android-closing-those-database-objects/ – alibi
यह होना चाहिए() - दस्तावेज कहता है कि हम ऑनस्ट्राय() पर भरोसा नहीं कर सकते हैं। – barry