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.
android
android-webview
local
klaus johan
quelle
quelle
Antworten:
Der einfachste Weg wäre wahrscheinlich, Ihre Webressourcen in den Assets-Ordner zu legen und dann Folgendes aufzurufen:
Eine vollständige Kommunikation zwischen Java und Webview finden Sie hier
Update: Der Assets-Ordner ist normalerweise der folgende Ordner:
<project>/src/main/assets
Dies kann in der Konfigurationseinstellung für den Asset-Ordner in Ihrer Datei geändert<app>.iml
werden wie :<option name=”ASSETS_FOLDER_RELATIVE_PATH” value=”/src/main/assets” />
Siehe Artikel Wo wird der Assets-Ordner in Android Studio abgelegt?quelle
AndroidManifest.xml
um dies widerzuspiegeln. (Persönlich würde ich empfehlen, den URL- / Dateipfad in Zeichenfolgenressourcen einzufügen und von dort aus darauf zuzugreifen, sodass der Pfad mit allen anderen Zeichenfolgendaten für das Programm übereinstimmt, dies hängt jedoch nicht direkt mit dem Problem von Asset / zusammen. Ressourcenabhängigkeit.)wahrscheinlich könnte dieses Beispiel helfen:
quelle
In diesem Fall ist die Verwendung
WebView#loadDataWithBaseUrl()
besser alsWebView#loadUrl()
!url: url / path Zeichenfolge, die auf das Verzeichnis verweist. Alle Ihre JavaScript-Dateien und HTML-Links haben ihren Ursprung. Wenn null, geht es um: 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)
quelle
Die akzeptierte Antwort funktioniert bei mir nicht. Das funktioniert bei mir
quelle