我正在使用 Urls 类(下面给出的代码)来设置我想在我的应用程序中使用的不同网址
public interface Urls {
public String SERVER_BASE_URL = "http://webaddress.com/";
public String URL_DIRECT =SERVER_BASE_URL + "token.php";
public String URL_DIRECT2= SERVER_BASE_URL + "token2.php";
public String URL_DIRECT3= SERVER_BASE_URL + "token3.php";
}
现在我想将
SERVER_BASE_URL
的值从静态值更改为数据库中的值。 IP 地址已正确存储在数据库中。为此,我使用基本代码,因为我需要此页面仅出现一次来存储 IP 地址。
mydatabase = openOrCreateDatabase("IP", MODE_PRIVATE, null);
mydatabase.execSQL("CREATE TABLE IF NOT EXISTS value1(ipaddress VARCHAR);");
String a = ip.getText().toString();
mydatabase.execSQL("INSERT INTO value1 VALUES('" + a + "');");
我使用此代码从数据库获取正确的 IP
Cursor resultSet = mydatabase.rawQuery("Select * from value1", null);
resultSet.moveToFirst();
address = resultSet.getString(0);
但我不知道如何以编程方式将此IP设置为
SERVER_BASE_URL
。
或者我想从每个活动的数据库中获取价值?
应用程序首次启动
输入活动
XML:
<EditText
android:id = "@+id/ip_address_text"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:hint = "Enter your IP Address"
android:inputType = "text"/>
<Button
android:id = "@+id/button_submit"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:text = "SUBMIT"/>
Java:
EditText ipText = (EditText) findViewById(R.id.ip_address_text);
Button submitButton = (Button) findViewById(R.id.button_submit);
submitButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreference sp = getSharedPreferences("ANY NAME FOR PREFERENCE", Context.MODE_PRIVATE);
sp.edit().putString("ip_address", ipText.getText().toString()).apply();
}
});
脚本调用活动
Java:
在访问服务器之前。
SharedPreference sp = getSharedPreferences("ANY NAME FOR PREFERENCE", Context.MODE_PRIVATE);
String ipAddress = sp.getString("ip_address", "Default value");
更新代码
public interface Urls {
SharedPreference sp = getSharedPreferences("ANY NAME FOR PREFERENCE", Context.MODE_PRIVATE);
public String SERVER_BASE_URL = sp.getString("ip_address", "Default value");
public String URL_DIRECT =SERVER_BASE_URL + "token.php";
public String URL_DIRECT2= SERVER_BASE_URL + "token2.php";
public String URL_DIRECT3= SERVER_BASE_URL + "token3.php";
}
并使用变量 url 来访问服务器。
您的问题不是指向特定部分而是询问 以便整个实施。尝试缩小您的问题范围 有利于求解者回答而不是询问整个问题 实现代码。
祝你好运!!
使用参考链接