Загрузить файл HTML в WebView

У меня есть локальная страница html вместе с несколькими другими указанными ею ресурсами (css файлы и библиотеки Javascript), которые я бы хотел загрузить в WebView. Как это можно достичь?

Возможно, это не лучший способ, но я все еще экспериментирую.

Ответ 1

Возможно, самым простым способом было бы поместить ваши веб-ресурсы в папку активов и затем вызвать:

webView.loadUrl("file:///android_asset/filename.html");

Для полной связи между Java и Webview см. Это

Обновление. Папка ресурсов обычно представляет собой следующую папку: <project>/src/main/assets Это можно изменить в настройке конфигурации папки <app>.iml файле <app>.iml следующим образом:

<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets"/> См. статью Где разместить папку ресурсов в Android Studio

Ответ 2

возможно, этот образец мог бы помочь:

  WebView lWebView = (WebView)findViewById(R.id.webView);
  File lFile = new File(Environment.getExternalStorageDirectory() + "<FOLDER_PATH_TO_FILE>/<FILE_NAME>");
  lWebView.loadUrl("file:///" + lFile.getAbsolutePath());

Ответ 3

В этом случае использование WebView#loadDataWithBaseUrl() лучше, чем WebView#loadUrl()!

webView.loadDataWithBaseURL(url, 
        data,
        "text/html",
        "utf-8",
        null);

url: url/path Строка, указывающая на каталог, все ваши файлы JavaScript и html-ссылки имеют свое происхождение. Если null, это примерно: пустое. data: Строка, содержащая ваш hmtl файл, например, с помощью BufferedReader

Дополнительная информация: WebView.loadDataWithBaseURL(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)

Ответ 4

Принятый ответ не работает для меня, это то, что работает для меня

WebSettings webSetting = webView.getSettings();
    webSetting.setBuiltInZoomControls(true);
    webView1.setWebViewClient(new WebViewClient());

   webView.loadUrl("file:///android_asset/index.html");