آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

طبقه بندی موضوعی

آموزش Preference ها در اندروید - 1

يكشنبه, ۲۹ دی ۱۳۹۸، ۱۲:۲۳ ق.ظ

یکی دیگه از روش های ذخیره سازی اطلاعات در اندروید استفاده از Preference ها هست. توی این روش اطلاعات در یک فایل XML ذخیره میشه. معمولا اطلاعاتی مثل تنظیمات برنامه (اسم کاربر، اندازه فونت، رنگ بک گراند و ...) رو توی Preferenceها ذخیره میکنن.

 

اگر گوشی روت شده باشه (دسترسی به روت داشته باشه) میشه فایل این XML رو دید. (توی امولیتور از طریق مسیر

اسم پکیج برنامه < data > data قابل نمایشه)

 

 

توی این روش اطلاعات چندان safe نیست. چون ممکنه کاربر کش برنامه رو پاک کنه و بپره. اگر خواستید اطلاعات safe باشه باید اطلاعات رو کد کنیم. این زیاد موضوع مورد بحث ما نیست.

 

کلا به سه طریق میشه از Preferenceها استفاده کرد:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences prefs = getPreferences(MODE_PRIVATE);
SharedPreferences prefs = getSharedPreferences("MyPrefs",MODE_PRIVATE);

اولی و سومی مثل هم هستن. با این فرق که توی اولی اسم فایل رو ما نمیدیم و خودش یک فایلی به فرمت زیر میسازه:

 

 Preferences_ + اسم پکیج

 

بنابراین اگر از اولی استفاده کنیم نمیتونیم چند تا فایل preference داشته باشیم ولی توی سومی میشه. 

نکته دیگه اینکه فایل های Preference ای که در این حالت ایجاد میشن میتونن توی اکتیویتی های مختلف مورد استفاده قرار بگیرن (توی اسمشون هم shared هست)

برای استفاده از فایل مشخص ایجاد شده در اکتیویتی های مختلف باید اسم فایل در getSharedPreferences را برابر اسم فایل مورد نظر قرار بدیم.

 

و اما getPreferences؛

اگر از این استفاده کنیم فایل Preference ایجاد شده فقط توی همون اکتیویتی معتبر هست و نمیشه توی اکتیویتی های دیگه ازش استفاده کنیم. در این حالت فایل XML ای به اسم همون اکتیویتی ساخته میشه. مثلا:  MainActivity.xml

 

Preferenceها معمولا MODE رو توی آرگومان خودشون میخوان (به جز getDefaultSharedPreferences، که مدش به صورت پیش فرض Private هست)

مد رو معمولا به صورت MODE_PRIVATE قرار میدهیم، به این معنی که فقط این اپلیکیشن اونم در صورتی که اجرا بشه به این فایل دسترسی داره.

 

نکته مهم:

 

از Preferenceها برای ذخیره نوع داده های اولیه (Primitive data types) استفاده میشه و نه برای ذخیره سازی اشیا.

  

 

موافقین ۰ مخالفین ۰ ۹۸/۱۰/۲۹
میم دال

نظرات  (۱)

سلام. وبلاگ فوق العاده ای دارین. باعث افتخار و خوشحالی ماست که شما یکی از کاربران سایت http://UrlMe.ir  باشید.

در این سایت شما می توانید با کوتاه کردن لینک های خود و انتشار لینک های کوتاه شده ، به صورت ویژه و حرفه ای درآمد کسب کنید.

منتظر حضور شما هستیم.

آدرس ما :   https://urlme.ir/on/urlme

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی