Передать значение переменной в url
Подскажите, каким образом можно передать переменную в URL
Значение переменной беру из editText: String a = word.getText().toString();
Допустим есть URL: String URL = " сайт.com/translation?text={здесь должна быть переменная a}&srcLang=1033
Ответы (1 шт):
Если вы формируете строку вручную то можно сделать так:
String URL = "сайт.com/translation?text={" + a + "}&srcLang=1033"
Либо можно миновать переменную:
String URL = "сайт.com/translation?text={" + word.getText().toString() + "}&srcLang=1033"
Но я бы советовал еще добавить тогда проверку на наличие текста в поле для ввода чтобы предотвратить лишние переходы по ссылке. Так же если данный сайт будет стабильно тут находится то можно сделать шаблон в который вы будете отправлять только то что в поле. Делается это так:
<string name="url">сайт.com/translation?text={%1$s}&srcLang=1033</string>
и дальше из активности просто передаем то что в поле после проверки:
String url = getResources().getString(R.string.url,word.getText().toString());
Так же можно использовать UriBuilder. Возьмем например такой адрес:
https://www.myawesomesite.com/turtles/types?type=1&sort=relevance#section-name
Чтобы сформировать его дальше нужно использовать такой код:
Uri.Builder builder = new Uri.Builder();
builder.scheme("https")
.authority("www.myawesomesite.com")
.appendPath("turtles")
.appendPath("types")
.appendQueryParameter("type", "1")
.appendQueryParameter("sort", "relevance")
.fragment("section-name");
String myUrl = builder.build().toString();
Вот документация по UriBuilder.