Предварительная загрузка веб-страницы в 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 здесь.