0

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

我使用 openSSL 创建了认证和配置,使用 sencha Architect 试用版创建了应用程序,然后将 app.html 复制到 index.html,将其全部上传到 phonegap-build 网站,瞧,我得到了一个工作应用程序(它是一个复杂的应用程序) 在 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的人一样!

摩西

4

1 回答 1

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

于 2012-06-10T12:46:21.563 回答