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
>
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
Object(){
clickOnAndroID(){
mHandler.post( Runnable(){
run(){
"JavaScript:wave()"
);
}
}); }
}, "demo"
);
页面代码如下:
12>
function wave() {
document.getElementByID("ID").INNERHTML = "Hello World!"; }
> head
>
body >
div
>
a 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 装载页面所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)