我想知道什麼是SharedPreferencesCompat?和SharedPreferences有什麼不同?什麼是SharedPreferencesCompat? vs SharedPreferences
17
A
回答
21
所有...Compat
類是爲了向後兼容。有些功能爲舊設備帶來了新功能,而這些設備本身並不具備這些功能,有些功能可以通過其他方式爲舊設備開發。
在這種情況下,它提供了一種簡化的方式來調用其API等級增加9
你不需要這個類,如果你的應用程序不支持版本低於9年長的apply
方法。
如果你支持舊設備,並分別做了以下
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("key","val");
editor.apply();
因爲該方法不上你支持的所有設備存在,你會得到一個錯誤。解決這個問題變得很難看。除非你使用SharedPreferencesCompat
:
...
editor.putString("key", "val");
SharedPreferencesCompat.EditorCompat.getInstance().apply(editor);
3
反思utils的調用SharedPreferences $ Editor.apply時可能回落至提交申請時,無法使用。
相關問題
- 1. Android中的SharedPreferences是什麼?
- 2. DefaultPreferences VS. SharedPreferences
- 3. Android中SharedPreferences的用途是什麼?
- 4. 是什麼VS urlRoot
- 5. SharedPreferences與數據庫vs JSON
- 6. 什麼是Kestrel(vs IIS/Express)
- 7. 什麼是XPCOM? XPCOM vs COM?
- 8. 爲什麼SharedPreferences只更新一次TextView?
- 9. 什麼時候從磁盤讀取SharedPreferences?
- 10. 爲什麼SharedPreferences使用上下文?
- 11. 與Ionic 2中的SharedPreferences相當的類是什麼?
- 12. 在SharedPreferences中保存字符串的最快方法是什麼?
- 13. 「declare + x」是什麼意思vs「declare -x」?
- 14. Hive insert vs Hive Load:什麼是折衷?
- 15. AngularFire VS $ bindTo結合範圍是什麼?
- 16. 什麼是更快...... DBMS_XMLDOM vs appendchildxml
- 17. Inception5h vs Inception V4,什麼是5h
- 18. Node.js vs Twisted的用例是什麼?
- 19. getc()vs fgetc() - 主要區別是什麼?
- 20. 什麼是ROWID及的rowNum(ROWID VS ROWNUM)
- 21. VS項目綁定是做什麼的?
- 22. Meteor.setTimeout()vs setTimeout()是什麼意思?
- 23. canvas vs openGL的功能是什麼?
- 24. Sharedpreferences vs SQLite for large data without searching
- 25. 以下是什麼區別:Seaside vs Aida vs Iliad
- 26. 什麼是選項scanf vs獲取vs fgets?
- 27. gerrit-git(pull vs checkout vs cherrypick)這是爲了什麼?
- 28. 什麼是Python約定** kwargs vs ** kwds vs ** kw?
- 29. SystemJS配置中的模塊Vs位置Vs包是什麼?
- 30. lambda vs proc或Struct vs Class的區別是什麼?
這不是支持庫的版本。支持庫的版本不使用反射。 – BladeCoder