जवाबों:
मान लें कि आप अपने एंड्रॉइड ऐप में एक सूची प्रदर्शित करना चाहते हैं। इसके लिए आप ListViewएंड्रायड द्वारा दिए गए का उपयोग करेंगे ।
ListViewवास्तव में कोई डेटा स्वयं नहीं है। यह डेटा के बिना सिर्फ एक यूआई तत्व है। आप अपने को आबाद कर सकते हैंListView एंड्रॉइड एडेप्टर का उपयोग करके एस ।
Adapterएक इंटरफ़ेस है जिसका कार्यान्वयन डेटा प्रदान करता है और उस डेटा के प्रदर्शन को नियंत्रित करता है।
ListViewस्वयं के एडेप्टर जो पूरी तरह से ListViewप्रदर्शन को नियंत्रित करते हैं। इसलिए एडेप्टर सूची में प्रदर्शित सामग्री के साथ-साथ इसे कैसे प्रदर्शित किया जाए, इसे नियंत्रित करते हैं।
Adapterइंटरफ़ेस करने के लिए डेटा संवाद करने के लिए विभिन्न तरीके शामिल हैं ListView। आप लागू करके खरोंच से अपना स्वयं का एडाप्टर बना सकते हैं BaseAdapter।
public class ArrayAdapter<T> extends BaseAdapter implements Filterable {
// One of the constructors
public ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects) {
init(context, resource, textViewResourceId, Arrays.asList(objects));
}
void manyMoreMethods(){}
}
एक एडाप्टर को परिभाषित करने देता है:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, values);
TextViewजिसमें से डेटा लिखा गया हैएंड्रॉइड में अच्छी तरह से एडेप्टर मूल रूप से यूआई घटकों और डेटा स्रोत के बीच एक पुल होते हैं जो यूआई घटक में डेटा भरते हैं
उदाहरण के लिए, सूची (UI घटक) किसी डेटा स्रोत सरणी से, सूची एडाप्टर का उपयोग करके पॉपुलेटेड हो जाता है।
मैं अपनी समझ साझा करना चाहूंगा।
यह डेटा स्रोत और आपके लेआउट (सबसे शायद लिस्ट व्यू) के बीच एक इंटरफ़ेस है।
चलो एक मोबाइल चार्जर, या बल्कि एक यूएसबी केबल का उदाहरण लेते हैं। तार को एडाप्टर के रूप में माना जा सकता है, जबकि डेटा स्रोत और लेआउट को क्रमशः सॉकेट (प्लग-इन बिंदु) और यूएसबी पोर्ट (चार्जिंग पॉइंट) के रूप में समझा जा सकता है।
मोबाइल चार्जिंग के मामले में, पावर का स्रोत अलग हो सकता है, जैसे पावर बैंक, सॉकेट या लैपटॉप से चार्ज करना। एंड्रॉइड में उपयोग किए जाने वाले एडेप्टर के लिए भी यही स्थिति है। आवेदन की आवश्यकता के आधार पर डेटा स्रोत को बदला जा सकता है।
संक्षेप में, एंड्रॉइड में एक एडाप्टर डेटा को एक स्रोत (जैसे ArrayList<>) से ले जाता है और इसे एक लेआउट (.xml फ़ाइल) में वितरित करता है।
एंड्रॉइड में एडेप्टर एडाप्टर दृश्य (जैसे ListView) और उस दृश्य के अंतर्निहित डेटा के बीच एक पुल है । कल्पना कीजिए कि दुनिया बिना एडाप्टरों के क्या रही होगी!
एक दृश्य जो लंबवत स्क्रॉलिंग सूची में आइटम दिखाता है। आइटम ListAdapterइस दृश्य से संबद्ध हैं।
ListAdapterसूची के अलग-अलग पंक्तियों के लिए लेआउट को परिभाषित करता है और करने के लिए डेटा प्रदान करता है ListViewके माध्यम से setAdapter()करने की विधि
ListView।
एंड्रॉइड कई मानक एडेप्टर प्रदान करता है; सबसे महत्वपूर्ण हैं
ArrayAdapterऔर CursorAdapter।
ArrayAdapter सरणियों या सूचियों के आधार पर डेटा को संभाल सकता है।
SimpleCursorAdapter डेटाबेस से संबंधित डेटा को संभाल सकता है।एडेप्टर मूल रूप से सामग्री वितरित करने के लिए उपयोग किया जाता है। संभवतः आपके पास प्रत्येक एप्लिकेशन में मौजूद एक एडाप्टर CursorAdapter है जो आपको डेटाबेस क्वेरी से कर्सर द्वारा दी गई सामग्री को वितरित करने में सक्षम बनाता है। एक सूची दृश्य में लगभग हमेशा किसी प्रकार का एडाप्टर होता है।
एक एडेप्टर एक पुल के रूप में कार्य करता है AdapterView उस दृश्य के लिए अंतर्निहित डेटा के । एडेप्टर डेटा आइटम तक पहुंच प्रदान करता है और डेटा सेट में प्रत्येक आइटम के लिए एक दृश्य बनाने के लिए जिम्मेदार है।
एडेप्टर Viewकिसी प्रकार के डेटा स्रोत से जुड़ने का एक स्मार्ट तरीका है । आमतौर पर, आपका दृष्टिकोण एक होगा ListViewऔर डेटा Cursorया के रूप में आएगा Array। इसलिए एडाप्टर्स CursorAdapterया के उपवर्गों के रूप में आते हैं ArrayAdapter।
एक एडेप्टर डेटा मॉडल का प्रबंधन करता है और इसे सूची दृश्य में अलग-अलग पंक्तियों के लिए एडाप्ट करता है। यह BaseAdapterवर्ग का विस्तार करता है ।
सूची दृश्य की प्रत्येक पंक्ति में एक लेआउट होता है, जो जितना चाहें उतना जटिल हो सकता है। सूची दृश्य की एक विशिष्ट रेखा में बाईं ओर एक छवि है और बीच में दो पाठ लाइनें हैं।
एडाप्टर का उपयोग केवल सूची दृश्य को प्राप्त करने के लिए किया जाता है। न केवल डेटा की सूची प्रदर्शित करने के लिए, बल्कि कुछ कस्टम दृश्य भी। मान लीजिए कि ग्राहक उस सूची का उपयोग करना चाहता है जिसमें अधिक संख्या में टेक्स्टव्यू (कोई अन्य दृश्य) है, तो हमें एंड्रॉइड में एडॉप्टर दृश्य का उपयोग करना होगा।
अंत में, एक रिपोर्ट करने के लिए एडेप्टर बहुत उपयोगी होते हैं। यदि कोई कुछ जानकारी की रिपोर्ट दिखाना चाहता है, तो कोई इस उपकरण का उपयोग दृश्य पर डेटा दिखाने के लिए कर सकता है।