【问题标题】:how can i read a SharedPreferences from another activity?我如何从另一个活动中读取 SharedPreferences?
【发布时间】:2016-08-25 20:18:48
【问题描述】:
    sharedPreferences = getSharedPreferences("HTTP_HELPER_PREFS", Context.MODE_PRIVATE);
    editor = sharedPreferences.edit();

    // get the IP address and port number from the last time the user used the app,
    // put an empty string "" is this is the first time.
    editTextIPAddress.setText(sharedPreferences.getString(PREF_IP, ""));
    editTextPortNumber.setText(sharedPreferences.getString(PREF_PORT, ""));
    confbutton.setOnClickListener(this);

}


@Override
public void onClick(View v) {
    // get the ip address
    String ipAddress = editTextIPAddress.getText().toString().trim();
    // get the port number
    String portNumber = editTextPortNumber.getText().toString().trim();

    editor.putString(PREF_IP, ipAddress); // 
    editor.putString(PREF_PORT, portNumber); 
    editor.commit(); 
    onBackPressed();

这是我的代码,我创建了第二个活动来获取 IP 地址和端口号,现在我需要在主要活动中读取 SharedPreferences

【问题讨论】:

  • 您可以从应用内的任何位置访问您的 SharedPreference。

标签: android-studio sharedpreferences


【解决方案1】:

类似的东西

SharedPreferences prefs = getSharedPreferences("HTTP_HELPER_PREFS", Context.MODE_PRIVATE);
String ipAddress = prefs.getString(PREF_IP, ipAddress); 
String portNumber = prefs.getString(PREF_PORT, portNumber);

【讨论】:

  • 如果我在主要活动中写这个我会得到IP地址和端口号值吗?
  • 是的,SharedPreferences 被称为共享,这意味着您可以从应用程序的任何部分访问它们。即使在关闭应用程序后,数据也会保留在那里。
  • 阅读上面的链接以获取有关SharedPreferences 的更多信息。但我认为这不是正确的做法。当活动通过Intents 和startActivityForResult 方法交互时会更好。
  • 我尝试了你告诉我的方法,但它只会给我最后一个值,如果我试图改变它,它不会改变只有当我杀死应用程序并重新打开它时你能解释一下rrsult 的意图和开始活动 .. 非常感谢你 :))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多