webentwicklung-frage-antwort-db.com.de

Laden Sie die HTML-Datei in WebView

Ich habe eine lokale HTML-Seite zusammen mit mehreren anderen Ressourcen (CSS-Dateien und Javascript-Bibliotheken), auf die ich in eine WebView laden möchte. Wie könnte dies erreicht werden?

Vielleicht nicht die beste Vorgehensweise, aber ich experimentiere immer noch.

177
klaus johan

Am einfachsten wäre es wahrscheinlich, Ihre Webressourcen in den Ordner assets zu verschieben und dann Folgendes aufzurufen:

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

Für eine vollständige Kommunikation zwischen Java und Webview See This

Update: Der Assets-Ordner ist normalerweise der folgende Ordner: <project>/src/main/assets Dies kann in der Konfigurationseinstellung des Assets-Ordners in Ihrer <app>.iml -Datei geändert werden als:

<option name=”ASSETS_FOLDER_RELATIVE_PATH” value=”/src/main/assets” /> Siehe Artikel Speicherort des Assets-Ordners in Android Studio

333
Joe

wahrscheinlich könnte dieses Beispiel helfen:

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

In diesem Fall ist die Verwendung von WebView#loadDataWithBaseUrl() besser als WebView#loadUrl()!

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

url: url/path Zeichenfolge, die auf das Verzeichnis verweist. Alle Ihre JavaScript-Dateien und HTML-Links haben ihren Ursprung. Wenn null, ist es ungefähr: leer. data: String, der Ihre hmtl-Datei enthält, zum Beispiel mit BufferedReader gelesen

Weitere Informationen: WebView.loadDataWithBaseURL (Java.lang.String, Java.lang.String, Java.lang.String, Java.lang.String, Java.lang.String)

6
khaintt

Die akzeptierte Antwort funktioniert bei mir nicht. Das funktioniert bei mir

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

   webView.loadUrl("file:///Android_asset/index.html");
0
Jimale Abdi