博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hybrid App 开发初探:使用 WebView 装载页面
阅读量:7117 次
发布时间:2019-06-28

本文共 2023 字,大约阅读时间需要 6 分钟。

  Hybrid App 是混合模式应用的简称,兼具 Native App 和 Web App 两种模式应用的优势,开发成本低,拥有 技术跨平台特性。目前大家所知道的基于中间件的移动开发框架都是采用的 Hybrid 开发模式,例如国外的 、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 组件,代码如下:

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");

  页面代码如下:

	

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

 

您可能还喜欢

 

 

本文链接:

编译来源:

转载地址:http://oqyel.baihongyu.com/

你可能感兴趣的文章
轻松地在 Confluence 4.2 规划文档结构
查看>>
边缘计算的“完美风暴”
查看>>
贵州设立工业及省属国有企业绿色发展基金 总规模300亿
查看>>
springboot 2.X jdbc 实现session共享mysql
查看>>
第十四章:SpringCloud 依赖Git仓库实现配置对称加密
查看>>
1024 程序员节:给 DBA 们的福音
查看>>
寻找复杂背景下物体的轮廓(OpenCV / C++ - Filling holes)
查看>>
52ABP模板 ASP.Net Core 与 Angular的开源实例项目
查看>>
VC 6.0下载 VC 6.0英文版下载 Visual C++ 6.0 英文企业版 集成SP6完美版(最新更新地址,百度网盘)...
查看>>
递归-汉诺塔
查看>>
SAMtools: SAM格式的处理利器
查看>>
AI工程师成长之路--机器学习之模型评估与选择
查看>>
菜鸟排查数据库异常的事
查看>>
CSS:关于元素宽度与高度的讨论 系列文章(一)
查看>>
webstorm、phpstorm、idea等使用技巧记录
查看>>
腾讯内核团队发布 TCPA,为何是 OPEN 而非开源?
查看>>
Linux 用户被差别对待?无法通过 apple.com 管理 Apple ID
查看>>
芯片巨人英特尔的 Linux 开源驱动加入支持其独显的代码
查看>>
Elasticsearch批量导入数据脚本(python)
查看>>
Android Studio 3.5 Canary 12 发布
查看>>