如何在Android中设置字符串的值?

时间:2017-11-17 06:45:30

标签: android string sharedpreferences

我有一个字符串和一个按钮,如下所示:

String message = "Hello World"

button.OnClickListener(......){

   message = "123456789";
}

所以这就是我想要的,

当应用程序启动时,字符串是" Hello World"但是当用户点击按钮时,它会变为" 123456789"我希望字符串能够永久改变。

因此,当用户重新启动应用程序或重新安装它时,字符串仍然是 " 123456789"。我认为这属于共享偏好。

请帮助,我真的需要这个

4 个答案:

答案 0 :(得分:4)

您可以将该字符串保存在“共享首选项”中,并从那里获取所有内容。如果没有值,您可以从资源获取默认值,或者您可以提供自己的默认值String。请注意,您可以终生使用。如果用户删除应用或清除缓存,您的视图将显示默认值Hello World

修改

您可以使用清单中的android:allowBackup="true"来保留旧的共享偏好值。

答案 1 :(得分:0)

重新安装时,SharedPreferences的数据可能会消失,尤其是在您首先卸载应用程序时,与使用SQLite的本地数据库相同的情况。您可以尝试使用本地服务器中的数据库。

答案 2 :(得分:0)

在SharedPreferences中保存字符串:

SharedPreferences.Editor editor = getSharedPreferences("com.package.name", Context.MODE_PRIVATE).edit();
editor.putString("keyName", message);
editor.apply();

要取回它:

SharedPreferences sharedPrefs = getSharedPreferences("com.package.name", Context.MODE_PRIVATE);
message = sharedPrefs.getString("keyName",defaultValue);

当用户修改它时,保存它。当应用程序启动时,将其作为默认值" Hello World"因此,当用户没有点击按钮时,它将保持为Hello World。

答案 3 :(得分:0)

对于重新启动共享首选项是最好的机制,但重新安装allowbackup适用于API级别23及更高版本, 您可以考虑在首次更新共享首选项时更新服务器上的值,并且在重新安装期间可以针对特定用户执行API调用检查。