Apache Cordova移动应用开发实战
上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对象的属性。