在跨平台 AIR 应用程序中存储首选项数据的最简单方法是啥? [关闭]

Posted

技术标签:

【中文标题】在跨平台 AIR 应用程序中存储首选项数据的最简单方法是啥? [关闭]【英文标题】:What's the easiest way to store preferences data in cross platform AIR application? [closed]在跨平台 AIR 应用程序中存储首选项数据的最简单方法是什么? [关闭] 【发布时间】:2017-06-16 21:24:50 【问题描述】:

我是新的 Adob​​e Animate 程序员,我想问问有经验的 ActionScripts 3 开发人员,是否有任何默认且简单的方法可以在 ActionScripts3 中存储偏好数据,例如 UNITY3D (PlayerPrefs)强>? 对于跨平台 AIR,无需修改即可工作的最简单方法是什么?

哪个更好更简单:

1.文本文件.

2.XML 文件.

3.JSON 文件.

4...?

【问题讨论】:

【参考方案1】:

SharedObject 是 ActionScripts 默认和最简单的存储基本数据的方式,它与 Unity3D (PlayerPrefs) 非常相似。 但是 SharedObject 数据大小限制为 100KB,Unity3D PlayerPrefs 限制为 1000KB。

这是使用 SharedObject 的简单代码:

var DATA:SharedObject = SharedObject.getLocal("DATA_STORAGE");//Create SharedObject

DATA.data.Data1 = "111";//Set Data 1
DATA.data.Data2 = "222";//Set Data 2

DATA.flush();//Write data

trace(DATA.data.Data1);//Read Data 1
trace(DATA.data.Data2);// Read Data 2

//DATA.clear();//Clear all data

【讨论】:

实际上大小限制可由用户配置,从 0 到远大于 100kb,100kb 只是默认大小。如果用户尚未完全禁用 SO,您可以使用 flush(minDiskSpace) 查询用户以允许更多空间。 感谢您的信息。【参考方案2】:

SharedObject 似乎完全符合描述

SharedObject 类用于在用户计算机或服务器上读取和存储有限数量的数据。共享对象在多个客户端 SWF 文件和持久保存在本地计算机或远程服务器上的对象之间提供实时数据共享。本地共享对象类似于浏览器 cookie,远程共享对象类似于实时数据传输设备。要使用远程共享对象,您需要 Adob​​e Flash Media Server。

【讨论】:

SharedObject 是 Fl​​ash Player 中最简单的方法,但您必须担心最大允许大小以及用户是否已完全禁用 SO。使用 AIR 实际上更容易使用 EncryptedLocalStore 或写入不适用这些限制的 AMF 文件。

以上是关于在跨平台 AIR 应用程序中存储首选项数据的最简单方法是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

JavaEE 配置文件 应用首选项存储

如果我使用Xamarin.Essentials首选项存储数据,那么如何在Android Splash活动中检索该数据?

根据存储在共享首选项中的记住我状态导航到屏幕

Flutter 存储共享首选项中的自定义类列表

如何在不使用共享首选项的情况下将数据存储为颤动的对象[关闭]

AIR 的面向文档的数据库?