2013-05-08 4 views
8

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

एक ऐसे ऐप के बारे में सोचें जो स्टॉक के बारे में Google वित्त एपीआई से जानकारी प्राप्त करता है और इसे डीबी में संग्रहीत करता है, ऐप लॉन्च होने पर जानकारी प्रदर्शित करता है, और जब स्टॉक घटनाओं में विशिष्ट घटनाएं होती हैं तो अधिसूचनाएं भेजती हैं।

मैंने पहले से ही AsyncTask का सरल विकल्प लागू किया है जिसे उपयोगकर्ता मैन्युअल रूप से सिंक का अनुरोध करते समय लॉन्च किया जाता है। अब मैं स्वत: समन्वयन को लागू करने की है और इन विकल्पों में मैंने पाया हैं:

  • एक Service समन्वयन का
  • एक सिंक एडॉप्टर/सिंक प्रदाता

तो मैंने पाया का उपयोग करना होगा बनाएं दूसरा विकल्प, विशेष रूप से उन this वीडियो में विस्तार से बताया के लिए लाभ का एक बहुत कुछ, लेकिन यह भी दो प्रमुख नुकसान:

  • मैं के लिए अच्छा प्रलेखन नहीं मिल सका एंड्रॉइड सिंक (these जैसे कुछ तीसरे पक्ष के लेख, लेकिन कोई आधिकारिक Google या Android Developers मार्गदर्शिका)
  • इस आलेख के अनुसार एक सिंक एडाप्टर में गड़बड़ करने से ओएस क्रैश और रीबूट जैसे प्रमुख समस्याएं हो सकती हैं।

जानकारी मैंने पाया के अधिकांश बहुत पुराना है तो शायद चीजों के बाद से बदल गया है, लेकिन मेरे अनुप्रयोग ऊपर एपीआई स्तर 8 और के साथ काम करना है, तो मैं मूल्यवान करने के लिए कोई सुझाव और लिंक के लिए बहुत आभारी होगा प्रलेखन।

+0

बस स्पष्ट होने के लिए आपको यहाँ तक कि जब एप्लिकेशन को अग्रभूमि में नहीं है एप्लिकेशन को समन्वयन डेटा डाउनलोड करने के लिए/चाहते हैं? इस पर निर्भर संभावित समाधान भिन्न हो सकते हैं। – Esparver

+0

हाँ, मैं करता हूं। अधिसूचनाओं के लिए। – tbkn23

+0

क्या आप चाहते हैं कि ऐप समय-समय पर यह जानने के लिए अनुरोध करे कि कोई बदलाव है या नहीं? – Pcriulan

उत्तर

3

निश्चित रूप से SyncAdapter के साथ जाएं। यहां निर्देशों का पालन करें: Why does ContentResolver.requestSync not trigger a sync?

सिंक एडाप्टर करने के लिए, आपको खाता/खाता प्रमाणीकरणकर्ता भी बनाना होगा, इसलिए आपका सिंक एडाप्टर जानता है कि आपकी सेवा में कैसे लॉगिन करें - जब तक कि यह वास्तव में Google वित्त API नहीं है, इस मामले में आपको बस इतना करना होगा मेनिफेस्ट में सही अनुमतियां लागू करें ताकि वह पहले से ही फोन पर खाता सेटिंग्स का उपयोग करे।

आप लेख आप का उल्लेख किया कि दुर्घटनाओं पर चर्चा की लिंक नहीं किया, लेकिन मैं इसे जानते हैं, और यह वास्तव में खातों के बारे में बात कर रहा है - कौन हाँ, आप के साथ सावधान रहने की जरूरत नहीं है।

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