【问题标题】:Put username to other activity with sharedpreference使用 sharedpreference 将用户名放入其他活动
【发布时间】:2018-12-15 14:43:30
【问题描述】:

我在 MainActivity 中有值“用户名”,从登录会话中获取。

我怎样才能把这个“用户名”放到其他活动中?

我使用共享偏好。

你能帮帮我吗?拜托了

【问题讨论】:

标签: java android session login sharedpreferences


【解决方案1】:

试试这个:

要写用户名:

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);

【讨论】:

  • 非常感谢。你是最棒的:) :)
  • 没问题!如果其中一个回答对您有帮助,请确保您标记答案,这里的一些人对此非常严格。建设愉快!
【解决方案2】:

试试这个:

首先你像这样在 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);

我觉得对你有帮助

【讨论】:

  • 非常感谢。为您解答。它有效,我可以从 MainActivity 获得价值。 :) :)
【解决方案3】:

或者您可以使用 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");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-20
    • 2020-07-30
    • 2018-09-09
    • 2011-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多