关于res和assets文件夹
1、两者都可以存放资源文件,打包时都会被编译进apk里。其中res
中的资源如果没有用到,打包时不会被编译
2、res
文件夹中文件会被映射到R.java文件中,可以通过R.layout.xxx
或者R.id.xxx
来访问;assets
里面的文件,可以通过AssetManager
对象来读取
3、assets
里面还可以定义自己的文件目录结构
(如果没有此文件夹,新建)
1、在assets
目录,新建一个index.html,内容如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>this is title</title>
</head>
<body>
<h2>this is a page</h2>
</body>
</html>
2、然后我们来看看如何加载这个文件到webView中
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//this.setContentView(R.layout.webview); // 设置layout
// 创建webView组件
WebView webView = new WebView(this);
// 然后设置内容view(注意不在需要另外单独的布局文件了)
setContentView(webView);
// 拿到webView的设置对象
WebSettings settings = webView.getSettings();
settings.setAppCacheEnabled(true); // 开启缓存
settings.setJavaScriptEnabled(true); // 开启javascript支持
AssetManager assetManager = this.getAssets();
try {
InputStream inputStream = assetManager.open("index.html");
byte[] buffer = new byte[inputStream.available()];
inputStream.read(buffer);
// 读取html内容
String htmlContent = new String(buffer,"utf-8");
inputStream.close();
// 加载到webView中
webView.loadData(htmlContent,"text/html","utf-8");
} catch (IOException e) {
e.printStackTrace();
}
// 加载url到webView中
// webView.loadUrl("http://www.qq.com");
}