上QQ阅读APP看书,第一时间看更新
6.1 创建一个Contact对象
本节学习使用Cordova操作手机通讯录。Cordova把有关通讯录的信息封装在一个Contact类中,因此在对通讯录进行操作前首先要创建一个Contact对象。
首先在命令行执行命令添加插件:cordova plugin add cordova-plugin-contacts
【范例6-1】创建一个Contact对象。
01 <! DOCTYPE html> 02 <html> 03 <head> 04 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 05 <script src="cordova.js" type="text/javascript" charset="utf-8"></script> 06 <script type="text/javascript" charset="utf-8"> 07 // 等待加载Cordova 08 document.addEventListener("deviceready", onDeviceReady, false); 09 // Cordova加载完毕 10 function onDeviceReady() { 11 //此处可以安全使用Cordova中的API 12 //创建一个新的Contact对象 13 var myContact = navigator.contacts.create({"displayName": "Test User"}); 14 //设置Contact的gender属性 15 myContact.gender = "male"; 16 //用对话框显示获得的Contact对象 17 alert("The contact, " + myContact.displayName + ", is of the " + myContact.gender + " gender”); 18 myContact.save(); 19 } 20 </script> 21 </head> 22 <body> 23 <h1>Cordova中的联系人</h1> 24 <p>创建一个Contact对象</p> 25 </body> 26 </html>
编译运行之后如图6-1所示,对话框中显示了刚刚创建的Contact对象的信息。
图6-1 显示创建出的Contact对象
在Cordova中使用类Contact来管理通讯录,每次要对通讯录进行操作前,首先要使用语句var contact = navigator.contacts.create(properties)来实例化一个Contact对象,如范例中第13行所示。
注意
Cordova官方给出的说明中使用了var contact = navigator.service.contacts.create(properties),但是该语句仅在1.0版本的Cordova中有效,在之后的版本中去掉了service,因此如果照抄官方demo,在运行时很可能出错。
范例第15行还设置了Contact对象的gender属性为male,在本例中并没有实际的意义,只是为了展示对Contact对象进行操作的方法。结合图6-1中的内容可以清楚地看到经过这番操作之后Contact对象的属性。