8

मैं सिंक एडाप्टर के साथ एक नया हूँ। मैंने google IO video (व्याख्यान प्रस्तुति here) देखा है, और मैंने इसके बारे में 2 ट्यूटोरियल (here और here) पढ़े हैं।सिंक एडाप्टर को सही तरीके से कैसे सेट करें?

मैंने ट्यूटोरियल्स के कोड को भी आजमाया है और यह निराशाजनक है कि मैं यह नहीं समझ सकता कि सिंक एडाप्टर को सही ढंग से कैसे कार्यान्वित किया जाए।

मुझे विश्वास है कि कुछ प्राथमिकताएं (या तो मैनिफेस्ट में या एक्सएमएल फाइलों पर) गलत हैं, लेकिन मुझे पता नहीं चल रहा है क्यों।

मैं सिंक्रनाइज़ेशन खाता जोड़ने और इसे अपने आइकन के साथ दिखाने की अनुमति देने में सफल रहा हूं।

  1. खाते को सिंक्रनाइज़ करने की अनुमति:

    हालांकि, मुझे कुछ अजीब समस्याओं है कि मैं समझ नहीं क्यों वे होते हैं का सामना करना पड़ रहा है। अंतिम उपयोगकर्ता सिंकिंग बटन पर नहीं दबा सकता है। यह खाता जोड़ने पर ऐसी चीज जोड़ने की कोशिश करने के बावजूद ऑटो-सिंक भी प्रतीत नहीं होता है।

  2. खाता जोड़ने के बाद, अंतिम उपयोगकर्ता खाते का अजीब विवरण देख सकता है: "res/xml/authenticator.xml"। सुनिश्चित नहीं है कि यह कहां सेट किया जा रहा है।

  3. खाते पर क्लिक करते समय (इसे जोड़ने के बाद), मुझे एक खाली सूची दिखाई देती है (जो प्रोबा है। मैं भविष्य में और अधिक आइटम कैसे जोड़ूं? मुझे फेसबुक और जीमेल के साथ भी सिंक करना होगा, लेकिन मैं ।

    accountManager.addAccountExplicitly(account, PASSWORD, null); 
    final Intent intent = new Intent(); 
    intent.putExtra(AccountManager.KEY_ACCOUNT_NAME, USERNAME); 
    intent.putExtra(AccountManager.KEY_ACCOUNT_TYPE, accountType); 
    setAccountAuthenticatorResult(intent.getExtras()); 
    setResult(RESULT_OK, intent); 
    finish(); 
    
    : नहीं घटना को इस सूची में अपने ही contentProvider को जोड़ने के साथ सफल हो

मैं तो मैं सिर्फ गतिविधि कि AccountAuthenticatorActivity तक फैली हुई है अंदर के बजाय अगले कोड का उपयोग वास्तविक प्राधिकरण क्या करने की जरूरत नहीं है

मैंने ऑटो-सिंकिंग सेट करने का भी प्रयास किया है here का वर्णन करने के द्वारा सिंकिंग सक्षम करें।

उत्तर

0

लगभग 1) हाँ यदि कोई इंटरनेट कनेक्शन नहीं है तो आप सिंक नहीं कर सकते हैं। कारण यह है कि (हालांकि सिंक एडाप्टर की उचित परिभाषा नहीं है) एक सिंक एडाप्टर एक घटक है जिसका उपयोग आपके स्थानीय डेटा के साथ रीढ़ की हड्डी को सिंक करने के लिए किया जाना चाहिए। यदि कोई कनेक्शन नहीं है तो सिंक शुरू करने के लिए यह समझ में नहीं आता है। दरअसल यह केवल सिद्धांत में सच है क्योंकि मुझे कोई सिबक एडाप्टर विकसित करना था, भले ही कोई रीढ़ की हड्डी डेटाबेस न हो।

मैं क्या किया था जब सिंक के लिए आवश्यक है एक घटक है कि सिंक अनुकूलक द्वारा कहा जाता है जब यह शुरू हो रहा है और अपने खुद के आवेदन के द्वारा लिखने के लिए भले ही कोई कनेक्शन

+0

considerstion उस ढांचे स्वचालित रूप से संभाल में ले लो है था एकाधिक सिंक अनुरोध। यदि आप अपना खुद का घटक विकसित करते हैं तो आपको इसे स्वयं करने की ज़रूरत है। – kingston

+0

मुझे अंतिम टिप्पणी नहीं समझा। साथ ही, क्या अन्य सिंक एडाप्टर (सही अनुमति के साथ) के साथ संवाद करना संभव है, उदाहरण के लिए उनसे डेटा लाने या उनके सर्वर से संवाद करने के लिए आवश्यक प्रमाण-पत्र प्राप्त करने के लिए? सवाल हाल ही में लिखा गया एक और पोस्ट है: http://stackoverflow.com/questions/11532257/android-use-syncadapter-to-sync-with-gmail-data-and-facebook-data –

+0

मेरी पिछली टिप्पणी के बारे में । मान लीजिए कि उपयोगकर्ता सिंक बटन पर दो बार क्लिक करता है। ढांचा अनुरोध दो बार भेजने से बचने की कोशिश करता है। यदि सिंक को ट्रिगर करने वाले आपके एप्लिकेशन के घटक कई अनुरोध कर सकते हैं तो आपको कुछ ऐसा करने की आवश्यकता है।उदाहरण के लिए मेरे आवेदन में यदि दूसरा अनुरोध आता है, जबकि सिंक अभी भी चल रहा है, तो मैं वर्तमान सिंक ड्रॉप करता हूं और मैं एक नया शुरू करता हूं। यदि कोई तीसरी बार आती है तो मैं पहले को छोड़ रहा हूं और दूसरा शुरू कर रहा हूं, मैं तीसरे अनुरोध को अनदेखा करता हूं। आपको सिंक – kingston

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