طعم شیرین برنامه نویسی

هنر طراحی و پیاده سازی در برنامه نویسی

طعم شیرین برنامه نویسی

هنر طراحی و پیاده سازی در برنامه نویسی

SharedPreferences، در واقع در مواقعی بکار می رود که می خواهیم فایل تنظیماتی برای برنامه خود با قابلیت ذخیره تنظیمات در دستگاه اندروید، داشته باشیم.

مثلا می توان به روشن و خاموش بودن سرویسی که در برنامه استفاده شده و توسط کاربر تنظیم می گردد، اشاره کرد.
به عنوان مثال میخواهیم تنظیماتی برای ذخیره یه String که یه مثلا به دید روشن و خاموش بودن سرویسمون بهش نگاه کنیم، در سیستم ذخیره کنیم.
برای خواندن این فایل تنظیمات به صورت زیر عمل میکنیم:

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
String ENABLE = sharedPreferences.getString("Enable", "on");

خط اول که تعریف متغیری از نوع SharedPreferences می باشد و در خط دوم متغیر ENABLE که از نوع String بوده و با استفاده از متد getString فراخوانی می گردد که آرگومان های آن به ترتیب، کلید درخواست و مقدار پیش فرض درخواست می باشد.
در واقع چک می کند که آیا مقداری با کلید Enable در تنظیمات ذخیره شده است یا نه که در صورت بودن، مقدار ذخیره شده، و در غیر این صورت مقدار پیشفرض که در اینجا on می باشد را بر می گرداند.

برای نوشتن تنظیمات نیز، اعمال زیر را انجام می دهیم:

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
Editor editor = sharedPreferences.edit();
editor.putString("Enable", "off");
editor.commit();

خط اول که همان تعریف بوده و در خط دوم هم نیازی به متغیری از نوع Editor داریم تا بتوانیم، اطلاعات موجود در SharedPreferences را تغییر دهیم.
در خط سوم، میخواهیم، توسط Editor مقدار با کلید Enable را به off تغییر دهیم که این کار نیز با مقدار putString امکان پذیر است و در واقع از این پس بعد از باز کردن برنامه، مقدار خوانده شده در قسمت اول کد، به جای مقدار پیشفرض مقدار off بر میگرداند و تا وقتی مقدار آن را عوض نکینم، همینطور خواهد ماند.
البته باید توجه کرد که برای ذخیره تغییرات نیاز به خط چهارم برنامه است.

در ضمن به جای getString و putString که در این مثال به آن اشاره شد، انواع دیگری از جمله Integer، Boolean و ... نیز برای SharedPreferences تعریف شده است.

در واقع میتوان SharedPreferences را با JSON که قالبا از آن جهت ذخیره فایل تنظیمات استفاده می گردد مقایسه کرد.

نظرات (۶)

ممنون، خیلی مفید بود
  • امیر رستگار
  • سلام و خسته نباشید.
    آموزش بسیار عالی و مختصر و مفید بود...
    با تشکر :.: موفق باشید.
    سلام خوبی؟
    تشکر عالی بود
    سلام
    در برخی فایل ها در پوشه shared_prefs فایل مربوط به برنامه کد شده
    مثلا محتوای فایل بدین صورت هستش:

    <string name="XA=D Txp~?"></string>

    داخل کوتیشن Name کد شده.
    چجوری میشه دیکد کرد ؟!
    پیشاپیش ممنون از پاسخگویی

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