Получить данные из базы данных и использовать в интерфейсе в Android
Я использую класс Urls (код приведен ниже) для установки разных URL, которые я хочу использовать в своем приложении
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
программно. Или я хочу получить значение из базы данных по каждому виду деятельности??? Пожалуйста помоги!!!!
1 ответ
Первый запуск приложения
InputActivity
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"/>
Джава:
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();
}
});
Скрипт вызова
Джава:
Прежде чем попасть на сервер.
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, чтобы попасть на сервер.
Ваш вопрос не указывает на конкретную часть, а требует полной реализации. Постарайтесь сузить вопрос, который будет полезен для решателей, а не запрашивать весь код для реализации.
Удачи!!
Ссылочные ссылки для использования