Android应用开发之(WebView中loadData与loadDataWithBaseURL的使用上的区别)[转]

转自:http://460230379.diandian.com/post/2011-08-16/3966668

 

     在开发Android平台的互联网应用时,经常会使用到WebView,好处主要有两个,一是可以更改要展现的内容(包括样式),二是可以实现部分功能的跨平台。

       Android的WebView组件使用非常简单,可以使用loadUrl()加载一个Url地址,也可以使用loadData()或loadDataWithBaseURL()加载一段HTML代码片段。loadUrl()的使用大家应该都没有什么问题,但是loadData()和loadDataWithBaseURL()在使用上的差异可能有些人还不太清楚。

       首先,从方法的定义来看:

public void  loadData  (String data, String mimeType, String encoding) public void  loadDataWithBaseURL  (String baseUrl, String data, String mimeType, String encoding, String historyUrl)

       loadDataWithBaseURL()比loadData()多两个参数,可以指定HTML代码片段中相关资源的相对根路径,也可以指定历史Url。两个方法的其余三个参数相同。

       其次,两个方法加载的HTML代码片段有些不同,loadData()中的html data中不能包含'#', '%', '\', '?'四中特殊字符,这就为我们内嵌css等制造了些许麻烦,因为css中经常用'#', '%'等字符,需要如何处理呢?我们需要用UrlEncoder编码为%23, %25, %27, %3f 。

posted @ 2012-06-07 15:14  aflylove  阅读(1945)  评论(0编辑  收藏  举报