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

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

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

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

  

 

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

import androID.app.Activity;import androID.os.Bundle;import androID.webkit.WebSettings;import androID.webkit.WebVIEw;public class AActivity extends Activity{		@OverrIDe	public 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 组件,代码如下:

<?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  	    androID:layout_wIDth="fill_parent" 	    androID:layout_height="wrap_content" 	    androID:ID="@+ID/webvIEw"	    />	    </linearLayout>
import androID.app.Activity;import androID.os.Bundle;import androID.webkit.WebSettings;import androID.webkit.WebVIEw;public class BActivity extends Activity{	@OverrIDe	public voID onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentVIEw(R.layout.webvIEw);		// 查找WebVIEw		WebVIEw webVIEw = (WebVIEw) findVIEwByID(R.ID.webvIEw);		// 获取WebVIEw配置		WebSettings ws = webVIEw.getSettings();		// 启用JavaScript		ws.setJavaScriptEnabled(true);		// 在载入assets目录下的一个页面		webVIEw.loadUrl("file:///androID_asset/www/index.HTML");	}}

  WebVIEw 还有一个非常重要的方法——addJavaScriptInterface,可以用来实现 Java 程序和 JavaScript 程序的相互调用,代码如下:

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

  页面代码如下:

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

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

 

您可能还喜欢

 

精美的移动开发PSD素材资源免费下载 10大优秀的移动Web应用程序开发框架 非常有用的Android开发工具和工具包 25个优秀的iPad应用程序网站设计案例 30套精美的Web和手机开发UI素材包

 

本文链接:Hybrid App 开发初探:使用 WebView 装载网页

编译来源:梦想天空 ◆ 关注前端开发技术 ◆ 分享网页设计资源

总结

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

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存