1

例如,我想知道是否可以在一段时间内保留有关应用程序的信息。

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

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

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

4

2 回答 2

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"];

希望能帮助到你。

于 2013-10-18T03:04:51.550 回答
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"等。

注意:您可以使用 , 等来执行此boolean操作integer

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

于 2013-10-18T02:57:23.073 回答