为什么放置到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");
如有问题请多指正,您的指正使我更正确的前行.