شما در اندروید به روشهای مختلفی میتوانید دادههای مورد نظر خود را در حافظه ذخیره کنید، یکی از این روشها Shared Preferences میباشد. SharedPreferences در اندروید یکی از معروفترین روشهای ذخیره سازی داده میباشد که اندروید آن را به شما ارائه میدهد. در ادامه با آموزش Shared Preferences در اندروید، با ما همراه باشید تا روش کار با آن را یاد بگیرید.
اگر تو هم به برنامه نویسی اندروید علاقه داری پیشنهاد میکنیم به صفحه دوره آموزش برنامه نویسی اندروید سون لرن بری و با مشاوران ما در این زمینه در ارتباط باشی.
Shared Preferences چیست؟
SharedPreferences در اندروید روشی است که در آن میتوان مقدار کمی از دادههای اولیه را به شکل جفت key/value (کلید/مقدار) در فایلهای ذخیره سازی دستگاه به صورت String ،int ،float ،Boolean ذخیره و بازیابی کرد. این فایلها به صورت یک فایل XML درون برنامه ایجاد شده و در حافظه دستگاه میباشند.
Shared Preferences را میتوان به عنوان یک دیکشنری یا یک جفت key / value در نظر گرفت. به عنوان مثال، ممکن است یک کلید "Username" داشته باشید و شما برای این کلید مقدار نام کاربری کاربر را ذخیره کنید. سپس میتوانید نام کاربری ذخیره شده را توسط کلید بازیابی کنید (در این مثال "Username" کلید ما بود).
شما میتوانید Shared Preferences API داشته باشید به این صورت که با استفاده از آن میتوانید تنظیمات را ایجاد و ذخیره کرده و هر زمان که به آن نیاز داشتید از آن استفاده کنید. کلاس API ،Shared Preferencesها را برای خواندن، نوشتن و مدیریت این دادهها فراهم میکند.
SharedPreferences در اندروید برای شرایط مختلفی مناسب میباشد. به عنوان مثال، در مواردی که تنظیمات کاربر نیاز به ذخیره شدن دارند و یا دادههایی که از قبل ذخیره شدهاند، میتوانند در اکتیویتیهای (Activity) مختلف درون برنامه استفاده شوند.
اگر با چرخهی عمر کتیویتی آشنا باشید میدانید که، ()onPause همیشه قبل از قرار گرفتن اکتیویتی شما در Background یا Destroyed فراخوانی میشود، بنابراین برای اینکه دادهها به صورت مداوم ذخیره شوند، ترجیح میدهیم آنها را در ()onPause ذخیره کنیم، که میتواند در ()onCreate اکتیویتی بازیابی شود. دادههای ذخیره شده با استفاده از Shared Preferences در محدودهی (Scope) برنامه به صورت خصوصی حفظ میشوند. SharedPreferences مخصوص برنامه است، یعنی دادهها با انجام یکی از گزینههای زیر از بین میروند:
هنگامی که برنامه را حذف کنید.
هنگامی که دیتای برنامه را (از طریق تنظیمات) پاک کنید.
همانطور که از نام آن مشخص است، هدف اصلی از ذخیرهی اطلاعات پیکربندی مشخص شده توسط کاربر، مانند تنظیمات خاص کاربر، نگهداشتن کاربر در برنامه است.
برای دسترسی به تنظیمات، سه API برای انتخاب داریم:
()getPreferences: برای دسترسی به تنظیمات خاص اکتیویتی، از درون اکتیویتی شما استفاده میشود.
()getSharedPreferences: برای دسترسی به تنظیمات سطح برنامه، از درون اکتیویتی شما (یا Context دیگر برنامهها) استفاده میشود.
()getDefaultSharedPreferences: برای دریافت Shared Preferences که با چارچوب تنظیمات کلی اندروید سازگار است، استفاده میشود.
در این آموزش ما از ()getSharedPreferences استفاده خواهیم کرد. این متد به شرح زیر تعریف میشود:
getSharedPreferences (String PREFS_NAME, int mode)
PREFS_NAME نام پرونده است.
mode حالت عملیاتی است.
حالتهای عملیاتی قابل اجرا در زیر وجود دارد:
MODE_PRIVATE: حالت پیش فرض میباشد، که در آن تنها با خود برنامه میتوان به پرونده ایجاد شده دسترسی پیدا کرد.
MODE_WORLD_READABLE: ایجاد پروندههای قابل خواندن در دنیا بسیار خطرناک است و احتمالاً باعث ایجاد حفرههای امنیتی در برنامهها میشود.
MODE_WORLD_WRITEABLE: ایجاد پروندههای قابل نوشتن در دنیا بسیار خطرناک است و احتمالاً باعث ایجاد حفرههای امنیتی در برنامهها میشود.
MODE_MULTI_PROCESS: این متد، تنظیمات را بررسی میکند حتی اگر نمونهای از Shared Preferences قبلاً بارگیری شده باشد.
MODE_APPEND: این متد تنظیمات جدید را به تنظیمات موجود اضافه میکند.
MODE_ENABLE_WRITE_AHEAD_LOGGING: هنگامی که تنظیم شود، به طور پیش فرض نوشتن قبل از ورود را فعال میکند.
مقداردهی اولیه
برای ویرایش و ذخیرهی تغییرات در Shared Preferences، به یک ویرایشگر (Editor) نیاز داریم. میتوانید از کد زیر برای دریافت Shared Preferences استفاده کنید.
طرح activity_main.xml شامل دو ویوی EditText است که نام و ایمیل را ذخیره کرده و نمایش میدهد. این سه دکمه OnClickهای مربوطه را در MainActivity پیاده سازی میکنند.
اندروید روشهای زیادی برای ذخیرهی دادههای یک برنامه فراهم میکند. یکی از این راهها Shared Preferences نامیده میشود. Shared Preferences به شما امکان میدهد دادهها را به صورت جفت کلید/مقدار ذخیره و بازیابی کنید. شما در این مقاله آموختید که Shared Preferences چیست و در آموزش Shared Preferences در اندروید با ما همراه بودید، امیدوار هستیم که این مقاله برای شما مفید بوده باشد. اگر در این زمینه تجربه یا سوالی دارید خوشحال میشویم آن را با ما و کاربران وب سایت سون لرن به اشتراک بگذارید.