Java 如何在android应用程序上保存2个字符串?

Java 如何在android应用程序上保存2个字符串?,java,android,save,Java,Android,Save,我是一个相对较新的程序员,除了为android应用程序编写布局之外,我以前没有真正使用过xml 我希望能够让用户保存一个int值(不过,我想将int值保存为字符串会更容易),这样无论用户何时使用我的应用程序,它都是可用的。(例如,我希望他们能够保存开始时间和结束时间,而不是每次打开应用时插入) 我想最简单的方法是将文件保存到xml文件中,但是在看了android教程之后,我对xml文件唯一能理解的编码是如何从文件中加载资源文件,而不是如何保存(或编辑)这些字符串 我没有访问这个项目的数据库,所以

我是一个相对较新的程序员,除了为android应用程序编写布局之外,我以前没有真正使用过xml

我希望能够让用户保存一个int值(不过,我想将int值保存为字符串会更容易),这样无论用户何时使用我的应用程序,它都是可用的。(例如,我希望他们能够保存开始时间和结束时间,而不是每次打开应用时插入)

我想最简单的方法是将文件保存到xml文件中,但是在看了android教程之后,我对xml文件唯一能理解的编码是如何从文件中加载资源文件,而不是如何保存(或编辑)这些字符串

我没有访问这个项目的数据库,所以它需要能够直接保存在手机上

为android应用程序保存2个字符串的最简单方法是什么?

请看。您通过名称请求共享首选项,如果它不存在,则会创建该首选项,然后向其获取一个编辑器,然后向其中添加一些命名值

在另一点上,您可以获得共享首选项并按名称提取您的值,您还可以向其中添加一个侦听器,以便通知您对共享首选项对象的更改

获取您的共享首选项:

SharedPreferences myPrefs = getSharedPreferences("myPrefs", MODE_PRIVATE);
保存值:

SharedPreferences.Editor e = myPrefs.edit();
e.putInt("someValue", 50); // add or overwrite someValue
e.commit(); // this saves to disk and notifies observers
int i = myPrefs.getInt("someValue", 0); // return 0 if someValue doesn't exist
检索值:

SharedPreferences.Editor e = myPrefs.edit();
e.putInt("someValue", 50); // add or overwrite someValue
e.commit(); // this saves to disk and notifies observers
int i = myPrefs.getInt("someValue", 0); // return 0 if someValue doesn't exist

您应该使用SharedReferences来实现这一点,例如:

public class Calc extends Activity {
    public static final String PREFS_NAME = "MyPrefsFile";

    @Override
    protected void onCreate(Bundle state){
       super.onCreate(state);
       . . .

       // Restore preferences
       SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
       boolean silent = settings.getBoolean("silentMode", false);
       setSilent(silent);
    }

    @Override
    protected void onStop(){
       super.onStop();

      // We need an Editor object to make preference changes.
      // All objects are from android.context.Context
      SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
      SharedPreferences.Editor editor = settings.edit();
      editor.putBoolean("silentMode", mSilentMode);

      // Commit the edits!
      editor.commit();
    }
}
在您的情况下,应该对String和Integer使用get和put方法
这个例子和更多信息可以在Android开发者网站上找到。

只是一件小事。inti=myPrefs.getInt(“someValue”,defValue);您还必须给出一个默认值。