【问题标题】:how to convert a non-static value to a static value in android如何在android中将非静态值转换为静态值
【发布时间】:2017-04-10 14:52:34
【问题描述】:
public static final String MyPREFERENCES = "AdmissionsPrefs" ;

final SharedPreferences settings = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();

String server = settings.getString(ConfigureServer.SERVER, "");


public static final String HOMEURL = "http://**10.0.2.2**/Admission/index.php?r=";

public static final String USERID = "user_id";

public static final String CONTACTS = "contacts";

如何在 10.0.2.2(static) 的 HOMEURL 中使用共享首选项 server(Non-static) 中的值。 ....

【问题讨论】:

  • 嗯,你不能。你的类可能有多个不同的实例,每个实例都有不同的服务器——你希望使用哪个?听起来你的 HOMEURL 不应该是静态的......
  • 您应该查看关键字staticfinal 的作用。

标签: java android static non-static


【解决方案1】:

您可以在运行时替换而不是编辑。

private static final String HOME_URL = "http://%s/Admission/index.php?r=";

String builtUrl = String.format(HOME_URL, "10.0.2.2");

url中的“%s”被替换为ip并在builtUrl变量中返回。

注意:HOME_URL 不会改变,所以使用builtUrl

【讨论】:

    猜你喜欢
    • 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
    相关资源
    最近更新 更多