Лучший способ использовать вашу SharedPrefernce - , используя ваш appContext, который доступен для всего приложения (Common SharedPrefernce и доступен везде) .
Определите свой экземпляр SharedPrefernce в своемКласс приложения с методами get и set , как показано ниже: (Если вы не создали класс Application, создайте его, как показано ниже, Этот класс вызывается в начале вашего приложения)
public class Application extends android.app.Application {
private static Application _instance;
private static SharedPreferences _preferences;
@Override
public void onCreate() {
super.onCreate();
_instance = this;
}
public static Application get() {
return _instance;
}
/**
* Gets shared preferences.
*
* @return the shared preferences
*/
public static SharedPreferences getSharedPreferences() {
if (_preferences == null)
_preferences = PreferenceManager.getDefaultSharedPreferences(_instance);
return _preferences;
}
//set methods
public static void setPreferences(String key, String value) {
getSharedPreferences().edit().putString(key, value).commit();
}
public static void setPreferences(String key, long value) {
getSharedPreferences().edit().putLong(key, value).commit();
}
public static void setPreferences(String key, int value) {
getSharedPreferences().edit().putInt(key, value).commit();
}
public static void setPreferencesBoolean(String key, boolean value) {
getSharedPreferences().edit().putBoolean(key, value).commit();
}
//get methods
public static String getPrefranceData(String key) {
return getSharedPreferences().getString(key, "");
}
public static int getPrefranceDataInt(String key) {
return getSharedPreferences().getInt(key, 0);
}
public static boolean getPrefranceDataBoolean(String key) {
return getSharedPreferences().getBoolean(key, false);
}
public static long getPrefranceDataLong(String interval) {
return getSharedPreferences().getLong(interval, 0);
}
}
Объявите класс Application в файле AndroidManifest.xml со строкой android: name = ". Application" , как показано в следующем фрагменте:
<application
android:name=".Application"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="true"
android:theme="@style/AppTheme">
Теперь, как сохранить ключ-значение:
Application.setPreferences("Key","String_Value");
Как получить значение ключа:
String value_string=Application.getPrefranceData("Key");
Теперь вы можете set-SharedPrefernce значение ключа и get-SharedPrefernceзначение из любой точки приложения с использованием общедоступного класса приложения и статических методов get и set