Самый простой способ анализа отдельных параметров запроса по URL-адресу API на Android Kotlin - PullRequest
0 голосов
/ 17 июня 2019

Из моего приложения для Android мне нужно получить точное значение от некоторых конечных точек API с этим форматом:

https://demo.com/api/v1/?msg=Thank+you!+Your+files+were+submitted+successfully!&status=Successful

Какой лучший способ получить "Спасибо! Ваши файлыбыли успешно отправлены! "чтобы показать, используя Kotlin?

Специальные примечания для добавления:

  1. Есть один способ получить Запрос, который является android.net.URI.getQueryParameter().Но он содержит ошибку, заключающуюся в невозможности разбора + или специальных символов в значениях на пробел.

  2. В Android 6.0 отключена поддержка клиента Apache HTTP, поэтомуURLEncodedUtils.parse() тоже не сработает.

1 Ответ

0 голосов
/ 17 июня 2019

Используйте android.net.UrlQuerySanitizer для анализа отдельных значений из вышеупомянутой формы конечных точек API, например:

import android.net.UrlQuerySanitizer

//..

val sanitizer = UrlQuerySanitizer()
sanitizer.setAllowUnregisteredParamaters(true)
sanitizer.parseUrl(url)  
var msg : String? = sanitizer.getValue("msg")

//For removing the "+" signs or any other unwanted signs to get a displayable message like the question:

msg?.let {
    if (it.contains("+")) {
        msg = it.replace("+", " ")
    }
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...