2015-11-19 61 views

回答

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); 
相關問題