Как я могу настроить Android Retrofit2 BASE URL, принимая значения EditText из действия? - PullRequest
0 голосов
/ 24 октября 2018

У меня есть активность, откуда я получаю базовый IP-адрес URL, например 10.0.2.2, и порт 8080 через два разных EditText.
Теперь я делаю строку URL-адреса из полученных значений, таких как http://10.0.2.2:8080.
Теперь мне нужно установить этот URL как ApiClient() BASE_URL .Этот URL будет постоянным.Он должен быть доступен по всему приложению в любом упражнении или любом фрагменте.
ПРИМЕЧАНИЕ: Мне нужно установить значение только один раз времени жизни приложения.
Если вы предлагаете Singleton Class или SharedPreference, пожалуйста, объясните с источником.(Я пытался с ними, но это не сработало идеально)

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Для вышеуказанной проблемы лучшим решением является сохранение информации в базе данных SQLite или Room или сохранение информации вручную в файле в памяти телефона.

С помощью SharedPreferences это можно сделатьтакже.В этом случае ApiClient должен иметь параметр.

0 голосов
/ 25 октября 2018

Вы можете создавать класс и определять статические переменные все лучше и лучше.И инициализировать эти переменные, когда вы получаете значение из текста редактирования, а затем вы можете просто получить значение из этого статического И в вашем классе деятельности вы получаете доступ как этот baseurl.Setip (ваше значение редактирования текста) И чтобы получить этот ip, вы можете написать Retrofit.Builder.baseurl (baseurl.getIp) Что-то вроде этого Надеюсь, что это изображение объяснит вам

...