Mam lokalną stronę HTML wraz z kilkoma innymi wskazanymi przez nią zasobami (pliki css i biblioteki JavaScript), które chciałbym załadować do WebView. Jak można to osiągnąć?
Być może nie jest to najlepszy sposób na postępowanie, ale wciąż eksperymentuję.
android
android-webview
local
klaus johan
źródło
źródło
Odpowiedzi:
Najłatwiejszym sposobem byłoby prawdopodobnie umieszczenie zasobów internetowych w folderze zasobów, a następnie wywołanie:
Aby uzyskać pełną komunikację między Javą a Webview, zobacz to
Aktualizacja: folder zasobów to zwykle następujący folder:
<project>/src/main/assets
Można go zmienić w ustawieniach konfiguracji folderu zasobów w<app>.iml
pliku jako:<option name=”ASSETS_FOLDER_RELATIVE_PATH” value=”/src/main/assets” />
Zobacz artykuł Gdzie umieścić folder zasobów w Android Studioźródło
AndroidManifest.xml
aby to odzwierciedlić. (Osobiście polecam umieszczenie ścieżki adresu URL / pliku w zasobach łańcucha i dostęp do niego stamtąd, tak aby ścieżka zawierała wszystkie pozostałe dane łańcucha dla programu, ale tak naprawdę nie jest to bezpośrednio związane z kwestią zasobu / zależność od zasobów.)prawdopodobnie ta próbka może pomóc:
źródło
W takim przypadku korzystanie
WebView#loadDataWithBaseUrl()
jest lepsze niżWebView#loadUrl()
!url: url / path Ciąg wskazujący na katalog wszystkie pliki JavaScript i linki HTML mają swoje pochodzenie. Jeśli null, to około: puste. data: Łańcuch zawierający plik hmtl, odczytany na przykład za pomocą BufferedReader
Więcej informacji: WebView.loadDataWithBaseURL (java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)
źródło
Odpowiedź zaakceptowana nie działa dla mnie. To właśnie dla mnie działa
źródło