Hybrid App 开发初探:使用 WebView 装载页面

Hybrid App 开发初探:使用 WebView 装载页面,第1张

概述http://www.cnblogs.com/lhb25/archive/2012/07/16/hybrid-app-developement.html Hybrid App 是混合模式应用的简称,兼具 Native App 和 Web App 两种模式应用的优势,开发成本低,拥有 Web 技术跨平台特性。目前大家所知道的基于中间件的移动开发框架都是采用的 Hybrid 开发模式,例如国外的 Ph

http://www.cnblogs.com/lhb25/archive/2012/07/16/hybrID-app-developement.HTML

HybrID App 是混合模式应用的简称,兼具 Native App 和 Web App 两种模式应用的优势,开发成本低,拥有 Web 技术跨平台特性。目前大家所知道的基于中间件的移动开发框架都是采用的 HybrID 开发模式,例如国外的 PhoneGap、Titanium、Sencha,还有国内的 AppCan、Rexsee 等等。HybrID App 开发模式正在被越来越多的公司和开发者所认同,相信将来会成为主流的移动应用开发模式。

  

 

  HybrID App 融合 Web App 的原理就是嵌入一个WebVIEw组件,可以在这个组件中载入页面,相当于内嵌的浏览器,代码如下:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 @H_403_74@ 21 22 import  androID.app.Activity; androID.os.Bundle; androID.webkit.WebSettings; androID.webkit.WebVIEw;   public  class  AActivity extends  Activity{            @OverrIDe      voID  onCreate(Bundle savedInstanceState) {          super .onCreate(savedInstanceState);          // 创建WebVIEw          WebVIEw webVIEw= new  WebVIEw( this ); // 切换到内容视图 setContentVIEw(webVIEw); // 获取WebVIEw配置 WebSettings ws = webVIEw.getSettings(); // 启用JavaScript ws.setJavaScriptEnabled( true ); // 载入assets目录下的一个页面 webVIEw.loadUrl( "file:///android_asset/www/BoBox/index.html" );      } }

  还有另一种引入方式是在布局文件中添加 WebVIEw 组件,代码如下:

13 <? xml  version = "1.0"  enCoding "utf-8" ?> < linearLayout  xmlns:androID "http://schemas.android.com/apk/res/android"      androID:orIEntation "vertical" androID:layout_wIDth "fill_parent" androID:layout_height "fill_parent" >            WebVIEw           "fill_parent" "wrap_content" androID:ID "@+ID/webvIEw"          />           </ linearLayout > 21 BActivity   setContentVIEw(R.layout.webvIEw); // 查找WebVIEw WebVIEw webVIEw = (WebVIEw) findVIEwByID(R.ID.webvIEw); // 获取WebVIEw配置 WebSettings ws = webVIEw.getSettings(); // 启用JavaScript ); // 在载入assets目录下的一个页面 "file:///android_asset/www/index.html" ); }   WebVIEw 还有一个非常重要的方法——addJavaScriptInterface,可以用来实现 Java 程序和 JavaScript 程序的相互调用,代码如下:

9 webVIEw.addJavaScriptInterface(
Object(){ clickOnAndroID(){ mHandler.post( Runnable(){              run(){                  "JavaScript:wave()" );              } }); } }, "demo" );

  页面代码如下:

12 script > function wave() { document.getElementByID("ID").INNERHTML = "Hello World!"; } > head > body > div >href "#"  ID "demo"  onclick "window.demo.clickOnAndroID()" >Click Me</ a > > > HTML >

  这样,当你点击页面上 Click Me 按钮的时候就会调用 Java 代码中的 clickOnAndroID 函数,clickOnAndroID 函数中又调用页面中的 wave 方法。需要注意的是:这个接口在 AndroID 2.3 版本的模拟器中运行会导致 WebVIEw 崩溃,目前还没有修复。这是一个非常简单的演示 Java 和 JavaScript 相互调用的例子,在实际应用中可以在页面调用的 clickOnAndroID 函数中再调用摄像头、通讯录、通知提醒等设备功能。

总结

以上是内存溢出为你收集整理的Hybrid App 开发初探:使用 WebView 装载页面全部内容,希望文章能够帮你解决Hybrid App 开发初探:使用 WebView 装载页面所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/999151.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存