ذخیره اطلاعات با SharedPreferences در برنامه نویسی اندروید

ذخیره تنظیمات با SharedPrefrences

خلاصه آموزش:

  • SharedPrefrences در اندروید

  • ذخیره تنظیمات با SharedPrefrences

  • ساخت تنظیمات با ایجاد پروژه در محیط اندروید استودیو

 

انوع راه های موجود برای ذخیره اطلاعات در اندروید:

راه های ذخیره سازی توضیحات

SharedPrefrences:

بیشتر برای ذخیره تنظیمات

Sqlite Database:

برای ذخیره محتوی و عناوین برنامه و یا حتی عکس و ویدیوی کم حجم

Content Provider:

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

File :

برای ذخیره و کار با فایل های متن صدا و تصویر

در این مبحث با آموزش SharedPrefrences با شما همراه هستیم.

اندروید روش های زیادی برای ذخیره اطلاعات یک برنامه ارائه می دهد. یکی از این راه ها Shared Preferences می باشد. Shared Preferences به شما اجازه می دهد تا داده را به شکل جفت کلید / مقدار (key/ value)  ذخیره و بازیابی کنید.

SharedPrefrences ، اطلاعات را بصورت موقت در حافظه داخلی نگه میدارد و تا زمانی که اپلیکیشن نصب باشد اطلاعات نیز موجود میباشند .

برای استفاده از SharedPrefrences باید متد ()getSharedPreferences را فرابخوانید که یک نمونه از SharedPreference را با اشاره به فایلی که شامل مقادیر preferences می شود، گزارش می دهد.

به MODE_PRIVATE توجه کنید، با استفاده از این دستور حالت دسترسی را خصوصی تعیین کرده ایم. SharedPrefrences به غیر از حالت خصوصی در حالت های دیگر در دسترس است که به شرح زیر است .

اولین پارامتر(MyPREFERENCES) کلید و دومین پارامتر(Context.MODE_PRIVATE) حالت دسترسی می باشد. علاوه بر اینها حالت های دیگری هم وجود دارند که در جدول زیر ارائه شده اند.

ردیف حالت و شرح
۱ MODE_APPEND

Preference های جدید را با preference  های موجود یکی می کند.(به آن ها اضافه میکند)

۲ MODE_ENABLE_WRITE_AHEAD_LOGGING

وقتی پایگاه داده ی open flag  تنظیم می شود، به طور پیش فرض نوشتن و ورود را فعال می کند.

۳ MODE_MULTI_PROCESS

این روش تعدیل preferenceها را چک خواهد کرد، حتی اگر نمونه ی sharedpreference تقریبا بارگذاری شده باشد.

۴ MODE_PRIVATE

با تنظیم این روش فایل preference تنها با استفاده از برنامه در دسترس خواهد بود.

۵ MODE_WORLD_READABLE

این روش به برنامه های دیگر اجازه می دهد تا preference را بخوانند.

۶ MODE_WORLD_WRITEABLE

این روش به دیگر برنامه ها اجازه می دهد تا preference را بنویسند.

شما می توانید ذخیره اطلاعات در sharedpreferences را با استفاده از کلاس SharedPreferences.Editor انجام دهید.برای این کار ویرایشگر این کلاس را طبق کدهای زیر صدا بزنید.

برای خواندن در کلاس دیگر از این کدها استفاده کنید.

نحوه کلی کار با آن ها به صورت کلید و مقدار (key-value) می باشد.
شما یک مقدار را (عدد ، رشته ، بولین) در آن با اسم خاصی put می کنید و زمان نیاز با همان اسم آن را get می کنید.

علاوه بر متد putString متدهای دیگری در گروه ویرایشگر هستند که امکان اجرای داده را در داخل SharedPreference فراهم می کنند. در جدول زیر این متدها را مشاهده می کنید.

ردیف حالت و شرح
۱  ()clear

تمام مقادیر را از ویرایشگر حذف خواهد کرد.

۲ remove(String key)

مقداری را که کلید آن به عنوان یک پارامتر انتخاب شده باشد، حذف می کند.

۳ putLong(String key, long value)

یک مقدار از نوع Long را در یک ویرایشگر preference ذخیره خواهد کرد.

۴ putInt(String key, int value)

یک مقدار صحیح (از نوع int) را در یک ویرایشگر preference ذخیره خواهد کرد.

۵ putFloat(String key, float value)

یک مقدار از نوع Float را در یک ویرایشگر preference ذخیره خواهد کرد.

مثال

این مثال صفحه ای را با فیلدهای متن نمایش می دهد که مقدار آن زمانی که برنامه بسته می شود، ذخیره شده و در هنگام باز کردن دوباره بازمی گردد.. برای این منظور مراحل جدول زیر را دنبال کنید.توصیه میکنم برای آزمایش این مثال از یک دستگاه واقعی استفاده کنید.

مراحل توضیحات
۱   با استفاده ار اندروید استودیو یک پروژه ی جدید با نام SharedPreferences تحت بسته ی com.example.sharedpreferences نام گذاری کنید. زمان ایجاد این برنامه مطمئن شوید که Target SDK و Compile With در آخرین ورژن Android SDK هستند تا از سطوح بالاتر API استفاده کنید.
۲ فایل java/MainActivity.java را برای افزودن کد پیشروی و نمایش دیالوگ دایره ی پیشروی تغییر دهید.
۳ فایل res/layout/activity_main.xml را برای افزودن کد XML مربوطه تغییر دهید.
۴ فایل res/values/string.xml را برای افزودن یک پیام به عنوان یک رشته ی ثابت تغییر دهید.
۵ چنانچه از آخرین نسخه ی SDK و بالاترین سطح API استفاده می کنید برنامه را با شبیه ساز اجرا کنید؛ در غیر این صورت مانند آنچه در بخش آموزشی ساخت اولین پروژه در اندروید استودیو توضیح داده شده است از برنامه خروجی بگیرید و آن را روی یک دستگاه واقعی اجرا کنید و به بررسی نتیجه بپردازید.

در زیر محتوای فایل java/com.example.sharedpreferences/MainActivity.java آورده شده است.

محتوای زیر مربوط به فایل res/layout/activity_main.xml می باشد.

در زیر محتوای فایل res/values/strings.xml آورده شده است.

در زیر محتوای فایل AndroidManifest.xml آورده شده است.

حال نوبت آن رسیده تا با استفاده از اندروید استودیو برنامه را اجرا کنیم. برای این منظور روی آیکون Run که در نوار ابزار قرار دارد کلیک کنید.اگر همه چیز بدون مشکل پیش برود پنجره ی شبیه ساز شما مانند تصویر زیر خواهد بود.

android Shared Preferences

وقتی روی دکمه ی save فشار می دهید، ذخیره اطلاعات در shared preferences انجام می شود. پس از آن دکمه ی back را زده و از برنامه خارج شوید. حالا آن را دوباره باز کنید. تمام متنی را که ذخیره کرده بودید در برنامه خواهید دید.

SharedPreferences

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *