我有一个字符串和一个按钮,如下所示:
String message = "Hello World"
button.OnClickListener(......){
message = "123456789";
}
所以这就是我想要的,
当应用程序启动时,字符串是" Hello World"但是当用户点击按钮时,它会变为" 123456789"我希望字符串能够永久改变。
因此,当用户重新启动应用程序或重新安装它时,字符串仍然是 " 123456789"。我认为这属于共享偏好。
请帮助,我真的需要这个
答案 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调用检查。