使用 HTML 和 JavaScript 编写 Android 程序
“Togosoft Device Browser”允许 Web 程序员使用纯 HTML 和 JavaScript 在几分钟内创建 Android Web 应用。
引言
最近,我被分配到一个新的 Android 项目,为一家污染执法机构工作。基本上,项目本身是一个传统的 Web 数据库程序;这个项目的挑战部分在于其客户端程序的开发要求:
- 客户端程序运行在 Android 设备上(Android 操作系统 2.3+ 的 Android 智能手机)。
- 客户端程序需要拍照并上传到后端数据库。
- 客户端程序需要读取供应商许可证上的条形码。
- 客户端程序需要记录污染地点的 GPS 位置。
- 客户端程序需要易于部署和维护(20 多个设备)。
起初,开发团队似乎喜欢从头开始创建一个 Android 程序。然而,大多数团队成员都是 Web 开发人员,而不是 Android 程序员。对其中一些人来说,Android 编程的学习曲线似乎太陡峭了。此外,客户端程序可能会相当频繁地更新,将独立的 Android 程序部署到 20 多个设备可能需要项目管理员额外的工作。
为了解决上述问题,团队决定(并指派我)实现一个 Android 特定的 Web 浏览器,该浏览器可以通过 JavaScript 接口将较低级的 Android 硬件功能(摄像头、条形码扫描仪、GPS 等)暴露给更高级的 Web 程序员。Web 程序员可以继续使用他们喜欢的 HTML、JavaScript、CSS、PHP 和 MySQL 来完成整个项目。
项目完成后,我继续优化了我的浏览器的一些部分,并将其打包成一个新的 Android 程序——“Togosoft Device Browser”。在本文的其余部分,我将重点介绍“如何使用该浏览器”,而不是“如何实现该浏览器”(我可能会在另一篇文章中介绍这个主题)。下图说明了该浏览器的基本功能。如果有人有兴趣了解更多,请访问 http://www.togosoft.com/TDB 了解详情。
设置
- “Togosoft Device Browser”可以从 Google Play(以前的 Android Market)下载,并安装到您的 Android 设备上。
- “Togosoft Device Browser”不需要任何特殊的设置。它像普通的移动 Web 浏览器一样运行。
用户界面
- [后退] 到上一页。
- [前进] 到下一页。
- [菜单] 显示浏览器菜单。
- [地址栏] 显示或输入网页地址。项目(1)、(2)、(3)和(4)位于浏览器工具栏上。
- [菜单]/[地址] 输入网页地址。
- [菜单]/[书签] 访问浏览器书签。
- [菜单]/[重新加载] 重新加载当前网页。
- [菜单]/[方向] 更改浏览器方向。
- [菜单]/[工具栏] 打开/关闭浏览器工具栏。
- [菜单]/[控制台] 显示网页源代码、调试消息和错误警告。
示例程序
1. 第一个演示 HTML 程序是创建一个简单的条形码扫描仪。
01 <html> 02 <title>Barcode</title> 03 <script type="text/javascript" src="TogosoftDeviceBrowser.js"></script> 04 05 <body> 06 <div id="output"> 07 Barcode : <input type="text" id="barcode" size="24"><br><br> 08 <input type="button" value="Scan Barcode" onclick=ScanBarcode()> 09 </div> 10 </body> 11 12 <script> 13 if (!$device || !$device.hasCamera()) 14 { 15 document.getElementById("output").innerHTML="No Camera found."; 16 } 17 18 function ScanBarcode() 19 { 20 $device.scanBarcode(function(barcode) 21 { 22 document.getElementById("barcode").value=barcode; 23 }); 24 } 25 </script> 26 27 </html>
- [第 03 行]:需要 TogosoftDeviceBrowser.js 文件来访问 Android 设备功能。
- [第 13 行]:如果当前的 HTML 程序运行在 Togosoft Device Browser 中,并且加载了 TogosoftDeviceBrowser.js 文件,则定义并创建 $device。此行还检查设备是否具有摄像头。
- [第 20 行]:扫描条形码,并通过回调函数传递结果。
2. 第二个演示 HTML 程序是获取当前设备上的传感器列表。
01 <html> 02 <title>Sensor List</title> 03 <script type="text/javascript" src="TogosoftDeviceBrowser.js"></script> 04 05 <body> 06 <div id="output"></div> 07 </body> 08 09 <script> 10 if (!$device) 11 { 12 document.getElementById("output").innerHTML="No sensor found."; 13 } 14 else 15 { 16 var sensors=$device.getSensorList(); 17 var html="<table border='1'>"; 18 for (var i=0;i<sensors.length;i++) 19 { 20 html+="<tr><td>"+sensors[i]+"</td></tr>"; 21 } 22 html+="</table><br><br>"; 23 document.getElementById("output").innerHTML=html; 24 } 25 </script> 26 27 </html>
- [第 03 行]:需要 TogosoftDeviceBrowser.js 文件来访问 Android 设备功能。
- [第 10 行]:检查 $device 是否已定义和创建。
- [第 16 行]:从 Android 设备获取传感器信息的数组。
结语
“Togosoft Device Browser”充当 Android 设备和普通 Web 浏览器之间的桥梁。它允许大多数 Web 开发人员利用 Android 设备硬件、传感器和服务功能,而无需安装 Android SDK,甚至无需了解 Android 编程。该浏览器是用于 Web 应用程序开发的简单但功能强大的工具。它支持标准的 HTML5 和 JavaScript 接口。 如果您可以用 jQuery 编写 Web 程序,那么您也可以在几分钟内使用“Togosoft Device Browser”实现您的 Android Web 应用。 希望您能尽快尝试一下。