আমি আপনার সমস্ত প্রশ্নের উত্তরটি বৃহত্তর প্রশ্নে সম্বোধন করে চেষ্টা করব: আমি কীভাবে কোনও ওয়েবসভার এবং একটি অ্যান্ড্রয়েড অ্যাপের মধ্যে ডেটা সিঙ্ক করতে পারি?
আপনার ওয়েবসারভার এবং একটি অ্যান্ড্রয়েড অ্যাপের মধ্যে ডেটা সিঙ্ক করার জন্য আপনার অ্যান্ড্রয়েড ডিভাইসে বেশ কয়েকটি বিভিন্ন উপাদান প্রয়োজন।
ক্রমাগত স্টোরেজ:
আপনার ফোনটি ওয়েব সার্ভারের কাছ থেকে প্রাপ্ত ডেটাটি এইভাবে সংরক্ষণ করে। এটি সম্পাদনের জন্য একটি সম্ভাব্য পদ্ধতি হ'ল স্ক্লাইট ডেটাবেসের সাহায্যে আপনার নিজস্ব কাস্টম সামগ্রী সরবরাহ করা । সামগ্রী সরবরাহকারীর জন্য একটি শালীন টিউটোরিয়াল এখানে পাওয়া যাবে: http://thinkandroid.wordpress.com/2010/01/13/writing-your-own-contentprovider/
একটি সামগ্রীর সরবরাহকারী আপনার সঞ্চিত ডেটার সাথে ইন্টারঅ্যাক্ট করার জন্য একটি সামঞ্জস্যপূর্ণ ইন্টারফেস সংজ্ঞায়িত করে। আপনি চাইলে এটি অন্যান্য অ্যাপ্লিকেশনগুলিকে আপনার ডেটার সাথে ইন্টারঅ্যাক্ট করার অনুমতিও দিতে পারে। আপনার কন্টেন্টপ্রোভাইডারের পিছনে স্ক্লাইট ডাটাবেস, ক্যাশে বা যেকোন স্বেচ্ছাসেবী সংগ্রহস্থল হতে পারে।
যদিও আমি অবশ্যই একটি ব্যবহার সুপারিশ করবে ContentProvider একটি SQLite ডাটাবেস সঙ্গে আপনি আপনি চেয়েছিলেন কোন জাভা ভিত্তিক সংগ্রহস্থলের প্রক্রিয়া ব্যবহার করতে পারে।
ডেটা ইন্টারচেঞ্জ ফর্ম্যাট:
এটি আপনার ওয়েবসারভার এবং আপনার অ্যান্ড্রয়েড অ্যাপের মধ্যে ডেটা প্রেরণের জন্য আপনি যে ফর্ম্যাটটি ব্যবহার করেন এটি। এই দিনগুলিতে দুটি জনপ্রিয় ফর্ম্যাটগুলি হ'ল এক্সএমএল এবং জেএসএন। আপনার ফর্ম্যাটটি চয়ন করার সময়, আপনার কী ধরণের সিরিয়ালাইজেশন লাইব্রেরি উপলব্ধ তা নিয়ে ভাবা উচিত। আমি জানি যে জসন সিরিয়ালাইজেশনের জন্য একটি চমত্কার গ্রন্থাগার রয়েছে যার নাম জিএসন: https://github.com/google/gson , যদিও আমি নিশ্চিত XML- এর জন্য অনুরূপ লাইব্রেরি রয়েছে।
সিঙ্ক্রোনাইজেশন পরিষেবা
আপনি এমন এক ধরণের অ্যাসিনক্রোনাস টাস্ক চাইবেন যা আপনার সার্ভার থেকে নতুন ডেটা পেতে পারে এবং সার্ভারের সামগ্রীকে প্রতিবিম্বিত করতে মোবাইল সামগ্রীকে রিফ্রেশ করতে পারে। আপনি যখনই সামগ্রীতে স্থানীয় পরিবর্তন করবেন এবং এই পরিবর্তনগুলি প্রতিবিম্বিত করতে চান তখন আপনি সার্ভারকেও জানাতে চাইবেন। সহজেই এই প্যাটার্নটি সমাধান করার উপায় হিসাবে অ্যান্ড্রয়েড সিঙ্কএডাপ্টার প্যাটার্ন সরবরাহ করে । আপনাকে ব্যবহারকারীর অ্যাকাউন্টগুলি নিবন্ধিত করতে হবে এবং তারপরে অ্যান্ড্রয়েড আপনার জন্য প্রচুর যাদু সম্পাদন করবে এবং আপনাকে স্বয়ংক্রিয়ভাবে সিঙ্ক করার অনুমতি দেবে। এখানে একটি ভাল টিউটোরিয়াল: http://www.c99.org/2010/01/23/writing-an-android-sync-provider-part-1/
আপনি কীভাবে রেকর্ডগুলি একই কিনা তা সনাক্ত করতে পারেন তবে সাধারণত আপনি একটি অনন্য আইডি দিয়ে আইটেম তৈরি করেন যা আপনি অ্যান্ড্রয়েড ডিভাইস এবং সার্ভার উভয়তেই সঞ্চয় করেন। আপনি একই রেফারেন্সটি উল্লেখ করছেন তা নিশ্চিত করতে আপনি এটি ব্যবহার করতে পারেন। তদাতিরিক্ত, আপনি সর্বদা সর্বাধিক নতুন ডেটা পেয়ে যাচ্ছেন তা নিশ্চিত করার জন্য আপনি "আপডেট_এট" এর মতো কলামের বৈশিষ্ট্যগুলি সংরক্ষণ করতে পারেন, বা আপনি নতুনভাবে লিখিত ডেটাতে দুর্ঘটনাক্রমে লেখেন না।