मैं कर्सर से ListView तक डेटा प्रदर्शित करने के लिए बहिष्कृत SimpleCursorAdapter का उपयोग कर रहा हूं। मैंने अतिरिक्त तर्क 0
जोड़ा है, जो ड्रेप्रिकेटेड चेतावनी को हटा देता है, लेकिन मैं डेटा प्रदर्शित करने के लिए एक बेहतर तरीका उपयोग करना चाहता हूं। मैंने Loader
के बारे में कुछ पढ़ा है, लेकिन यह नहीं पता कि इसे कैसे कार्यान्वित किया जाए। नीचे दिए गए कोड का बेहतर विकल्प क्या होगा? लोडर का उपयोग करने के लिए इस कोड का अनुवाद कैसे किया जाएगा?SimpleCursorAdapter वैकल्पिक
Cursor c = mDbHelper.getAllRecords();
startManagingCursor(c); //this is also deprecated
String[] from = new String[] { "Name" };
int[] to = new int[] { R.id.text1 };
SimpleCursorAdapter names =
new SimpleCursorAdapter(this, R.layout.names_row, c, from, to, 0);
setListAdapter(names);
"लेकिन मैं डेटा प्रदर्शित करने के लिए एक बेहतर तरीका उपयोग करना चाहता हूं।" एक लोडर केवल आपके डेटाबेस से डेटा को किसी अन्य थ्रेड पर पढ़ता है, यह डेटा प्रदर्शित होने के तरीके को नहीं बदलता है। इसे प्रदर्शित करने के तरीके को बदलने के लिए आपको 'names_row.xml' को बदलना चाहिए। – Sam
प्रश्न संपादित किया गया। – domen
लोडर पर स्विचिंग केवल एंड्रॉइड कक्षाओं का उपयोग करके एक मामूली मामला नहीं है। आपको पहले सामग्री प्रदाता बनाने की आवश्यकता है और फिर लोडर ढांचे को लागू करना होगा। हालांकि [CommonsWare] (http://stackoverflow.com/u/115145/) ने लिखा है [एक लोडर लाइब्रेरी] (https://github.com/commonsguy/cwac-loaderex) जिसमें ContentProviders की आवश्यकता नहीं है। यहां [एक ट्यूटोरियल] है (http://www.grokkingandroid.com/using-loaders-in-android/) जिसमें दोनों दृष्टिकोण शामिल हैं। – Sam