【发布时间】:2012-02-01 15:13:27
【问题描述】:
大家好,我正在学习本教程:
http://www.sencha.com/learn/a-sencha-touch-mvc-application-with-phonegap
并尝试让代码在 Android 上运行。我设置了 Eclipse 并针对 Android 2.3.3
我已经从 Git 下载了最终代码,但我不断收到错误消息(在 LogCat 中):
02-01 14:59:08.709: E/Web Console(16659): Uncaught ReferenceError: device is not defined at file:///android_asset/www/app/app.js:8
有问题的代码是:
Ext.regApplication({
name: 'app',
launch: function() {
this.launched = true;
this.mainLaunch();
},
mainLaunch: function() {
if (!device || !this.launched) {return;}
this.views.viewport = new this.views.Viewport();
}
});
无论是在模拟器还是物理设备上运行,我都会遇到同样的错误。我已经设置了 Weinre,但它没有给我任何有用的信息,只是说明 “发生错误:[未知文件名]:[未知行号]:[未知消息]”
【问题讨论】:
-
您是否有任何理由阻止 Viewport 启动等待 phonegap 加载?
-
视口包含的代码依赖于可用的 PhoneGap API,因此在加载 PhoneGap 之前它会被阻止。
-
你总是可以推迟调用 Ext.regApplication 直到 phonegap 加载。这将避免此处所需的奇怪启动逻辑。它可能会慢一点,但我质疑 多少 慢,特别是如果你已经包含了 sencha-all。它可能小于 10 毫秒。玩了一会儿JS拼接,合并20个JS文件后只能节省
-
谢谢 Stefan 你有任何示例代码吗?
标签: android cordova sencha-touch