Предварительная загрузка веб-страницы в Android (с помощью WebView?)

Я хочу предварительно загрузить веб-страницу в Android. Веб-страница содержит текстовые и графические элементы. Веб-страница будет отображаться в будущем в виде действия, которое еще не создано.

Насколько я понимаю, WebView, например, должен быть привязан к Activity, поэтому для этой задачи невозможно использовать WebView.

Кто-нибудь получил какие-либо предложения, которые не связаны с разбором страницы html и загрузкой всех элементов "вручную"?

Ответ 1

Согласно заявке на андроид: По очевидным соображениям безопасности ваше приложение имеет свой собственный кеш, хранилище cookie и т.д. - он не использует данные приложения браузера.

Таким образом, мы можем использовать приведенную выше информацию умным способом, выполнив следующие действия:

  • Всякий раз, когда вы хотите начать загрузку своего веб-сайта, создайте новый объект WebView и запросите у него URL-адрес. код будет выглядеть примерно так:

     WebView view = new WebView(context);
     view.loadUrl(myBigWebSite);
    
  • Android будет кэшировать данные веб-просмотра, а когда вы запрашиваете loadUrl из другого действия, он должен быть уже загружен.

     // in your WebView activity
     myWebView.loadUrl(myBigWebSite);
    

Подробнее о веб-просмотрах посетите страницу документации: Документ WebView

Ответ 2

Вы можете загрузить все необходимые файлы (изображения и т.д.) в какую-нибудь папку в сетевом потоке, а затем использовать что-то вроде

webview.loadUrl("file:///my_cached_folder/index.html");

Изображения также будут выбраны из этой папки, если они указаны и присутствуют. Читайте об открытии локальных файлов в webview здесь.