Java 在Android中存储整数

Java 在Android中存储整数,java,android,integer,Java,Android,Integer,所以我有三节课。我尝试了一下,最后在values下创建了Integers.xml文件,以尝试保存我的值。它是有效的,但我不知道如何改变它。我知道如何用电脑抓取它 res.getInteger(R.integer.int) 我只是不知道如何改变它,我开始得出结论,你不能。我想知道我需要在哪里存储值,这样当我在其他类之间切换时,整数不会全部重置。我很抱歉,因为Android中存储了大量数据,但我无法实现他们告诉我的代码。如果有一个简单的方法确保它只记住5个整数,我就可以完成我的应用程序。存储在Int

所以我有三节课。我尝试了一下,最后在values下创建了Integers.xml文件,以尝试保存我的值。它是有效的,但我不知道如何改变它。我知道如何用电脑抓取它

res.getInteger(R.integer.int)


我只是不知道如何改变它,我开始得出结论,你不能。我想知道我需要在哪里存储值,这样当我在其他类之间切换时,整数不会全部重置。我很抱歉,因为Android中存储了大量数据,但我无法实现他们告诉我的代码。如果有一个简单的方法确保它只记住5个整数,我就可以完成我的应用程序。

存储在Integers.xml中的值是常量,因此它们不能更改。存储5个整数的一种快速方法是使用
SharedReferences
并使用其自己的唯一键存储每个整数。 例如,在活动中:

SharedPreference prefs = getSharedPreferences("com.example.myapp", MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt("Integer1", 234);
editor.putInt("Integer2", 748);
editor.putInt("Integer3", 747);
editor.putInt("Integer4", 42);
editor.putInt("Integer5", 463);
要恢复这些值,请执行以下操作:

SharedPreference prefs = getSharedPreferences("com.example.myapp", MODE_PRIVATE);
int integer1 = prefs.getInt("Integer1", 0);
int integer2 = prefs.getInt("Integer2", 0);
int integer3 = prefs.getInt("Integer3", 0);
int integer4 = prefs.getInt("Integer4", 0);
int integer5 = prefs.getInt("Integer5", 0);

integers.xml中存储的值是常量,因此不能更改。存储5个整数的一种快速方法是使用
SharedReferences
并使用其自己的唯一键存储每个整数。 例如,在活动中:

SharedPreference prefs = getSharedPreferences("com.example.myapp", MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt("Integer1", 234);
editor.putInt("Integer2", 748);
editor.putInt("Integer3", 747);
editor.putInt("Integer4", 42);
editor.putInt("Integer5", 463);
要恢复这些值,请执行以下操作:

SharedPreference prefs = getSharedPreferences("com.example.myapp", MODE_PRIVATE);
int integer1 = prefs.getInt("Integer1", 0);
int integer2 = prefs.getInt("Integer2", 0);
int integer3 = prefs.getInt("Integer3", 0);
int integer4 = prefs.getInt("Integer4", 0);
int integer5 = prefs.getInt("Integer5", 0);

下面是读写SharedPrefs的基本代码。请注意,此方法将数据本地保存在用户设备上:

写:

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.saved_high_score), newHighScore);
editor.commit();
阅读:


来源:

以下是读写SharedPrefs的基本代码。请注意,此方法将数据本地保存在用户设备上:

写:

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.saved_high_score), newHighScore);
editor.commit();
阅读:


来源:

如果你不想在关闭应用程序后存储这些整数,你不能将它们放入一个静态列表,如

public static List<Integer> integerList = new ArrayList<>();
public static List integerList=new ArrayList();
如果要永久存储这些整数,可以使用


或者你可以使用SQLite数据库,比如

,如果你不想在关闭应用程序后存储这些整数,你就不能将它们放入静态列表中,比如

public static List<Integer> integerList = new ArrayList<>();
public static List integerList=new ArrayList();
如果要永久存储这些整数,可以使用


或者您可以使用SQLite数据库,如

您是对的,您不能
编辑
资源
文件,因为它们只运行一次。
如果您想存储应用程序关闭后将保留在应用程序中的值,可以使用
SharedReferences

如果要在运行时存储值,可以使用
getter
setters
创建一个类:

public class Values {

  int value1;
  int value2;

  public int getValue2() {
    return value2;
  }

  public void setValue2(int value2) {
    this.value2 = value2;
  }

  public int getValue1() {
    return value1;
  }

  public void setValue1(int value1) {
    this.value1 = value1;
  }
}
在任何活动中,您都可以设置并获得如下值:

Values.setValue1(yourValue1);
Values.getValue1();

您是对的,您无法编辑
资源
文件,因为它们只运行一次。
如果您想存储应用程序关闭后将保留在应用程序中的值,可以使用
SharedReferences

如果要在运行时存储值,可以使用
getter
setters
创建一个类:

public class Values {

  int value1;
  int value2;

  public int getValue2() {
    return value2;
  }

  public void setValue2(int value2) {
    this.value2 = value2;
  }

  public int getValue1() {
    return value1;
  }

  public void setValue1(int value1) {
    this.value1 = value1;
  }
}
在任何活动中,您都可以设置并获得如下值:

Values.setValue1(yourValue1);
Values.getValue1();

@TeenCoder我加了一个例子非常感谢!我在示例之前遇到过这个问题,但希望遇到这个问题的人也能解决它。如何确保它只运行editor.putin(“Integer1”),#once@TeenCoder您可以首先使用第二块代码获取整数,如果整数不等于零,请使用
putInt
方法将其写入。这样,它只会被写一次。好的,谢谢你,我想如果我尝试从一个不存在的整数中获取一个整数,它会给我一个错误。@TeenCoder我添加了一个例子非常感谢!我在示例之前遇到过这个问题,但希望遇到这个问题的人也能解决它。如何确保它只运行editor.putin(“Integer1”),#once@TeenCoder您可以首先使用第二块代码获取整数,如果整数不等于零,请使用
putInt
方法将其写入。这样,它只会被写一次。好的,谢谢你,我想如果我尝试从一个不存在的整数中得到一个整数,它会给我一个错误。谢谢你和所有其他回复的人。最后我看了一个youtube教程并保存了我的整数。这比我遇到的其他数据保存方法简单100倍。谢谢你和所有其他回复的人。最后我看了一个youtube教程并保存了我的整数。这比我遇到的其他数据保存方法简单100倍。