如何在Sencha Architect 2中为onTap处理程序添加phonegap回调

时间:2012-06-09 20:08:18

标签: cordova sencha-touch-2 sencha-architect

我能够在没有Mac的情况下从我的电脑制作一个完整的iPhone应用程序,在iphone上运行得很好。

我使用openSSL创建了认证和配置,使用sencha Architect试用版创建了应用程序,然后将app.html复制到index.html,将其全部上传到phonegap-build网站,我发现了一个有效的app(和一个复杂的应用程序)应用它是在Android和iPhone上运行。

但是,当我想添加phonegap联系人的代码时,我需要添加回调代码。 我正在寻找一种快速的方法来检查我的phonegap联系人是否全部工作... 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代理(需要覆盖哪些操作调用新的创建读取更新和删除功能)这是正确的吗?

内存存储似乎是最好的存储(但我不确定 - 这是否意味着我将丢失phonegap的返回联系人对象,或者我应该使用模型,并且将返回的模型数组商店丢了?

并且......最后但并非最不重要的是,什么时候是Sencha原生(包装)联系人对象?

Sencha,感谢您的出色工作!我喜欢你的产品。
与Phonegap人一样!

摩西

1 个答案:

答案 0 :(得分:0)

问题是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中转到控制器文件(您可能通过向按钮添加事件绑定,然后将其转换为操作来创建),然后覆盖CODE。然后在覆盖代码中,在main方法之后添加你想要的任何东西。