0

每个人都希望将他们的桌面 (AIR) 或 Web (Flex) 应用程序编译为移动 (Air mobile) 应用程序。在这里,我正朝着相反的方向前进。我想将我的 Air 移动应用程序编译为 Flex Web 应用程序并使用浏览器打开它。

我认为这是可能的,因为归根结底,Air 移动框架几乎是 flex 框架的一个子集。我对么?我知道您也使用其他库,例如mobilecomponents.swc和 servicemonitor.swc,但主要它们应该非常相似。

在尝试完成此操作时,我在 Flash Builder 上创建了一个 Flex 项目并添加了mobilecomponents.swc,导入了我的移动代码并替换并编译了它。没有错误,构建器编译了所有内容,没有任何警告。

唯一的问题是,当我在资源管理器中打开 swc 时,屏幕全白,应用程序甚至没有运行。由于鼠标上下文菜单,我知道 swc 已加载,它向您显示了常规 swc 的所有选项,但应用程序没有运行。我试图调试它,但什么也没发生。

显然我做错了什么。如果有人能告诉我该怎么做,我将不胜感激。

提前致谢,

塞巴斯蒂安

4

2 回答 2

3

你混淆了一些东西...

我想将我的 Air 移动应用程序编译为 Flex Web 应用程序并使用浏览器打开它。
我认为这是可能的,因为

你是对的; 这个有可能。我在大约半天的时间里将一个移动应用程序转换为一个基于浏览器的应用程序。我不得不更改配置文件的加载方式;但其他一切都没有改变。

如果应用程序使用 AIR 特定功能,您可能需要重新编写应用程序的某些功能。File类就是一个例子。

Air mobile 框架几乎是 flex 框架的一个子集。我对么?

你在这里错了。AIR Mobile 框架完全独立于 Flex 框架。但是,Flex 框架确实为 Flex UI 组件提供了许多移动优化的皮肤,例如按钮和列表。它还提供了一些特殊的移动专用组件。

但是,移动设备上存在与 Flex 框架无关的非 Flex 类/功能;它们是 Adob​​e 提供的核心 AIR SDK 的一部分。我之前提到的 File 类就是其中之一。

在尝试完成此操作时,我在 Flash Builder 上创建了一个 Flex 项目并添加了 mobilecomponents.swc,导入了我的移动代码并替换并编译了它。没有错误,构建器编译了所有内容,没有任何警告。

是的,您可以在基于浏览器的应用程序或其他桌面应用程序中使用 Flex 移动组件集。但是,正如您所发现的,您必须手动将 SWC 添加到输出中。您可能还需要添加移动主题才能正确显示移动组件。如果您想在同一个应用程序中混合使用移动主题和非移动主题,这可能会让人感到困惑;因为有一些交叉,Flex 将不知道默认使用哪一个。

您必须提供更多信息/代码来帮助我们诊断您收到的具体错误。

于 2013-11-13T18:42:04.137 回答
1

我以前做过,所以它应该工作得很好。

我所做的是创建一个标准的网络应用程序(我没有代码坐在“主”中,所以我可以轻松切换顶级应用程序标签),添加 mobilecomponents.swc,并在项目属性中选择移动主题(您可能需要从 frameworks/themes/Mobile/mobile.swc 导入它)。

之后,它应该能够在 Web 或空中桌面构建中使用移动组件。

于 2013-11-13T22:48:32.117 回答