SharedPreferences و Rxjava

پرسیده شده
فعالیت 1239 روز پیش
دیده شده 413 بار
1

سلام.. یه سوالی داشتم..

ما یه کلاسی داریم که متدای ذخیره و دریافت از share preferences  رو هندل میکنه، یه ویو مدل داریم که یه اینستنسی از این کلاس داره و قراره متد saveField رو به View برگردونه.. من چطوری این رو هندل کنم که بتونم بفهمم آیا مثلا فیلد ذخیره شدنش success شده یا نه؟ 

اصن نیاز هستش؟

 

Share Preferences

public void saveStringField(String key, String value) {
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putString(key, value);
        editor.apply();
    }

ViewModel

public void saveField(String key, String value){
        userManager.saveStringField(key, value);
    }

 

فایل پیوست

1
حذف شده

ابولفضل جان این اتفاق احتمال بسیار کمی برای انجام شدن داره که حافظه گوشی اینقدر پر باشه که حتی جایی برای ذخیره سازی فایل shared preferences نداشته باشه که در این صورت کاربر در تمامی مراحل کار کردن با گوشی به مشکل میخوره نه تنها با اپ ما

 

اما اگر خیلی برامون مهم باشه که آیا ذخیره‌سازی در shared preferences به درستی انجام شده یا خیر ، میتونیم پس از ذخیره‌سازی یکی از property های مورد نظر را فراخوانی کنیم ، تا از ذخیره‌سازی اطمینان حاصل کنیم که انجام آن پیشنهاد نمیشود .

 

با آرزوی موفقیت

فایل پیوست

Hamidreza Karimi

توسط

Hamidreza Karimi

14 آذر 99

0
حذف شده

سلام و احترام

 

نه جناب رضایی بنظر من نیازی نداره ، چرا که اگر SharedPreferences به درستی پیاده سازی شده باشه ، 

ذخیره‌سازی موفقیت آمیز خواهد بود ،

که البته میتونید با استفاده از Breakpoint در متد saveField از apply شدن و نحوه پیاده سازی اون مطمئن شوید.

 

با آرزوی موفقیت

فایل پیوست

Hamidreza Karimi

توسط

Hamidreza Karimi

14 آذر 99

حذف شده
به عنوان مثال سناریویی داریم که حافظه گوشی کاربر خیلی خیلی پر هستش و موقعی که میخواد فایل share preferences ایجاد بشه با خطایی از سمت سیستم مواجه بشه و سیستم اجازه ایجاد فایل رو نده.. در اینصورت کل اپ که وابسته به Share preferences متوقف خواهد شد..