Android 在首选项类中存储整数

Android 在首选项类中存储整数,android,integer,sharedpreferences,preference,Android,Integer,Sharedpreferences,Preference,在我的android应用程序中,我创建了一个preference类(扩展PreferenceActivity),用于存储大约10个整数值。我没有在R.xml中为该活动创建任何xml文件,因为我不需要它。我只需要在这个文件中存储10个整数变量(即使退出后也可以保存),我想从另一个活动中获取这些值,对首选项执行一些更改,然后保存首选项类 我的问题是: 如何在首选项类中存储整数变量 如何从另一个活动调用该变量 如何将该变量再次返回到首选项类 您好,这里我添加了SharedReferences的示例代码

在我的android应用程序中,我创建了一个preference类(扩展PreferenceActivity),用于存储大约10个整数值。我没有在R.xml中为该活动创建任何xml文件,因为我不需要它。我只需要在这个文件中存储10个整数变量(即使退出后也可以保存),我想从另一个活动中获取这些值,对首选项执行一些更改,然后保存首选项类

我的问题是:

  • 如何在首选项类中存储整数变量
  • 如何从另一个活动调用该变量
  • 如何将该变量再次返回到首选项类

  • 您好,这里我添加了SharedReferences的示例代码以供您参考。请尝试此代码并让我知道。希望对你有帮助。谢谢

    共享引用创建:

    SharedPreferences sharedPref = getBaseContext().getSharedPreferences("USER_PREFS",Context.MODE_PRIVATE);
    
    int userId = 2425;
    String authtoken = "abcdef345345";
    String authkey = "qrst";
    sharedPref = getBaseContext().getSharedPreferences("USER_PREFS",prefMode);
    SharedPreferences.Editor editor = vSmileSharedPreferences.edit();
    editor.putString("AUTH_KEY", authkey);
    editor.putString("AUTH_TOKEN", authtoken);
    editor.putString("USER_ID", String.valueOf(userId));
    editor.commit();
    
    String authtoken ="";
    String authkey = "";
    int UserId = 0;
    SharedPreferences sharedPref =  getBaseContext().getSharedPreferences("USER_PREFS",Context.MODE_PRIVATE);
    authtoken = sharedPref.getString("AUTH_TOKEN", null);
    authkey = sharedPref.getString("AUTH_KEY", null);
    UserId = sharedPref.getString("USER_ID", 0);
    
    将值存储到SharedReferences:

    SharedPreferences sharedPref = getBaseContext().getSharedPreferences("USER_PREFS",Context.MODE_PRIVATE);
    
    int userId = 2425;
    String authtoken = "abcdef345345";
    String authkey = "qrst";
    sharedPref = getBaseContext().getSharedPreferences("USER_PREFS",prefMode);
    SharedPreferences.Editor editor = vSmileSharedPreferences.edit();
    editor.putString("AUTH_KEY", authkey);
    editor.putString("AUTH_TOKEN", authtoken);
    editor.putString("USER_ID", String.valueOf(userId));
    editor.commit();
    
    String authtoken ="";
    String authkey = "";
    int UserId = 0;
    SharedPreferences sharedPref =  getBaseContext().getSharedPreferences("USER_PREFS",Context.MODE_PRIVATE);
    authtoken = sharedPref.getString("AUTH_TOKEN", null);
    authkey = sharedPref.getString("AUTH_KEY", null);
    UserId = sharedPref.getString("USER_ID", 0);
    
    从另一个活动中检索SharedReferences值:

    SharedPreferences sharedPref = getBaseContext().getSharedPreferences("USER_PREFS",Context.MODE_PRIVATE);
    
    int userId = 2425;
    String authtoken = "abcdef345345";
    String authkey = "qrst";
    sharedPref = getBaseContext().getSharedPreferences("USER_PREFS",prefMode);
    SharedPreferences.Editor editor = vSmileSharedPreferences.edit();
    editor.putString("AUTH_KEY", authkey);
    editor.putString("AUTH_TOKEN", authtoken);
    editor.putString("USER_ID", String.valueOf(userId));
    editor.commit();
    
    String authtoken ="";
    String authkey = "";
    int UserId = 0;
    SharedPreferences sharedPref =  getBaseContext().getSharedPreferences("USER_PREFS",Context.MODE_PRIVATE);
    authtoken = sharedPref.getString("AUTH_TOKEN", null);
    authkey = sharedPref.getString("AUTH_KEY", null);
    UserId = sharedPref.getString("USER_ID", 0);
    

    如果SharedReference用户标识为null或空,则表示默认为0

    粘贴一些你写的代码,告诉我们你已经尝试了一些东西!使用PreferenceManager存储和恢复您的首选项值。从PreferenceManager可以获得SharedReferences(在SharedReferences中可以存储N个变量,包括int)。