@ywitodenasuby

Как ускорить получение контента из Webvew?

На активити есть Webvew. В нем я листаю несколько страниц и в коде обрабатываю загруженный контент через событие onPageFinished. Проблема в том, что очень долго нужно ждать окончания загрузки каждой страницы. Я так понимаю, что пока не загрузятся все внешние файлы на странице, событие не настает или что-то такое. Можно через HttpURLConnection получать контент, но мне не подходит. Как ускорить процесс?
public class TestActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.webview);
        final WebView webview = (WebView) findViewById(R.id.browser);
        webview.getSettings().setJavaScriptEnabled(true);
        webview.addJavascriptInterface(new MyJavaScriptInterface(this), "HtmlViewer");

        webview.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView view, String url) {
                webview.loadUrl("javascript:window.HtmlViewer.showHTML" +
                        "('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');");
            }
        });

        webview.loadUrl("http://android-in-action.com/index.php?post/" +
                "Common-errors-and-bugs-and-how-to-solve-avoid-them");
    }

    class MyJavaScriptInterface {

        private Context ctx;

        MyJavaScriptInterface(Context ctx) {
            this.ctx = ctx;
        }

        public void showHTML(String html) {
            new AlertDialog.Builder(ctx).setTitle("HTML").setMessage(html)
                    .setPositiveButton(android.R.string.ok, null).setCancelable(false).create().show();
        }

    }
}
  • Вопрос задан
  • 45 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Evrone.com Воронеж
от 100 000 до 170 000 руб.
PaymentWall Global Новосибирск
от 100 000 до 180 000 руб.
Dialog Москва
от 180 000 до 240 000 руб.
24 мая 2019, в 23:37
100000 руб./за проект
24 мая 2019, в 21:53
500 руб./в час
24 мая 2019, в 21:36
500 руб./за проект