【发布时间】:2018-12-15 14:43:30
【问题描述】:
我在 MainActivity 中有值“用户名”,从登录会话中获取。
我怎样才能把这个“用户名”放到其他活动中?
我使用共享偏好。
你能帮帮我吗?拜托了
【问题讨论】:
-
你可以使用intent.putExtra
标签: java android session login sharedpreferences
我在 MainActivity 中有值“用户名”,从登录会话中获取。
我怎样才能把这个“用户名”放到其他活动中?
我使用共享偏好。
你能帮帮我吗?拜托了
【问题讨论】:
标签: java android session login sharedpreferences
试试这个:
要写用户名:
SharedPreferences settings = getSharedPreferences("preferences", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("username", username);
editor.commit();
获取用户名:
SharedPreferences settings = getSharedPreferences("preferences", 0);
String username = settings.getString("username", ""); //sets to "" if fails
或者您可以使用捆绑包将其传递给意图:
Bundle bundle = new Bundle();
bundle.putString("username", username);
Intent intent = new Intent(this, JoinChatActivity.class);
intent.putExtras(bundle);
startActivity(this, NewActivity.class);
【讨论】:
试试这个:
首先你像这样在 Top 中初始化 SharedPreferences
SharedPreferences sharedPreferences;
之后获取值 json like(username) 并输入值 SharedPreferences
username= obj1.getString("username");
// Using shared preference storing the data in key value pair
sharedPreferences = getApplicationContext().getSharedPreferences("MyPref", 0);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("username", username);
editor.apply();
然后像这样在下一个活动中获取价值
SharedPreferences pref = getSharedPreferences("MyPref", 0);
String username= pref.getString("username", null);
像这样传递参数中的值
params.put("username", username);
我觉得对你有帮助
【讨论】:
或者您可以使用 Intent 转移价值。例如:
这是 MainActivity.class
@Override
protected void onCreate(Bundle savedInstanceState) {
Intent intent = new Intent (getApplicationContext(), MainActivity.class);
intent.putExtra("userName", username);
getApplicationContext().startActivities(new Intent[] {intent});
}
Other.class
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_detail);
Intent intent = this.getIntent();
String username = intent.getExtras().toString("userName");
}
【讨论】: