【问题标题】:How to store and read an integer in Internal Storage如何在内部存储中存储和读取整数
【发布时间】:2012-09-01 20:16:58
【问题描述】:

过去几个小时我一直在研究如何在内部存储器中存储数据,但由于某种原因我无法存储整数。

我想知道如何在文件中存储一个 int 值以及如何读取它。 请提供一个简短的示例,说明我如何实现这一点,是否最好使用 SharedPreferences 类?

【问题讨论】:

标签: android int storage internal


【解决方案1】:

如果只是一个int值,最好使用SharedPreference

public int getValue() {
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    return prefs.getInt("value_key", 0);
}

public void setValue(int newValue) {
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    SharedPreferences.Editor editor = prefs.edit();
    editor.putInt("value_key", newValue);
    editor.commit();
}

【讨论】:

  • 非常感谢。完美运行。
  • 还有一件事;我想检查文件是否存在,我将如何在这段代码中使用 .exist() 方法?
  • 你的意思是在放一个值之前要检查是否有值?
  • 活动运行时,我希望它检查文件是否已创建。如果它存在,它将读取它,否则它将创建文件。如果值 == 0,我会只使用 if 语句吗?我希望它在覆盖文件之前读取文件。
  • 是的。如果prefs.getInt() 返回0,这意味着键value_key 没有值。如果需要,您可以使用 -1 代替 0
【解决方案2】:

是的,我认为SharedPreferences 是最简单的方法:

SharedPrefrences prefs=PreferenceManager.getDefaultSharedPreferences(context);
Editor editor=prefs.edit();
editor.putInt("MYINT",intValue);
editor.commit();

要检索int,请使用:

PreferenceManger.getDefaultSharedPreferences(context).getInt("MYINT",-1);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-21
    • 1970-01-01
    • 2013-09-02
    • 1970-01-01
    • 2014-09-08
    • 2018-03-14
    • 1970-01-01
    相关资源
    最近更新 更多