SQLite
 sql >> डेटाबेस >  >> RDS >> SQLite

Android - GCM का उपयोग करके क्लाइंट के sqlite डेटाबेस को अपडेट करें

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

आप 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);

आपके संपादन के अनुसार मुझे कुछ बिंदु जोड़ने दें:

  1. सिंक का अर्थ है दोनों डेटा को समान रखना, और इसे प्राप्त करने के लिए आपको एक webservice बनानी होगी जो आपके डेटाबेस से डेटा प्राप्त करेगी (डेटाबेस में डाले गए प्रत्येक डेटा के लिए एक टाइम-स्टैम्प जोड़ें और उस डेटा के साथ भेजें जिसे आप डिवाइस पर भेज रहे हैं) .

  2. डेटा को सिंक करते समय डिवाइस sqlite डेटाबेस से टाइम स्टैम्प का अधिकतम मूल्य प्राप्त करें और डिवाइस से वेब-सर्विस को हिट करते समय एक पैरामीटर के रूप में भेजें, और सर्वर से प्रतिक्रिया में डेटा भेजें जो अनुरोध में प्राप्त उस विशेष टाइम-स्टैम्प के बाद जोड़े या अपडेट किए जाते हैं। ।

तो अगर उपयोगकर्ता ने आपको ऐप हटा दिया है, तो आपको अनुरोध समय टिकटों में कुछ भी नहीं मिलेगा, इसलिए पूरा डेटा भेजें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Android SQLite सम्मिलित करें या अपडेट करें

  2. Android में sqlite डेटाबेस में बड़ी मात्रा में डेटा कैसे डालें?

  3. रूम लाइब्रेरी एसेट फोल्डर से डीबी कॉपी कर सकती है?

  4. एंड्रॉइड बैकअप के बाद स्क्लाइट डेटाबेस को कैसे पुनर्स्थापित करें

  5. SQLite में दो तिथियों के बीच अंतर की गणना कैसे करें