веб-приложение хостинга в Android - PullRequest
0 голосов
/ 17 октября 2018

Я новичок.Когда я начинаю делать приложение с веб-просмотром.

Я видел в документах, что https://developer.android.com/reference/android/webkit/WebViewClient#shouldOverrideUrlLoading(android.webkit.WebView,%20java.lang.String)

Дайте хост-приложению возможность получить контроль, когда URL будет загружен в текущем WebView.

Яслаб в инглисе но я знаю что такое хостинг.но я не понимаю, что такое хост-приложение, почему оно так называется?

1) Является ли хост-приложение средством просмотра веб-браузера или веб-браузера в моем приложении?

2) Это должно быть полезнокак overoverridlloading работает с веб-браузером и браузером.

3) верните true, откроется веб-браузер ??

Ответы [ 2 ]

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

При использовании веб-просмотра вы должны использовать shouldOverrideUrlLoading, чтобы ввести конкретный URL-адрес (тот, который вы хотите увидеть пользователю).Этот метод также, с более продвинутым кодированием, используемым при удалении данных с веб-страниц, позволит вам собирать данные html и, возможно, творчески изменять код документа html или использовать его.Затем отображение веб-просмотра для пользователя, когда вы будете готовы.

Ps.Заголовки в зависимости от того, какой API установлен ваш минимум, вы должны использовать его по-разному.Есть несколько учебных пособий по поиску в Google, но большинство устарело.Это не обычная практика.Чаще всего приложения используют API, предоставленный URL-адресом, а затем отображают данные или намеченные визуальные эффекты.

0 голосов
/ 17 октября 2018
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    final Uri uri = Uri.parse(url);
    return handleUri(view, uri);
}

@TargetApi(Build.VERSION_CODES.N)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
    final Uri uri = request.getUrl();
    return handleUri(view, uri);
}

и метод handleUri

private boolean handleUri(WebView view, Uri uri) {
    final String scheme = uri.getScheme();
    final String host = uri.getHost();
    // Based on some condition you need to determine if you are going to load the url
    // in your web view itself or in a browser.
    // You can use `host` or `scheme` or any part of the `uri` to decide.
    if (scheme.startsWith("http:") || scheme.startsWith("https:")) {
        view.loadUrl(uri.getPath());
        return true;
    } else {
        return false;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...