如何在Android中保留有关应用的信息?

时间:2013-08-10 19:58:35

标签: android

我想知道是否可以暂时保留有关应用的信息。

我有一个应用程序可以访问此文件并获取有关用户所做选择的信息。例如:

我有一个用于许多事件的按钮(事件是模型),我想知道用户是否在应用程序重新启动后单击了按钮。

我知道可以保留有关登录名和密码的信息。可以用其他信息做这样的事情吗?

2 个答案:

答案 0 :(得分:0)

使用共享偏好设置。像这样:

创建这些方法以供使用,或者只是在需要时使用方法内部的内容:

public String getPrefValue()
{
  SharedPreferences sp = getSharedPreferences("preferenceName", 0);
  String str = sp.getString("myStore","TheDefaultValueIfNoValueFoundOfThisKey");
  return str;
}

public void writeToPref(String thePreference)
{
  SharedPreferences.Editor pref =getSharedPreferences("preferenceName",0).edit();
  pref.putString("myStore", thePreference);
  pref.commit();
}

您可以这样称呼它们:

// when they click the button:
writeToPref("theyClickedTheButton");

if (getPrefValue().equals("theyClickedTheButton"))
{
   // they have clicked the button
}
else if (getPrefValue().equals("TheDefaultValueIfNoValueFoundOfThisKey"))
{
   // this preference has not been created (have not clicked the button)
}
else
{
   // this preference has been created, but they have not clicked the button
}

代码说明:

"preferenceName"是您所指的首选项的名称,因此每次访问该特定首选项时都必须相同。例如:"password""theirSettings"

“myStore”是指存储在该首选项中的特定String,它们可以是多个。 例如:您有偏好"theirSettings",然后"myStore"可能是"soundPrefs""colourPrefs""language"等。

注意:您可以使用booleaninteger等执行此操作。

您所要做的就是将String存储和阅读更改为boolean,或者您想要的任何类型。

答案 1 :(得分:0)

您可以使用SharedPreference在Android中保存数据。

撰写您的信息

SharedPreferences preferences = getSharedPreferences("PREF", Context.MODE_PRIVATE);
SharedPreferences.Editor   editor = preferences.edit();
editor.putString("user_Id",userid.getText().toString());
editor.putString("user_Password",password.getText().toString());
editor.commit(); 

阅读以上信息

SharedPreferences prfs = getSharedPreferences("PREF", Context.MODE_PRIVATE);
String username = prfs.getString("user_Id", "");

在iOS中,NSUserDefaults用于执行相同的操作

//用于保存

NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];
[defaults setObject:your_username forKey:@"user_Id"];
[defaults synchronize];

//用于检索

NSString *username = [defaults objectForKey:@"user_Id"];

希望它有所帮助。