当我尝试制作将在多个桌面和移动平台上运行的 Flash 程序并且我想使用持久数据时,我想研究哪些包和/或类?
编辑:
我正在开发一个程序,该程序将允许人们按照日常学习计划学习某些文本。每天的课文都不一样,我希望每个人都在学习同样的东西。我打算将其导出到适用于 Mac/Windows 的投影仪,并且我希望人们也可以在移动设备上使用它。该程序最好不需要互联网连接。
当我尝试制作将在多个桌面和移动平台上运行的 Flash 程序并且我想使用持久数据时,我想研究哪些包和/或类?
编辑:
我正在开发一个程序,该程序将允许人们按照日常学习计划学习某些文本。每天的课文都不一样,我希望每个人都在学习同样的东西。我打算将其导出到适用于 Mac/Windows 的投影仪,并且我希望人们也可以在移动设备上使用它。该程序最好不需要互联网连接。
几周前我自己也遇到了这个问题。我在网上找到了一个旧的“as3preferenceslib”类,清理它,修复了一些错误,现在它工作得很好。这是我的 SO 线程: AIR 2 - 数据持久性?
我记得代码有一些问题,但我记得的问题是Preferences.as的setValue()函数:
else if (value is int)
{
prefItm.value = s_int;
bytes.writeByte(value); //change this to bytes.writeInt(value);
}
如果您想要使用 Flash 的桌面应用程序,那么您必须使用 AIR,它提供了 File 和 FileStream 等类用于与文件系统交互以及更多用于与操作系统交互。
此外,如果您希望数据在所有各种应用程序实例之间同步(即桌面客户端上的更改也会显示在您的手机上),那么您将需要设置一个后端,该后端可以写入数据库,并使用 Web 服务更新应用程序中的数据。
一个简单的方法是 MySQL/PHP 堆栈,使用 AMFPHP 之类的东西来处理 Flash 和后端之间的通信。每当您在一个客户端中进行更改时,您都会将该更改推送到服务器并保存。然后,您的应用程序可以在每次开始查看是否有新数据时与服务器进行检查。
那有意义吗?这是一个相当广泛的答案,但这是一个相当广泛的问题。如果您熟悉后端技术并且我误解了您的问题,请对此发表评论,我会看看是否无法帮助您。:)
好的,所以您本质上是在寻求圣杯应用程序开发平台。您需要它在没有互联网连接的情况下轻松跨平台同步。简短的回答,你不会在任何可以被描述为“短”甚至“合理”的时间范围内完成这项工作。Iphone 不支持 Flash。尽管核心代码是可重用的,但无论如何您都必须为桌面和移动设备设计和实现单独的 UI。为了让应用程序在没有互联网连接的情况下运行,您需要提前将所有学习指南编程到其中,并希望没有人错误地设置了他们的设备日历。
最好的办法是将其设置为网页并需要网络连接和浏览器。这样一来,您就可以制作一个后端,如果您没有时间,甚至可以制作一个 UI,并且所有这些都是同步和最新的。您可以通过立即推送给用户的更新来修改它。
否则,您将不得不缩减范围或雇用一些开发人员/测试人员。
Adobe AIR 2.5 支持桌面、Android 和 iOS(可能还有其他)。与网页不同,AIR 应用程序已安装且无需依赖互联网连接。但有时,当连接可用时,您可以更新文本并将它们存储在文件中。您甚至不必被迫使用 Flex 来完成所有工作。如果您在 ActionScript 中有基于 Sprite 的内容,则可以通过将其放入 rawChildren 并将其与应用程序一起缩放来使其适应 AIR 的 WindowedApplication。