WebView是Android应用开发中常用的组件,我们可以通过它来显示网页或者html格式的String数据.
对于后者我们往往使用loadData方法来加载html数据。下面就笔者的实践来讨论一下WebView的loadData方法。
对于loadData方法,ADK中的介绍为Load the given data into the WebView. This will load the data into WebView using the data: scheme. Content loaded through this mechanism does not have the ability to load content from the network.即,loadData主要被设计用来装载URI格式的数据,它不能通过网络来加载内容。使用的过程中笔者遇到并且解决了两个问题。
1. 经过实践,笔者发现,loadData不能加载图片内容,如果要加载图片内容或者获得更强大的Web支持请使用loadDataWithBaseURL。
2. 许多实用loadData方法的朋友都遇到显示乱码的问题,那是因为编码器设置错误导致的。我们知道String类型的数据主要是unicode编码,而WebView一般为了节省资源使用的是UTF-8编码,所以我们在loadData的时候要告诉方法怎样转码。即要告诉它要将unicode编码的内容转成UTF-8编码的内容。有些朋友虽然在loadData的时候设置了编码方式,但是还是显示乱码,这是因为还需要为WebView的text编码指定编码方式。举例如下:
WebView wv = (WebView)findViewById(R.id.webview) ;
String content = getUnicodeContent() ;
wv.getSettings().setDefaultTextEncodingNmae(“UTF -8”) ;
wv.loadData(content, “text/html”, “UTF-8”) ;
分享到:
相关推荐
本篇文章是对Android中WebView的loadData方法的注意事项进行了详细的分析介绍,需要的朋友参考下
主要介绍了Android 解决WebView调用loadData()方法显示乱码的问题的相关资料,希望通过本文能帮助到大家解决这样的问题,需要的朋友可以参考下
webview load html from obb
博客《 WebView使用详解(三)——WebChromeClient与LoadData补充》对应源码,博客地址:http://blog.csdn.net/harvic880925/article/details/51583253
以下方法可以成功! @Override public void onClick(View view) { webview.loadUrl(url); webview.loadUrl( [removed][removed].reload( true ) ); } 亲测管用! 补充知识:WebView.loadUrl使用误区 当使用...
请问怎么解决这个乱码问题
浏览器 关于webview--android android webview 浏览器 浏览器 关于webview--android android webview 浏览器
android demo,webview_js(webview的js方法调用java方法)。
Android webview 加载网页以及本地资源以及SD资源demo,以及加载缓存资源
Android webview 内存泄露的解决方法 最近在activity嵌套webview显示大量图文发现APP内存一直在涨,没法释放内存,查了很多资料,大概是webview的一个BUG,引用了activity导致内存泄漏,所以就尝试传递...
WebViewJS源码分析以及代码 利用webView加载JS代码
android 4.0中关于webview加载flash并使flash全屏的问题
主要介绍了Android使用WebView.loadUri()打开网页的方法,结合实例形式分析了Android中WebView控件的loadUri()打开网页的使用技巧,需要的朋友可以参考下
flutter webview 一直黑屏以及js调用失败
WebView调用Java方法,WebView调用Js方法,WebView加载页面title
在WebView页面上的按钮点击事件响应本地类中的方法。
WebView2Loader.dll 包含 x86 x64 Rad Studio 使用
Android Webview虽然提供了页面加载及资源请求的钩子,但是对于h5的ajax请求并没有提供干涉的接口,这意味着我们不能在webview中干涉javascript发起的http请求,而有时候我们确实需要能够截获ajax请求并实现一些功能...