除了能够将HTML页面打包成可以直接安装运行的APP外,PhoneGap的一个最大优势在于可以通过JavaScript调用设备来访问设备上的硬件信息,从而实现一些原本只有依靠原生SDK才能够达到的目的。范例5-1就展示了一个利用API来获取设备信息的例子。

【范例5-1 利用PhoneGap获取设备信息】

<!DOCTYPE html>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head>  
<script src="cordova.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
    //设置触发器函数onDeviceReady()
    document.addEventListener("deviceready", onDeviceReady, false);
    // PhoneGap加载完毕,现在可以安全地调用PhoneGap方法
    function onDeviceReady() {
       // 现在可以安全使用PhoneGap API
       //获取页面中id为deviceProperties的元素
        var element = document.getElementById('deviceProperties');
        //将获取的设备信息写入到页面元素中
        element.innerHTML = '设备名称: '     + device.name     + '<br />' + 
                            'PhoneGap版本: ' + device.phonegap + '<br />' + 
                            '操作系统: ' + device.platform + '<br />' + 
                            '设备编号: '     + device.uuid     + '<br />' + 
                            '操作系统版本: '  + device.version  + '<br />';
    }

</script>
</head>
<body>
<h4 id="deviceProperties"></h4>
</body>
</html>

使用PhoneGap编译之后,运行结果如图5-1所示。
图片描述
通过本例可以看出,使用PhoneGap中API的方法与使用原生JavaScript和HTML的方法没有什么不同,只是多了一些事先定义好的类,如范例第15行中的device。
PhoneGap定义了一个类device,其中包含了name、phonegap、platform、uuid、version这5个成员变量,分别存放设备的设备名称、PhoneGap版本号、操作系统、设备编号和操作系统版本,使用时可以直接引用。
在范例的第15~19行就是使用了innerHTML操作来将device类中的信息显示到页面元素中,而页面元素是在第13行中利用元素的id属性来获取的。熟悉JavaScript的读者可以发现,这与JavaScript的DOM操作完全相同。

清华大学出版社推出的《构建跨平台APP:Phonegap移动应用实战》是一本APP实战书,包含20多个APP实例和3个APP项目,还结合了HTML5移动开发。本书面向移动开发入门人员,低门槛,浅阅读,最适合移动APP创业小白。本次发布第3~5章作为读者学习的基础,有兴趣的欢迎购买本书!欢迎加群:348632872,向作者直接提问交流!
Center


善良的粉红桃桃
688 声望48 粉丝

女生也可以学编程哦