Как правильно закодировать URL-адрес для Retrofit?Android

Форум для тех, кто программирует под Android
Ответить
Гость
 Как правильно закодировать URL-адрес для Retrofit?

Сообщение Гость »


Я пытаюсь выполнить запрос GET. В браузере работает без проблем. Однако при использовании Retrofit я получаю эту ошибку: (строка — это идентификатор комнаты)

com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: для входной строки: "!ucXjVyXiDeXwFuYFAN:matrix.org"

Это моя функция

Private void getMessages(String token) { МетодыChat методы = RetrofitClient.getRetrofitInstance().create(MethodsChat.class); String total_url = "https://matrix-client.matrix.org/_matri ... /v3/rooms/" + "!ucXjVyXiDeXwFuYFAN:matrix.org" + "/initialSync?limit=20&access_token="+токен; System.out.println(total_url); Call call = методы.getAllData(total_url); call.enqueue(new Callback() { @SuppressLint("SetTextI18n") @Override public void onResponse(@NonNull Call call, @NonNull Response ответ) { если (response.isSuccessful()) { // Делаем потрясающие вещи утверждать ответ.body() != ноль; Сообщения messages = response.body().getMessages(); List items = messages.getChunk(); тост(items.get(0).getContent().getBody()); } еще если (response.code() == 429) { // Обработка несанкционированного доступа тост(ответ.сообщение()); } еще { тост(ответ+" "); } } @Override public void onFailure(@NonNull Call call, @NonNull Throwable t) { Log.d("error_contact", t.toString()); тост("нет сети"); // ЗДЕСЬ ЗАРЕГИСТРИРУЕТСЯ ОШИБКА } }); } Я думаю, это может быть потому, что оно не закодировано. Я попробовал несколько способов, которые искал на этой платформе, но ни один из них мне не помог. Я также попробовал использовать URLencoder, но он выдал ту же ошибку. Я почти уверен, что это потому, что строку нужно как-то закодировать. Хотя я не знаю как.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»