जीसीएम सर्वर आपको डेटाबेस अपडेट करने के लिए ज़िम्मेदार नहीं है, आप इसका इस्तेमाल सिर्फ अपने ऐप को सूचित करने के लिए कर सकते हैं कि, यो! मेरे सर्वर पर अपडेट करने के लिए कुछ नया है, कनेक्ट करने देता है और नया डेटा डाउनलोड करता है। यह डिवाइस की बहुत सारी बैटरी बचाता है जिसे आप अपडेट की उपलब्धता की जांच के लिए कुछ निर्धारित समय आंतरिक पर अपने सर्वर को पूल करने में बर्बाद कर रहे होंगे।
आप json संदेश के लिए एक कुंजी-मान निर्दिष्ट कर सकते हैं जिसे आप GCM से अपने ऐप पर भेज रहे हैं जैसे
{"status" :"newupdate"}
और GCMRceiver के onMessage() में आप आशय से कुंजी "स्थिति" द्वारा संदेश प्राप्त कर सकते हैं और तर्क लिख सकते हैं जैसे
if(message.equalsIgnoreCase("newupdate"){
//Call a service and download the data and store/update in your databse
}
यदि आप स्क्लाइट डेटाबेस के लिए नए हैं तो इस ट्यूटोरियल के लिए जाएंhttp://www.vogella.com/articles/AndroidSQLite/article.html
डेटाबेस को अपडेट करने के लिए यह देखते हुए कि आपने पहले ही OpenHelper क्लास को लागू कर दिया है
MyOpenHelper myOpenHelper= new MyOpenHelper(this)
sqltitedatabaseObject=myOpenHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(<your_column_name>,<value>);
// For Updating the Existing Entry
long rowAffected=sqltitedatabaseObject.updateWithOnConflict(<Table_Name>,
values,<Selection_For_Update>,<Selection_Paramans_In_String_Array>,
0);
// For Inserting a New Row
long rowsInserted=sqltitedatabaseObject.insert(<Table_Name>, null, values);
आपके संपादन के अनुसार मुझे कुछ बिंदु जोड़ने दें:
-
सिंक का अर्थ है दोनों डेटा को समान रखना, और इसे प्राप्त करने के लिए आपको एक webservice बनानी होगी जो आपके डेटाबेस से डेटा प्राप्त करेगी (डेटाबेस में डाले गए प्रत्येक डेटा के लिए एक टाइम-स्टैम्प जोड़ें और उस डेटा के साथ भेजें जिसे आप डिवाइस पर भेज रहे हैं) .
-
डेटा को सिंक करते समय डिवाइस sqlite डेटाबेस से टाइम स्टैम्प का अधिकतम मूल्य प्राप्त करें और डिवाइस से वेब-सर्विस को हिट करते समय एक पैरामीटर के रूप में भेजें, और सर्वर से प्रतिक्रिया में डेटा भेजें जो अनुरोध में प्राप्त उस विशेष टाइम-स्टैम्प के बाद जोड़े या अपडेट किए जाते हैं। ।
तो अगर उपयोगकर्ता ने आपको ऐप हटा दिया है, तो आपको अनुरोध समय टिकटों में कुछ भी नहीं मिलेगा, इसलिए पूरा डेटा भेजें।