Views
অ্যান্ড্রয়েড স্টুডিওতে ডাটা সংরক্ষণের জন্য অনেক উপায় রয়েছে তার মধ্যে একটা হচ্ছে Shared Preferences। এটার মাধ্যমে ডাটা সংরক্ষণ এবং পুনরায় ব্যাবহার দুটোই করা যায় (Key, Value) জোড়া দুটির মাধ্যমে।
কঠিন হয়ে গেল ব্যাপারটা তাই না 😅 চলুন সরাসরি উদাহারনের মাধ্যমে বোঝার চেষ্টা করি,
এর জন্য আমাদের getPreferences(int mode) অথবা getSharedPreferences(String name, int mode) নামে মেথড কল (Call) করতে হবে।
২। Shared Preferences ডাটা সংরক্ষণ করাঃ
উদাহারনঃ
ডাটা পুনরায় ব্যাবহার করার জন্য আমাদের SharedPreferences এর অবজেক্ট রেফারেন্স অর্থাৎ getPreferences (int mode) or getSharedPreferences (String name, int mode) ফাংশন কল করতে হবে। তখন আমরা সংরক্ষিত ডাটা পুনরায় ব্যাবহার করতে পারব SharedPreferences অবজেক্টের বিভিন্ন প্রিমিটিভ টাইপ ফাংশন ব্যাবহার করে।
উদাহারনঃ
৪। SharedPreferences থেকে ডাটা ক্লিয়ার করে ফেলাঃ
সব ডাটা পরিষ্কার করে ফেলতে SharedPreferences.Editor এ clear () ফাংশন রয়েছে। এই ফাংশন কল করার পর অবশ্যই commit() মেথড কল করতে হবে পরিবর্তন সংরক্ষণ করতে অন্যথায় ক্লিয়ার ডাটা প্রেফারেন্স ফাইল মুছবে না শুধু খালি করে ফেলবে।
ডাটা সংরক্ষণ করা হয় বিভিন্ন সেট ফাংশন দ্বারা, কিন্তু ডাটা টাইপের উপর নির্ভর করে ফাংশনের নাম লিখতে হবে, ফাংশনের ভিতর দুইটা প্যারামিটার থাকে প্রথমটা তে 'কী' (Keyword) দিতে হয় এবং পরেরটাতে মান/ ভেরিয়েবল দিতে হয় (Value / Variable)
১। PlayerPreference এ ডাটা সংরক্ষণ করাঃ
যদি ডাটাটা ইন্টিজার টাইপ হয়,
২। PlayerPreference এ সংরক্ষিত ডাটা পুনরায় ব্যাবহার করাঃ
যদি ডাটাটা স্ট্রিং টাইপ হয়,
৩। PlayerPreference এ আগে থেকেই কী-টা (Key) আছে বা তৈরি হয়েছে কিনা সেটা নিশ্চিত হওয়াঃ
৩। PlayerPreference থেকে সবগুলো কী (Key) এবং ডাটা মান মুছে ফেলাঃ
পোস্টটির কোন অংশ বুঝতে না পারলে নিচে কমেন্ট (Comment) করুন, ধন্যবাদ 😃।
শুরু করি অ্যান্ড্রয়েড স্টুডিও (Android Studio) নিয়ে,
অ্যান্ড্রয়েড স্টুডিওতে ডাটা সংরক্ষণের জন্য অনেক উপায় রয়েছে তার মধ্যে একটা হচ্ছে Shared Preferences। এটার মাধ্যমে ডাটা সংরক্ষণ এবং পুনরায় ব্যাবহার দুটোই করা যায় (Key, Value) জোড়া দুটির মাধ্যমে।
Shared Preferences কি?
এটি একটি সিঙ্গল্টন ক্লাস (Singleton Class) মানে এই ক্লাসে শুধুমাত্র একটি একক বস্তু থাকবে অ্যাপ্লিকেশনর জীবনচক্র জুড়ে।কঠিন হয়ে গেল ব্যাপারটা তাই না 😅 চলুন সরাসরি উদাহারনের মাধ্যমে বোঝার চেষ্টা করি,
Shared Preferences কিভাবে ব্যাবহার করতে হয়ঃ
১। Shared Preferences তৈরি করাঃএর জন্য আমাদের getPreferences(int mode) অথবা getSharedPreferences(String name, int mode) নামে মেথড কল (Call) করতে হবে।
২। Shared Preferences ডাটা সংরক্ষণ করাঃ
ডাটা সংরক্ষণ করার জন্য SharedPreferences ক্লাসের edit () ফাংশনটি কল করতে হবে যেটা এডিটর ক্লাসের অবজেক্ট রিটার্ন (Return) করে এবং প্রিমিটিভ ডাটা (Primitive Data) সংরক্ষণ করার জন্য বিভিন্ন ফাংশন প্রদান করে। এখানে কী-এর নাম আলাদা হওয়া জরুরী যেকোনো মানের জন্য অন্যথায় তা ওভাররাইড (প্রতিস্থাপন) হয়ে যাবে। বিভিন্ন প্রিমিটিভ ফাংশনে ঠিক মান সংরক্ষণ নিশ্চিত করতে commit () ফাংশন ব্যাবহার করতে হবে।
উদাহারনঃ
SharedPreferences sp = getSharedPreferences(PREFS_GAME, Context.MODE_PRIVATE);
sp.edit().putInt(GAME_SCORE,100).commit();
৩। SharedPreferences এ সংরক্ষিত ডাটা পুনরায় ব্যাবহার করাঃ
ডাটা পুনরায় ব্যাবহার করার জন্য আমাদের SharedPreferences এর অবজেক্ট রেফারেন্স অর্থাৎ getPreferences (int mode) or getSharedPreferences (String name, int mode) ফাংশন কল করতে হবে। তখন আমরা সংরক্ষিত ডাটা পুনরায় ব্যাবহার করতে পারব SharedPreferences অবজেক্টের বিভিন্ন প্রিমিটিভ টাইপ ফাংশন ব্যাবহার করে।
উদাহারনঃ
SharedPreferences sp = getSharedPreferences(PREFS_GAME , Context.MODE_PRIVATE);int sc = sp.getInt(GAME_SCORE,0);
৩। SharedPreferences থেকে ডাটা মুছে ফেলাঃ
প্রেফারেন্স ফাইল থেকে একটি বিশেষ কী-ভিত্তিক ডাটা মুছে ফেলতে SharedPreferences.Editor এ একটা ফাংশন removes (String key) রয়েছে।
৪। SharedPreferences থেকে ডাটা ক্লিয়ার করে ফেলাঃ
সব ডাটা পরিষ্কার করে ফেলতে SharedPreferences.Editor এ clear () ফাংশন রয়েছে। এই ফাংশন কল করার পর অবশ্যই commit() মেথড কল করতে হবে পরিবর্তন সংরক্ষণ করতে অন্যথায় ক্লিয়ার ডাটা প্রেফারেন্স ফাইল মুছবে না শুধু খালি করে ফেলবে।
এবার আসা যাক ইউনিটি (Unity) তে, ইউনিটিতে ডাটা সংরক্ষণের জন্য খুবই চমৎকার একটা মাধ্যম হল PlayerPreference।
PlayerPreference কি?
PlayerPrefs একটি কার্যকর বিল্ট-ইন ইউটিলিটি (Built-in Utility) যে দৃশ্যের মধ্যে নির্দিষ্ট ধরনের তথ্য বজায় রাখা সহজ করে । PlayerPrefs মানে প্লেয়ার পছন্দ সংরক্ষণ করা যেটা অনেকটা অ্যান্ড্রয়েড স্টুডিও এর মত। এটি আমাদের (Key, Value) জোড়া দুটির মাধ্যমে ডেটা সংরক্ষণ এবং পুনরুদ্ধারের অনুমতি দেয়। পরিচালনা করা সহজ এবং ডাটা যে শুধুমাত্র গেম দৃশ্যের মধ্যে পাস (Pass) করা যাবে এমন নয় বরং ইন্স্টান্সেসের (গেম সেশন) মধ্যেও পাস করা যাবে। এছাড়াও ডাটা সহজেই prefs ফাইল থেকে পরিবর্তন করা যাবে।
১। PlayerPreference এ ডাটা সংরক্ষণ করাঃ
যদি ডাটাটা ইন্টিজার টাইপ হয়,
PlayerPrefs.SetInt(“key”,value);
২। PlayerPreference এ সংরক্ষিত ডাটা পুনরায় ব্যাবহার করাঃ
PlayerPrefs.GetString("Name", "AppsDevSA");
৩। PlayerPreference এ আগে থেকেই কী-টা (Key) আছে বা তৈরি হয়েছে কিনা সেটা নিশ্চিত হওয়াঃ
PlayerPrefs.HasKey(“key”)
৩। PlayerPreference থেকে সবগুলো কী (Key) এবং ডাটা মান মুছে ফেলাঃ
PlayerPrefs.DeleteAll();
পোস্টটির কোন অংশ বুঝতে না পারলে নিচে কমেন্ট (Comment) করুন, ধন্যবাদ 😃।