【发布时间】:2017-02-28 15:26:02
【问题描述】:
*我是学习android的新手
我正在搜索显示如何接受用户详细信息(例如姓名和年龄)并在新版本代码中使用 sharedpreferences 将其显示在另一个活动中的任何网站?你有什么?另一个活动将有一个返回按钮指向第一个活动。我发现的只是旧版本,在我的 Android Studio 中不匹配,所以我取消了该程序。有人吗?
【问题讨论】:
*我是学习android的新手
我正在搜索显示如何接受用户详细信息(例如姓名和年龄)并在新版本代码中使用 sharedpreferences 将其显示在另一个活动中的任何网站?你有什么?另一个活动将有一个返回按钮指向第一个活动。我发现的只是旧版本,在我的 Android Studio 中不匹配,所以我取消了该程序。有人吗?
【问题讨论】:
在第一个活动中,您可以像这样保存用户名和年龄:
private void saveUserInformation(String userName, int age) {
//In this activity save the name in the shared preference
SharedPreferences sharedPreferences = getSharedPreferences("myAppPrefs", Context.MODE_PRIVATE);
sharedPreferences.edit().putString("user_name", userName).putInt("user_age", age).apply();
}
在第二个活动中,要获取用户信息,请执行以下操作:
private void getUserInformation() {
//In the second activity or any other activity, you can get the userName and age like thi
SharedPreferences sharedPreferences = getSharedPreferences("myAppPrefs", Context.MODE_PRIVATE);
String userName = sharedPreferences.getString("user_name", null);
int userAge = sharedPreferences.getInt("user_age", 0);
}
根据您在其他答案中的问题和评论,我想您需要更多关于共享偏好如何工作的解释。当您将数据保存在共享首选项中时,它会保存在用户设备上的文件中。保存后,只要活动有权访问,您就可以从任何活动访问该数据。您所要做的就是使用唯一密钥将其置于共享首选项中,并使用相同的唯一密钥将其放在您需要的地方。希望能帮助到你。如果我的回答有帮助,别忘了点赞。谢谢。
【讨论】:
这就是您创建共享首选项的方式
SharedPreferences sp=getSharedPreferences("MYPREFNAME", Context.MODE_PRIVATE);
SharedPreferences.Editor editor=sp.edit;
这就是你将数据放入其中的方式
editor.putString(key,string);
this.is 是您检索该字符串的方式
sp.getString(key,DefaultString);
【讨论】:
//在你的第一个活动中使用
SharedPreferences sharedPreferences=getSharedPreferences("your_packagename", Context.MODE_PRIVATE);
sharedPreferences.edit().putString("name","name_value").apply();
sharedPreferences.edit().putInt("age",age_value).apply();
//现在在您的第二个活动中检索数据
SharedPreferences sharedPreferences=getSharedPreferences("your_packagename", Context.MODE_PRIVATE);
String name=sharedPreferences.getString("name","");
int age =sharedPreferences.getInt("age",0);
【讨论】: