2012-07-17 21 views
9

के साथ समन्वयित करने के लिए SyncAdapter का उपयोग करें एक ऐप के लिए मुझे विकसित करने की आवश्यकता है, मुझे सिंक एडाप्टर का उपयोग करके दोनों जीमेल और फेसबुक डेटा के साथ सिंक करने में सक्षम होना चाहिए। मैं स्थानीय फेसबुक और जीमेल ऐप्स (यदि उपलब्ध हो) के बजाय अपने रिमोट सर्वर के बजाय सिंक करने की उम्मीद कर रहा हूं। स्थानीय ऐप्स के साथ समन्वय करने से कम बैटरी उपयोग, कम नेटवर्क उपयोग, तेज समन्वयन इत्यादि का मतलब होगा। बेशक, यदि आवश्यक हो, तो मैं सही अनुमतियां निर्धारित करूंगा।* स्थानीय * जीमेल और फेसबुक ऐप डेटा

मेरे सवालों का:

  • तो क्षुधा (जीमेल/फेसबुक) के किसी भी उपलब्ध हैं, यह संभव उन्हें (, संदेश, ईवेंट आदि) डेटा के लिए क्वेरी करने के लिए है?
  • यदि नहीं, तो क्या उनसे प्रमाणीकरण टोकन (या किसी भी तरह का प्रमाण पत्र) प्राप्त करना संभव है जो मुझे सर्वर से पूछताछ करने की अनुमति देगा बिना उपयोगकर्ता के उपयोगकर्ता नाम और पासवर्ड को दोबारा डालने की आवश्यकता है?
  • यदि यह संभव है, तो क्या फेसबुक या जीमेल ऐप्स सिंक के तुरंत बाद स्वचालित रूप से सिंक करना संभव है, ताकि मुझे जितनी जल्दी हो सके नया डेटा मिल सके?

यदि इनमें से कोई भी उपलब्ध नहीं है, तो मुझे लगता है कि मुझे डेटा स्वयं लाने की आवश्यकता होगी, इसलिए यह इस प्रश्न के लिए प्रासंगिक नहीं है।

उत्तर

3

मैं फेसबुक के लिए बात नहीं कर सकता, लेकिन जीमेल ऐप इसकी अनुमति नहीं देता है। यह पहले काम करता था, लेकिन तब से उन्होंने इसे सुरक्षित कर लिया है ताकि केवल Google ऐप्स ईमेल सामग्री प्रदाता से पूछ सकें। सबसे अच्छा आप कर सकते हैं labels API के साथ संदेशों की संख्या प्राप्त करें। आप मानक एंड्रॉइड AccountManager का उपयोग कर Google सेवाओं के लिए प्रमाणीकरण टोकन (क्लाइंटलॉगिन या ओएथ 2) प्राप्त कर सकते हैं। वास्तविक डेटा प्राप्त करने के लिए आपको विशेष API से कनेक्ट करने के लिए इसका उपयोग करना होगा।

+0

इस OAuth2 टोकन के साथ मैं क्या कर सकता हूं? भी, Google की इतनी सारी सेवाएं कैसे आती हैं जिनका मैं उपयोग कर सकता हूं, लेकिन जीमेल उनमें से एक हिस्सा नहीं है? –

+0

जीमेल में कम से कम एक आरएसएस इंटरफ़ेस है जिसे आप ओथ टोकन का उपयोग कर सकते हैं। अन्य एपीआई भी हो सकते हैं, आपको इसके बारे में शोध करना चाहिए। संभावना है कि आप टोकन का उपयोग करके Google द्वारा प्रदान की जाने वाली कुछ भी चीज़ों को प्रमाणित कर सकते हैं। –

+0

लेकिन क्या मैं पढ़ा गया समेत सभी संदेशों को पढ़ सकता हूं? –

2

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

उपयोगकर्ता को अपने पासवर्ड को दोबारा दर्ज करने से बचने की कोशिश करना कुछ ऐसा है जो लगभग निश्चित रूप से होगा असंभव हो सकता है, भले ही ऐप्स स्थानीय डेटा साझा करने का समर्थन करते हों। आखिरकार, जीमेल ऐप यह सत्यापित करने जा रहा है कि आपके ऐप को अपने सभी डेटा पढ़ने की अनुमति होनी चाहिए? संभवतः अपने जीमेल उपयोगकर्ता नाम और पासवर्ड के लिए संकेत देकर। केवल एक ही डिवाइस पर होने पर निश्चित रूप से पूरा विश्वास नहीं है।

सिंक एडेप्टर का उपयोग करके और नमूना प्रोजेक्ट में दिखाए गए प्रमाणीकरण टोकन को संग्रहीत करने के लिए, आप उपयोगकर्ता को एक बार अपने क्रेडेंशियल दर्ज करने के लिए सीमित करने में सक्षम होना चाहिए, लेकिन यह सबसे अच्छा है कि आप ऐसा करने में सक्षम होंगे।


पहले:

आप था SampleSyncAdapter पर एक नज़र एसडीके के साथ शामिल है?

These instructions नमूने तक पहुंचने का एक त्वरित अवलोकन दें।

यदि आप एक्लिप्स का उपयोग कर रहे हैं, तो यह वास्तव में तब भी आसान होता है जब वे वहां सुझाव देते हैं।

  1. करें File>New>Other...
  2. चुनें Android>Android Sample Project
  3. चुनें जो भी लक्ष्य/एपीआई स्तर अपनी परियोजना के लिए लागू है (शायद नवीनतम)
  4. नमूना का चयन करें: नमूना परियोजना प्राप्त करने के लिए जिस परियोजना में आप रुचि रखते हैं, इस मामले में SampleSyncAdapter

नमूना प्रोजेक्ट एक महान उदाहरण है कि कैसे सिंकएडाप्टर का उपयोग करें और जीमेल, फेसबुक इत्यादि से कनेक्ट करने के लिए आसानी से अनुकूल होना चाहिए

+0

दुख की बात है, हाँ, मैंने कोशिश की है, और मैंने देखा है कि न केवल यह उपयोगकर्ता नाम और पासवर्ड (हालांकि मेरे पास जीमेल है) के लिए पूछता है, लेकिन यह लॉगिन करने में भी सफल नहीं होता है (और मैं सही दर्ज करता हूं उपयोगकर्ता नाम और पासवर्ड) और मुझे कुछ भी दिखाने के लिए जो यह कर सकता है। मुझे यह भी नहीं लगता कि यह जीमेल के संदेशों के साथ कुछ भी कर सकता है, केवल संपर्क (मैनिफेस्ट के अनुसार)। –

+0

@androiddeveloper अब अपडेट किया गया है कि मैं आपके प्रश्न को बेहतर समझता हूं। ध्यान दें कि डिफ़ॉल्ट रूप से, सिंक एडाप्टर जीमेल से कनेक्ट नहीं होता है, लेकिन कुछ उद्देश्य-निर्मित सिंक एडाप्टर सेवा के लिए। आपको इसे जीमेल के साथ काम करने के लिए बदलना होगा। ऐसा हो सकता है कि यह आपके लिए सही तरीके से व्यवहार क्यों नहीं कर रहा था। – blahdiblah

+0

क्या आप नमूना के बारे में या पोस्ट के प्रश्न के बारे में बात कर रहे हैं? किसी भी मामले में, नमूना किसी भी बदलाव के बिना कैसे काम नहीं करता है, और वे कैसे नहीं लिखते हैं कि क्या बदला जाना चाहिए? मुझे यह भी समझ में नहीं आता कि यह कैसे हो सकता है कि मुझे एक सभ्य ट्यूटोरियल नहीं मिल रहा है जो कि जीमेल या फेसबुक के साथ काम करता है, क्योंकि उन्हें बहुत लोकप्रिय माना जाता है। –