2012-09-14 11 views
13

मैं जानना चाहता हूं कि एंड्रॉइड में एडाप्टर और लोडर के बीच क्या अंतर है। मैंने पहले से ही प्रलेखन पर देखा है लेकिन उनके बीच का अंतर नहीं पता लगा सकता है। किसी भी सहायता की सराहना की जाएगी। धन्यवाद!एंड्रॉइड में एडाप्टर और लोडर के बीच अंतर

+0

क्या आप हमें बता सकते हैं कि एडाप्टर क्या है और लोडर क्या है? मुझे बताएं, दस्तावेज से आपको क्या मिला। – Shrikant

+0

आप इस लेख को भी देख सकते हैं: http: //www.androiddesignpatterns.com/2012/07/loaders-and-loadermanager-background.html। लोडर और लोडरमेनगर को समझने के लिए आपको आवश्यक सारी जानकारी मिल जाएगी। – Sam003

उत्तर

19

दोनों डेटा एक्सेस के लिए एक अमूर्तता प्रदान करते हैं, लेकिन लोडर पृष्ठभूमि में क्वेरी निष्पादित करता है जबकि एडाप्टर वर्तमान (संभवतः यूआई) थ्रेड में निष्पादित करता है।

उदाहरण के लिए, Content Provider तक पहुंचने के लिए straightforward way एक SimpleCursorAdapter के साथ है। लेकिन किसी गतिविधि से सीधे डेटा की बड़ी मात्रा में पूछताछ करने से यह अवरुद्ध हो सकता है जिसके परिणामस्वरूप "एप्लिकेशन प्रतिक्रिया नहीं दे रहा" संदेश होता है। यहां तक ​​कि यदि ऐसा नहीं होता है, तो उपयोगकर्ता यूआई में एक परेशान देरी देखेंगे। इन समस्याओं से बचने के लिए, आपको एक अलग थ्रेड पर एक क्वेरी शुरू करनी चाहिए, इसे समाप्त करने के लिए प्रतीक्षा करें, और उसके बाद परिणाम प्रदर्शित करें। यह CursorLoader करेगा।

कहा जा रहा है कि, कभी-कभी उन्हें एक-दूसरे के संयोजन के साथ प्रयोग किया जाता है। In this example डेटा को पहले कर्सर लोडर के साथ लोड किया जाता है और फिर उस कर्सर को डिस्प्ले के लिए एडाप्टर व्यू के एडाप्टर में अपडेट किया जाता है।

+2

यह स्वीकार्य उत्तर आईएमओ होना चाहिए। – Solace

+0

सहमत हुए, यह स्वीकार्य माना जाना चाहिए – feresr

3

मुझे लगता है कि इन दो वर्गों अमूर्त का एक अलग स्तर पर काम करते हैं: Adapter एक इंटरफ़ेस जो एक वर्ग वास्तविक डेटा उपलब्ध कराने के द्वारा कार्यान्वित किए जाने की आवश्यकता है, लोडर एसिंक्रोनस रूप से एक कर्सर के आधार पर डेटा लोड करने के लिए कार्यक्षमता शामिल हैं।

मुझे लगता है कि आप एक लोडर के रूप में एक एडाप्टर प्लस एक AsyncTask के रूप में सोच सकते हैं।

यह भी ध्यान रखें कि लोडर केवल एंड्रॉइड 3.0 से उपलब्ध है।

9

लोडर: -
लोडर आसान एसिंक्रोनस रूप से एक गतिविधि या टुकड़ा में डेटा लोड करने के लिए कर वे हर गतिविधि और टुकड़ा करने के लिए उपलब्ध हैं। वे डेटा की एसिंक्रोनस लोडिंग प्रदान करते हैं।
वे अपने डेटा के स्रोत की निगरानी करते हैं और सामग्री बदलते समय नए परिणाम प्रदान करते हैं।
कॉन्फ़िगरेशन परिवर्तन के बाद पुनर्निर्मित होने पर वे स्वचालित रूप से अंतिम लोडर के कर्सर से पुनः कनेक्ट होते हैं। इस प्रकार, उन्हें अपने डेटा को फिर से पूछने की आवश्यकता नहीं है।
Here आपको लोडर के बारे में कुछ जानकारी मिलती है।

एडाप्टर: -
एक AdapterView के बीच एक सेतु के रूप एक एडाप्टर वस्तु कार्य करता है और उस दृश्य के लिए अंतर्निहित डेटा। एडाप्टर डेटा आइटम्स तक पहुंच प्रदान करता है। डेटा सेट में प्रत्येक आइटम के लिए व्यू बनाने के लिए एडाप्टर भी ज़िम्मेदार है। Here is one video for you। इस वीडियो को देखें, फिर आप एडाप्टर का काम, लाभ समझते हैं।
Here एडाप्टर का एक सबसे अच्छा ट्यूटोरियल है।

+0

तो, एडाप्टर विशेष रूप से ListView के लिए उपयोग किए जाते हैं, या इन्हें अन्य यूआई तत्वों के लिए भी इस्तेमाल किया जा सकता है? वैसे, उत्तर के लिए धन्यवाद :) –

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