爲什麼放置到assets文件夾下:
Android資源文件大致可以分爲兩種:
第一種是res目錄下存放的可編譯的資源文件:
這種資源文件系統會在R.java裏面自動生成該資源文件的ID,
所以訪問這種資源文件比較簡單,通過R.XXX.ID即可;
第二種是assets目錄下存放的原生資源文件:
assets類資源放在工程根目錄的assets子目錄下,它裏面保存的是一些原始的文件,可以以任何方式來進行組織。這些文件最終會被原裝不動地打包在apk文件中。如果我們要在程序中訪問這些文件,那麼就需要指定文件名來訪問。例如,假設在assets目錄下有一個名稱爲filename的文件,那麼就可以使用以下代碼來訪問它:
- AssetManager am= getAssets();
- InputStream is = assset.open("filename");
AssetManager詳情學習請戳:
Android資源管理框架(Asset Manager)簡要介紹和學習計劃
言歸正傳:我們今天要學習的就是去訪問assets文件夾中的本地html文件.
Android Studio是沒有assets文件夾的.所以要在項目工程下創建assets文件夾(跟java,res同級).
首先就是創建assets文件夾用於存儲咱們的html文件.(把html文件的源碼放置進去即可):
app/src/main/assets
然後把html文件放置到此文件夾中就可以開始訪問了,
代碼如下:
WebView mWebview = (WebView)findViewById(R.id.webview);
mWebview.loadUrl("file:///android_asset/xxx.html");
PS:這種方式可以加載assets目錄下的網頁,並且與網頁有關的css,js,圖片等文件也會的加載
訪問網絡的html文件,只需這樣:
mWebview.loadUrl("http://www.baidu.com");
然後通過 WebSettings mWebSettings = mWebView.getStrings();
再去拿mWbsettings進行相應的設置,請戳我收集的WebSettings大全(很全):
Android Studio使用WebView提示net ERR_FILE_NOT_FOUND
啓動後瀏覽器會報::net ERR_FILE_NOT_FOUND,類似於下面錯誤提示。
File:///android_asset/index.html could not be loaded because ::net ERR_FILE_NOT_FOUND
解決方法:
多加一個斜槓,一共4個就正確了。
mWebView.loadUrl("file:////android_asset/normal.html");
如有問題請多指正,您的指正使我更正確的前行.