Как добавить обратный вызов phonegap для обработчика onTap в Sencha Architect 2

Я смог сделать полное приложение для iphone с моего ПК без Mac, отлично работает на iphone.

Я создал сертификацию и подготовку, используя openSSL, и приложение, используя пробную версию sencha Architect, затем скопировал app.html в index.html, загрузил все это на веб-сайт phonegap-build, и вуаля. Я получил работающее приложение (и сложное приложение, которое это ) работает на Android и iPhone.

НО, когда я хочу добавить код для телефонных контактов, мне нужно добавить код обратного вызова. Я ищу быстрый способ проверить, работают ли мои телефонные контакты вообще... Кнопка onKb1ButtonTapped (мое имя для обработчика нажатия кнопки) выглядит так:

 options = new ContactFindOptions();
 //options.filter="bob"  'nothing will return if you don't have a bob.
 options.multiple=True;
 fields = ["displayName", "name"];
 navigator.contacts.find(fields, onContactsFound, onContactsError, options);

Теперь мне нужно добавить код onContactsFound и onContactsError.

Где и как в Architect2 это сделать?

И если мы уже говорим, как мне заставить контакты считываться в мой список с помощью хранилища данных и прокси-сервера?

Из доступных хранилищ и прокси-серверов в Architect наиболее подходящим оказался прокси-сервер REST (действия которого необходимо переопределить, вызывая новые функции создания, чтения, обновления и удаления). Правильно ли это?

И хранилище памяти кажется лучшим хранилищем (но я не уверен - означает ли это, что я потеряю объект контактов, возвращенный телефонным разрывом, или я должен использовать модель, и будет ли потерян массив моделей, возвращенных в хранилище ?

И... И последнее, но не менее важное: когда ожидается нативный (упаковочный) объект контактов Sencha?

Сенча, спасибо за прекрасную работу! Мне нравится ваш продукт.
То же самое и с людьми из Phonegap!

Моше


person pashute    schedule 09.06.2012    source источник


Ответы (1)


Проблема заключалась в том, что закрывающая фигурная скобка в Sencha Architect находится внутри обработчика событий.

Хорошо, теперь я знаю два способа сделать это:

а. ответ отсюда http://www.sencha.com/learn/a-sencha-touch-mvc-application-with-phonegap/

Я могу использовать встроенную функцию.

Вместо того, чтобы писать:

 options = new ContactFindOptions();
 //options.filter="bob"  'nothing will return if you don't have a bob.
 options.multiple=True;
 fields = ["displayName", "name"];
 navigator.contacts.find(fields, onContactsFound, onContactsError, options);

Я просто использую что-то вроде этого

 options = new ContactFindOptions();
 //options.filter="bob"  'nothing will return if you don't have a bob.
 options.multiple=True;
 fields = ["displayName", "name"];
 navigator.contacts.find(fields, 
      function(contacts){
            // do here whatever needed with contacts
      }, 
      function(contactsError){
            // do here whatever you want with error
      , options);

=========

Другой вариант — в Architect перейти к файлу контроллера (который вы, вероятно, создали, добавив привязку события к кнопке, а затем преобразовав его в действие) и там ОТМЕНИТЬ КОД. Затем в коде переопределения после основного метода добавьте все, что хотите.

person pashute    schedule 10.06.2012