Получить данные из базы данных и использовать в интерфейсе в 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, чтобы попасть на сервер.

Ваш вопрос не указывает на конкретную часть, а требует полной реализации. Постарайтесь сузить вопрос, который будет полезен для решателей, а не запрашивать весь код для реализации.

Удачи!!

Ссылочные ссылки для использования

Общие настройки 1

Общие настройки 2

Другие вопросы по тегам