Shared Preferences بالعربي

 

ماهو Shared Preferences وكيف أستخدمه؟

بكل بساطة هو وسيلة لتخزين البيانات البسيطة مثل اسم المستخدم او بعض الإعدادات  أو بعض القيم لأشياء معينة

نبدأ بإنشاء Shared Preferences كما بالصورة

أسمينا ملف Shared Preferences myPrefs حيث أنه سيتم إنشاء ملف باسم myPrefs في الهاتف كما سنرى لاحقاً..

بعد ذلك نبدأ بوضع القيم داخل Shared Preferences كما في المثال

يمكنك وضع بيانات من الأنواع boolean,float,int,long,String,StringSet..

على سبيل المثال سنضع قيمة من نوع String ولتكن اسم “TecStore”  ونخزنه داخل Shared Preferences

نلاحظ ان الميثود putString تأخذ ٢ بارامتر,الأول وهو ال key من نوع String وهو الذي يتم استدعاؤه عند جلب القيمة كما في المثال

والبارامتر الثاني وهي القيمة الذي تريد تخزينها

ولا ننسى وضع .apply() لحفظ القيمة

 

بعد ذلك قمنا بإنشاء String وأسميناه aStringfromShared ونلاحظ أيضاً عند الإستدعاء يوجد ميثود getString وهي تأخذ ٢ بارامتر,الأول هو key ويجب أن يكون نفس key الذي قمنا بإنشاءه سابقاً,اما البارامتر الثاني فهي القيمة الإفتراضية  يمكن وضعها null او أي قيمة تريد..

نجرب أن نطبع القيمة التي قمنا بتخزينها

فنجد ان القيمة هي “TecStore”

 

فعلياً عندما تقوم بإنشاء Shared Preferences فإنه يقوم بإنشاء ملف بصيغة xml في داخل مجلد التطبيق بنفس الإسم الذي وضعته,في حالتي هو myPrefs

فإذا ذهبت الى متصفح الملفات (قد تحتاج لصلاحيات روت) الى مجلد data/data/”yourpackageName” ستجد عدة مجلدات منها shared_prefs وداخلها ستجد جميع ملفات Shared Preferences التي قمت بإنشائها

واذا قمنا بفتح ملف myPrefs.xml سنجد بداخله القيمة التي قمنا بتخزينها مع key

في بعض المشاريع قد تحتاج لفعل شيئ ما فقط عند تشغيل التطبيق لأول مرة (كتحميل بعض البيانات من السيرفر الخ..)

كيف يمكننا فعل ذلك؟

بسيطة جداً

كل ماعليك هو إنشاء Shared Preferences ومن ثم انشاء متغير boolean ونسميه isFirstTime على سبيل المثال

ونعطيه قيمة prefs.getBoolean(“myFirstTime”,true)

أسمينا key myFirstTime وأعطينا القيمة الإفتراضية true (وذلك يعني ان لم تكن القيمة مخزنة فهي تساوي true)

بعد ذلك قمنا بفحص ما إذا كانت القيمة isFirstTime تساوي true فأظهر لنا رسالة Toast ومحتواها This is First Time Run 😀

بعد ذلك سنضع القيمة myFirstTime نضعها false (لأنه حالياً قد تم تشغيل التطبيق فعلياً أول مرة ولا نريد كل مرة ان يظهر نفس رسالة Toast)

الآن عند تشغيل التطبيق لأول مرة سنجد رسالة Toast قد ظهرت

 

وعند تشغيل للمرة الثانية لا يظهر شيئ (وهذا مانريده :D)

وعلى نفس النمط يمكنك تخزين إعدادات المستخدم على سبيل المثال

مثلا مسار نغمة الرنين,حجم الخط,عدد coins في بعض الألعاب الخ…

 

يمكنك أيضاً التحقق من أن ملف Shared Preferences يحتوي على key معين كما في المثال

لمزيد من المعلومات عبر موقع المطورين

عن 3llomi

Just A GEEK :)

شاهد أيضاً

إرسال الإشعارات عبر Cloud Functions وبدون سيرفر خارجي

في هذا الشرح سنقوم بطرح كيفية إرسال الإشعارات الى المستخدمين باستخدام Firebase Cloud Functions بدون …

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *