2015-11-19 16 views

risposta

21

Tutte le classi ...Compat sono compatibili con le versioni precedenti. Alcuni portano nuove funzionalità a dispositivi meno recenti che non li hanno in modo nativo, altri aiutano in altri modi a sviluppare i vecchi dispositivi.

In questo caso, si fornisce un modo semplificato per chiamare il metodo apply che è stata aggiunta a livello di API 9.

Non è necessario che la classe, se la vostra applicazione non supporta le versioni più vecchio di 9.

Se supportare i dispositivi meno recenti e sono stati a fare quanto segue

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); 
SharedPreferences.Editor editor = preferences.edit(); 
editor.putString("key","val"); 
editor.apply(); 

si otterrebbe un errore perché quel metodo non esiste su tutti i dispositivi si sostegno. Lavorare in giro diventa brutto. Se non si utilizza SharedPreferencesCompat:

... 
editor.putString("key", "val"); 
SharedPreferencesCompat.EditorCompat.getInstance().apply(editor);