如何将 sharedpreferences 实现到 android 应用程序中
How to implement sharedpreferences into an android application
我正在尝试在我的 android 应用程序中使用共享首选项来在本地保存高分。我正在按照 link http://developer.android.com/guide/topics/data/data-storage.html#filesInternal 中的指南进行操作,但我不确定一个小细节。指南说使用这个 public class Calc extends Activity {
public static final String PREFS_NAME = "MyPrefsFile";
我想知道我是否会创建一个新的 activity 来使用它,或者我是否会将它放在我的主 activity 中。很抱歉这个愚蠢的问题,但我真的被困住了,不知道如何继续解决这个问题。感谢阅读,非常感谢任何帮助。
这样做,
public static void savePreference(Context context,String name, String value)
{
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = prefs.edit();
if (name != null && value != null)
{
editor.putString(name, value);
}
editor.commit();
}
public static String loadPreference(Context context,String name)
{
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
return prefs.getString(name, null);
}
当使用共享首选项时,这是一个写入内部应用程序目录的 xml 文件,它需要一些东西来命名这个文件(使用默认共享首选项时除外)。您可以随意命名它,并在您想要的任何地方声明名称:如果它要被许多 class 访问(活动、服务等),您可以创建自己的 class 并通过在上下文中执行您需要的任何操作。如:
public class SharedPreferencesManager {
public static final String PREFERENCES_NAME = "awesomePrefs";
private static final String PREFERENCES_KEY_HIGHSCORE_LIST = "hscore";
public static void saveHighScoreList(Context c, ArrayList<HighScore> scores) {
SharedPreferences sp = c.getSharedPreferences(PREFERENCES_NAME, Context.MODE_PRIVATE);
SharedPreferences.Editor edit = sp.edit();
edit.putString(PREFERENCES_KEY_HIGHSCORE_LIST, serializeHighScores(scores));
// save it
edit.apply();
}
private static String serializeHighScores(ArrayList<HighScore> scores) {
return // some form of concatenation
}
}
我正在尝试在我的 android 应用程序中使用共享首选项来在本地保存高分。我正在按照 link http://developer.android.com/guide/topics/data/data-storage.html#filesInternal 中的指南进行操作,但我不确定一个小细节。指南说使用这个 public class Calc extends Activity {
public static final String PREFS_NAME = "MyPrefsFile";
我想知道我是否会创建一个新的 activity 来使用它,或者我是否会将它放在我的主 activity 中。很抱歉这个愚蠢的问题,但我真的被困住了,不知道如何继续解决这个问题。感谢阅读,非常感谢任何帮助。
这样做,
public static void savePreference(Context context,String name, String value)
{
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = prefs.edit();
if (name != null && value != null)
{
editor.putString(name, value);
}
editor.commit();
}
public static String loadPreference(Context context,String name)
{
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
return prefs.getString(name, null);
}
当使用共享首选项时,这是一个写入内部应用程序目录的 xml 文件,它需要一些东西来命名这个文件(使用默认共享首选项时除外)。您可以随意命名它,并在您想要的任何地方声明名称:如果它要被许多 class 访问(活动、服务等),您可以创建自己的 class 并通过在上下文中执行您需要的任何操作。如:
public class SharedPreferencesManager {
public static final String PREFERENCES_NAME = "awesomePrefs";
private static final String PREFERENCES_KEY_HIGHSCORE_LIST = "hscore";
public static void saveHighScoreList(Context c, ArrayList<HighScore> scores) {
SharedPreferences sp = c.getSharedPreferences(PREFERENCES_NAME, Context.MODE_PRIVATE);
SharedPreferences.Editor edit = sp.edit();
edit.putString(PREFERENCES_KEY_HIGHSCORE_LIST, serializeHighScores(scores));
// save it
edit.apply();
}
private static String serializeHighScores(ArrayList<HighScore> scores) {
return // some form of concatenation
}
}