Webview.loadDataWithBaseURL
来源:互联网 发布:逆袭网络剧bilbil 编辑:程序博客网 时间:2024/06/04 01:05
问题原因:由于4.4浏览器不兼容,因为这里列出了二个样式来适应不同的浏览器版本第一种加载:mWebView.loadUrl("file:///android_asset/chart_top01.html");这种加载方式,会出现问题,那么采用第二种加载:说明:这种方式是字符串的加载形式,直接给文件的地址会出现错误,因此需要把上面本地文件读出来,然后采用下面的加载方式:webView.loadDataWithBaseURL("about:blank",bodyBuffer.toString(),"text/html", "utf-8",null);读取assets文件的方法:这里可以读取HTML文件:/** * 资产文件帮助类 */public class AssetsUtil {// 从assets 文件夹中获取文件并读取数据public static String getFromAssets(Context context, String fileName) {String result = "";try {InputStream in = context.getResources().getAssets().open(fileName);// 获取文件的字节数int lenght = in.available();// 创建byte数组byte[] buffer = new byte[lenght];// 将文件中的数据读到byte数组中in.read(buffer);result = EncodingUtils.getString(buffer, "UTF-8");} catch (Exception e) {e.printStackTrace();}return result;}}将上面读取的字符串二次加载:这样能完成网页的二次添加样式,从而去掉4.4的BUG@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mWebView = (WebView) findViewById(R.id.webview);WebViewUtils.setting(mWebView);// mWebView.loadUrl("file:///android_asset/chart_top01.html");// mWebView.loadDataWithBaseURL("about:blank",// "APK'>file:///android_asset/chart_top01.html", "text/html",// "utf-8",null);// String data =// "<HTML>在模拟器 2.1 上测试,这是<IMG src=\"APK'>file:///android_asset/igg.jpg\"/>APK里的图片";// webView.loadDataWithBaseURL("about:blank",bodyBuffer.toString(),// "text/html", "utf-8",null);String data = getFromAssets("chart_top01.html");int currentapiVersion = android.os.Build.VERSION.SDK_INT;Log.i("fuck", currentapiVersion + "");if (currentapiVersion >= 19) {data += "<link rel=\"stylesheet\" type=\"text/css\" href=\"product_survey.css\" />";mWebView.loadDataWithBaseURL("file:///android_asset/product_survey.css", data, "text/html", "utf-8", null);} else {data += "<link rel=\"stylesheet\" type=\"text/css\" href=\"product_survey2.css\" />";mWebView.loadDataWithBaseURL("file:///android_asset/product_survey2.css", data, "text/html", "utf-8", null);}}
0 0
- Webview.loadDataWithBaseURL
- webview loadData和loadDataWithBaseURL
- Android WebView loadData与loadDataWithBaseURL用法、区别
- WebView: loadData与loadDataWithBaseURL的区别
- [Android] WebView之loadDataWithBaseUrl()和loadUrl()
- Android中的WebView之loadDataWithBaseURL()与loadData()的差别
- android webview loaddata 或loadDataWithBaseURL加载页面空白
- Android中的WebView之loadDataWithBaseURL遇到的坑
- Android中使用WebVIew展示网页源码, loadDataWithBaseURL()常见问题。
- Android应用开发之(WebView中loadData与loadDataWithBaseURL的使用上的区别)
- Android WebView中loadData与loadDataWithBaseURL的使用上的区别
- Android应用开发之(WebView中loadData与loadDataWithBaseURL的使用上的区别)
- Android应用开发之(WebView中loadData与loadDataWithBaseURL的使用上的区别)
- loadData和loadDataWithBaseUrl
- Android LoadData和loadDataWithBaseURL
- 有关loadDataWithBaseURL的讲解
- loadDataWithBaseURL加载HTML数据
- 【Android】loadData与loadDataWithBaseURL的区别
- QT 截屏
- Creating acustom tool
- 使用哈希加盐法来为密码加密
- C# Java间进行RSA加密解密交互(二) .
- 第一篇博文
- Webview.loadDataWithBaseURL
- 通过RMAN 异机克隆数据库
- Oracle 闪回表实验
- 数据结构之迷宫问题
- java抽象类与接口的区别
- MQ 查看消息
- accounting.formatNumber/Money的使用格式化货币、数字
- 布局
- C++递归求平均数