تالار گفتمان nCIS.ir

نسخه‌ی کامل: پارامتر هایی که getSharedPreferences ها میگیرند
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
با سلام و عرض ادب
من میخواستم بدونم که توی Sharedpreferences ها فرق بین پارامتر Context.MODE_PRIVATE  و MODE_PRIVATE چیه؟همچنین این که چه موقع MODE_PRIVATE و چه موقع از  MODE_APPEAND یا ... استفاده میکنیم؟
باتشکر.
فرقی ندارن. درواقع MODE_PRIVATE داره از این ثابت توی Activity استفاده میکنه که خود اکتیویتی هم از کلاس Context مشتق شده و این ثابت بهش ارث رسیده. در جاهایی که کلاس اکتیویتی در دسترستون نیست (مثل فرگمنت یا دیالوگ و...)، میتونین با کمک اسم کلاس Context به این ثابت‌ها دسترسی پیدا کنید.

انواع وضعیت‌هایی که میتونین توی SharedPreferences بکار ببرین اینها هستن:

MODE_APPEND : این وضعیت باعث میشه تنظیمات جدید به انتهای تنظیمات موجود اضافه بشن (اگه از قبل فایل تنظیمات موجود باشه، پاک نمیشه).

MODE_ENABLE_WRITE_AHEAD_LOGGING : این وضعیت باعث میشه قابلیت ثبت لاگ‌ها فعال بشه. درمورد Write Ahead Logging تحقیق کنید.

MODE_MULTI_PROCESS : این وضعیت باعث میشه تغییرات فایلهای تنظیمات مرتب چک بشن حتی اگه شئ SharedPreferences قبلاً ایجاد شده باشه. این حالت برای وقتی که از SharedPreferences توی چند پردازش موازی استفاده میکنید مفیده.

MODE_PRIVATE : با استفاده از این حالت، فایل تنظیمات فقط توسط اپلیکیشنی که ایجادش کرده قابل دسترسی خواهد بود (مگه اینکه گوشی Root شده باشه).

MODE_WORLD_READABLE : این حالت اجازه میده که سایر برنامه‌ها بتونن تنظیمات برنامه‌ی شما رو بخونن.

MODE_WORLD_WRITEABLE : این وضعیت اجازه میده که سایر برنامه‌ها بتونن تنظیمات برنامه‌ی شما رو تغییر بدن.

نکته: میتونین چند حالت رو با OR یا عملگر | ترکیب کنید. برای مثال:
SharedPreferences = getSharedPreferences("prefs", MODE_APPEND | MODE_PRIVATE);