Статьи

Кордова (ранее PhoneGap) — Сохранение контакта в Windows Phone

В этой статье я расскажу о создании контактов в Windows Phone с помощью Cordova или PhoneGap. Если вы впервые используете Cordova или PhoneGap, я бы рекомендовал прочитать « Начало работы с Cordova или PhoneGap» в Windows Phone.

Давайте напишем некоторый код для создания контакта:

Шаг 1: Откройте index.html в папке www и поместите ниже код.

<!DOCTYPE html>
<html>
   <head>
      <title>Getting Started Sample</title>
      <script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
      <script type="text/javascript" charset="utf-8">
         var init = function init() {
            // Wait for Cordova to load
            document.addEventListener("deviceready", onDeviceReady, false);
            // Cordova is ready
            function onDeviceReady() {
            }
         };

         window.onload = init;
      </script>
   </head>
   <body>
   </body>
</html>

Шаг 2: Теперь измените метод onDeviceReady, как показано ниже, чтобы сохранить номер контактного телефона.

function onDeviceReady() {
   var contact = navigator.contacts.create();
   
   var phoneNumbers = [];
   phoneNumbers[0] = new ContactField('work', '111-222-3333', false);
   phoneNumbers[1] = new ContactField('mobile', '444-555-6666', true); // preferred number
   phoneNumbers[2] = new ContactField('home', '777-888-9999', false);
   
   contact.phoneNumbers = phoneNumbers;
   contact.save(onSaveSuccess, onSaveError);
}

function onSaveSuccess(contact) {
   alert("Save Success");
}

function onSaveError(contactError) {
   alert("Error = " + contactError.code);
}

Теперь запустите приложение, и вы увидите, что номер телефона заполнен в контактных данных, как показано ниже.

Шаг 3:  Чтобы сохранить электронную почту вместе с номером телефона, измените onDeviceReady, как показано ниже.

function onDeviceReady() {
   var contact = navigator.contacts.create();

   //Code to save phone number in Contact as discussed in step 2

   var emails = [];
   emails[0] = new ContactField('work', 'abc@outlook.com', false);
   emails[1] = new ContactField('home', 'pqr@outlook.com', true); // preferred number

   contact.emails = emails;
   contact.save(onSaveSuccess, onSaveError);
}

function onSaveSuccess(contact) {
   alert("Save Success");
}

function onSaveError(contactError) {
   alert("Error = " + contactError.code);
}

Теперь запустите приложение, и вы заметите, что электронная почта заполнена контактной информацией, как показано ниже.

Шаг 4: Теперь, чтобы сохранить адреса, измените onDeviceReady, как показано ниже.

function onDeviceReady() {
   var contact = navigator.contacts.create();

   //Code to save phone number in Contact as discussed in step 2
   //Code to save email in Contact as discussed in step 3

   var addresses = [];
   addresses[0] = new ContactAddress(false, 'work', 'My House No', 'My Street Address', 'My Locality', 'My Region', 'My PostalCode', 'My Country');
   addresses[1] = new ContactAddress(false, 'home', 'My House No', 'My Street HAddress', 'My Locality', 'My Region', 'My PostalCode', 'My Country');

   contact.addresses = addresses;
   contact.save(onSaveSuccess, onSaveError);
}

function onSaveSuccess(contact) {
   alert("Save Success");
}

function onSaveError(contactError) {
   alert("Error = " + contactError.code);
}

Теперь запустите приложение, и вы увидите, что адрес заполнен в контактных данных, как показано ниже.

Шаг 5. Чтобы сохранить сведения об организации, URL-адрес и примечание, поместите приведенный ниже код в onDeviceReady.

function onDeviceReady() {
   var contact = navigator.contacts.create();

   //Code to save phone number in Contact as discussed in step 2
   //Code to save email in Contact as discussed in step 3
   //Code to save address in Contact as discussed in step 4

   var organizations = [];
   organizations[0] = new ContactOrganization(false, 'work', 'OrgName', 'OrgDept', 'OrgTitle');
   contact.organizations = organizations;

   contact.note = 'PhoneGap Note';
   var urls = [];
   urls[0] = new ContactField('work', 'http://www.abc.com');
   contact.urls = urls;
   contact.save(onSaveSuccess, onSaveError);
}

function onSaveSuccess(contact) {
   alert("Save Success");
}

function onSaveError(contactError) {
   alert("Error = " + contactError.code);
}

Теперь запустите приложение, и вы увидите, что веб-сайт, заметки и jobTitle заполнены контактными данными, как показано ниже. Название организации отображается вместе с именем контакта, которое вы увидите на следующем шаге.

Шаг 6: Теперь, чтобы сохранить имя контакта, поместите ниже код в onDeviceReady, как показано ниже.


function onDeviceReady() {
   var contact = navigator.contacts.create();

   //Code to save phone number in Contact as discussed in step 2
   //Code to save email in Contact as discussed in step 3
   //Code to save address in Contact as discussed in step 4
   //Code to save email, notes and organization details in Contact as discussed in step 5

var name = new ContactName();
   name.givenName = "Jane";
   name.familyName = "FN";
   name.middleName = "MN";
   name.honorificPrefix = "Pr";
   name.honorificSuffix = "Su";

   contact.name = name;
   contact.save(onSaveSuccess, onSaveError);
}

function onSaveSuccess(contact) {
   alert("Save Success");
}

function onSaveError(contactError) {
   alert("Error = " + contactError.code);
}

Теперь запустите приложение, и вы увидите, что имя контакта заполнено в контактной информации.

На этом заканчивается статья о сохранении контакта в windows phone с помощью cordova или PhoneGap.