مکان ذخیره ی sharedPrreference ها (سوال)
سلام دوستان (دیگه این دیالوگم ضایع شده)
sharedPreference ها همه تو یه فایل ذخیره می شن؟ همون فایلی که استاد نشون دادن؟ یا هر پریفیرنس تو فایلی که نامش در برنامه تعریف شده ذخیره می شه؟
99% در /data/data/YOUR-PACKAGE-NAME/shared_prefs/.
1% در /dbdata/databases/YOUR-PACKAGE-NAME/shared_prefs/ (اندرویدهای قدیمی و امثالش)
ولی من الآن که امتحان کردم هر پریفیرنس تو فایل هم نام خودش ذخیره می شه. مثلا
SharedPreferences shared1 = getSharedPreferences("Prefds1", MODE_PRIVATE);
SharedPreferences.Editor editor1 = shared.edit();
editor1.putString("FIRSTRUN", "1");
editor1.commit();
SharedPreferences shared2 = getSharedPreferences("Prefds2", MODE_PRIVATE);
SharedPreferences.Editor editor2 = shared.edit();
editor2.putString("FIRSTRUN", "2");
editor2.commit();
SharedPreferences shared3 = getSharedPreferences("Prefds3", MODE_PRIVATE);
SharedPreferences.Editor editor3 = shared.edit();
editor3.putString("FIRSTRUN", "3");
editor3.commit();
البته من اشتباه گفتم منظورم از فایل پوشه نبود چون همه ی پریفیرنس ها توی یک پوشه هستند اما ذخیره ی اونها تو فایل های xml مختلف (همنام باهاشون) ذخیره می شن.
مثلا الآن که تو بالا سه تا key همنام (FIRSTRUN) داریم اشکالی نداره و هر سه با مقدار متفاوت تو پریفیرنس همنامش ذخیره می شه که اولی با مقدار "1" تو prefs1 و دومی با مقدار "2" تو prefs3 و سومی با مقدار "3" prefs3 ذخیره می شن و با هر کردوم از پریفیرنس ها که اون FIRSTRUN رو بخونم مقدار مربوطه رو خروجی می ده.
خب حالا چند تا سوال دارم:
یکی این که ایا اصلا این قاعده درسته و حتما همینطوری عمل می کنه یا نه؟
دوم این که MODE_PRIVATE که اخر اینها نوشته چیه؟
و چه فرقی بین
SharedPreferences shared1 = getSharedPreferences("Prefds1", MODE_PRIVATE);
و
SharedPreferences preference = PreferenceManager.getDefaultSharedPreferences(this);
که تو کلاس G می نوشتیم هست؟
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .