- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
lAndroidwebkit简介及开发遇到的一些问题
Android webkit简介
张立鹏
M厂开发五部目录
1、webkit架构 2
2、Application 3
2.1 WebViewClient里面几个重要方法 3
2.2 WebChromeClient里面几个重要的方法 3
2.3 使用webview的基本流程 4
2.4 使用webview的扩展流程 4
3、Webkit(framework) 7
3.1 webkit(framework)流程的介绍 7
3.2 webkit(framework)的一些扩展功能的修改: 12
4、Webkit(external) 15
4.1 从文件管理器上传文件到邮箱附件里 16
4.2 修改webview上的复制效果 17
4.3 扩展WML的支持 18
4.4 调试 19
5、浏览器开发过程中的一些调试手段 19
1、webkit架构
目前Android平台自带的浏览器都是以webkit作为解析处理核心的,能够较好的使用webkit提供的功能,能够帮忙我们优化浏览器的一些功能和体验。
从架构上来看,android中的webkit的架构先可以划分为三个主要的部分。如图1-1,application对应的主要是使用webview等实现相应功能的应用,这块目前主要是浏览器或者其他三方应用。Webkit(framework)主要是作为对底层Webkit封装,并为应用提供一些显示方面扩展的功能。Webkit(external)则是整个webkit的核心部分,负责对页面的解析和显示排版等处理。
图1-1 android中webkit架构流程
2、Application
针对普通的应用开发者来说,并不需要知道webkit的实现流程,以及怎么去修改framework中的webkit。一般只需要知道怎么去使用webkit就可以达到自己想要的功能了。Android平台为开发者提供了webview等相应的组件来使用webkit的相应功能。下面就介绍下webview的使用和需要注意的一些地方。
Webview是继承了viewgroup的android提供的一些基本view之一,通过使用webview可以加载本地或者网络服务器上的html等一些页面。而通常我们会和webview配合使用的WebViewClient和WebChromeClient。
2.1 WebViewClient里面几个重要方法
onPageStarted:页面开始加载时会调用,用户可以在这个回调里面显示进度条以及一些初始操作。
onPageFinished:页面加载完毕时调用,可以在这个回调里面刷新界面。
shouldOverrideUrlLoading:需要用户是否针对这个url需要做特殊处理,在这个回调里面,可以对wtai协议或者其他一些特殊的url进行特殊的处理。另外,如果想要让所有点击的link都在当前窗口打开,则一般需要在这个回调里面这样做。
在这个回调里面如果返回true的话,webkit就认为用户以及处理过了,就不会再进行处理了。如果返回false,webkit会根据已有的逻辑进行处理。如打开新的窗口加载这个url等操作。
2.2 WebChromeClient里面几个重要的方法
onProgressChanged:在加载进度有变动的时候会调用这个函数,所以可以在这个函数里面更新加载进度条。
onCreateWindow:在这个回调里面创建窗口
onGeolocationPermissionsShowPrompt:在这个回调里面会提示是否允许使用位置信息
openFileChooser:在这个回调里面要求用户调用打开文件选择来选择文件
2.3 使用webview的基本流程
在使用webview的应用里面,首先创建一个webview,然后根据自己应用的需要添加WebViewClient或者WebChromeClient监听对象来实现一些界面上或者流程上的修改。如:
创建好这些后,通过webview的loadurl就可以加载网络上的数据或者本地数据了。如;
?? 互联网用:webView.loadUrl();
?????本地文件用:webView.loadUrl(file:///android_asset/XX.html);
使用的地方需要注意的有:
如果是要加载网络服务器上的内容,则必须在应用的AndroidManifest.xml中使用许可android.permission.INTERNET如果用webview点链接看了很多页以后,如果不做任何处理,点击系统“Back”键,整个浏览器会调用finish()而结束自身,如果希望浏览的网页回退而不是退出浏览器,需要在当前Activity中处理并消费掉该Back事件。shouldO
文档评论(0)