Android 使用Air App为移动设备创建共享对象

Android 使用Air App为移动设备创建共享对象,android,actionscript-3,air,shared-objects,Android,Actionscript 3,Air,Shared Objects,我使用外部AS3类文件创建了一个应用程序,它可以在PC桌面上完美运行(导出为演示文件) 但是,我现在需要移动相同的应用程序才能在移动平板电脑(Android设备)上工作 由于我需要存储信息(用户选择的视频播放列表),我需要保存播放列表的功能(因为下次用户在移动设备上进入应用程序时,此播放列表必须播放)。我一直在使用该文件。参考txt文档保存播放列表,但我认为这将不再有效:-( 我对此做了大量的研究,但最终还是找不到这两个问题的答案 Will shard objects keep saved on

我使用外部AS3类文件创建了一个应用程序,它可以在PC桌面上完美运行(导出为演示文件)

但是,我现在需要移动相同的应用程序才能在移动平板电脑(Android设备)上工作

由于我需要存储信息(用户选择的视频播放列表),我需要保存播放列表的功能(因为下次用户在移动设备上进入应用程序时,此播放列表必须播放)。我一直在使用该文件。参考txt文档保存播放列表,但我认为这将不再有效:-(

我对此做了大量的研究,但最终还是找不到这两个问题的答案

Will shard objects keep saved on Android Tablet device even if the app is closed 
and then restarted ?

我已经看过了,但它是针对iPhone的,没有具体说明

我也注意到了这一点:但再次强调,这并不是很大的帮助,并且仍然没有回答我关于在重新打开应用程序时存储共享对象的问题

我不能真正使用SQL数据库,因为我必须在Flex中重新编写所有代码,这与我已经完成的AS3代码不同

我已经做了大量的研究,寻找Android设备中的共享对象,但没有明确的教程等。也许这是一件人们还没有完全了解的新事情


非常感谢您的帮助。

您可以毫无问题地使用SharedObject


从这里您可以看到空中移动设备中不支持的内容:

您可以毫无问题地使用SharedObject


从这里您可以看到air mobiles中不支持的内容:

查看Adobe帮助页面

这是一些样品

private var mySo:SharedObject;

function test():void
{
     mySo = SharedObject.getLocal("application-name");
     mySo.data.savedValue = input.text;

     var flushStatus:String = null;
     try {
        flushStatus = mySo.flush(10000);
     } catch (error:Error) {
        trace("Error...Could not write SharedObject to disk\n");
     }

     if (flushStatus != null) {
        switch (flushStatus) {
           case SharedObjectFlushStatus.PENDING:
                trace("Requesting permission to save object...\n");
                mySo.addEventListener(NetStatusEvent.NET_STATUS, onFlushStatus);
                break;
           case SharedObjectFlushStatus.FLUSHED:
                trace("Value flushed to disk.\n");
                break;
        }
    }
}

private function onFlushStatus(event:NetStatusEvent):void {
        trace("User closed permission dialog...\n");
        switch (event.info.code) {
            case "SharedObject.Flush.Success":
                trace("User granted permission -- value saved.\n");
                break;
            case "SharedObject.Flush.Failed":
                trace("User denied permission -- value not saved.\n");
                break;
        }

        mySo.removeEventListener(NetStatusEvent.NET_STATUS, onFlushStatus);
    }

查看Adobe帮助页面

这是一些样品

private var mySo:SharedObject;

function test():void
{
     mySo = SharedObject.getLocal("application-name");
     mySo.data.savedValue = input.text;

     var flushStatus:String = null;
     try {
        flushStatus = mySo.flush(10000);
     } catch (error:Error) {
        trace("Error...Could not write SharedObject to disk\n");
     }

     if (flushStatus != null) {
        switch (flushStatus) {
           case SharedObjectFlushStatus.PENDING:
                trace("Requesting permission to save object...\n");
                mySo.addEventListener(NetStatusEvent.NET_STATUS, onFlushStatus);
                break;
           case SharedObjectFlushStatus.FLUSHED:
                trace("Value flushed to disk.\n");
                break;
        }
    }
}

private function onFlushStatus(event:NetStatusEvent):void {
        trace("User closed permission dialog...\n");
        switch (event.info.code) {
            case "SharedObject.Flush.Success":
                trace("User granted permission -- value saved.\n");
                break;
            case "SharedObject.Flush.Failed":
                trace("User denied permission -- value not saved.\n");
                break;
        }

        mySo.removeEventListener(NetStatusEvent.NET_STATUS, onFlushStatus);
    }

感谢mill,感谢链接。这是否也意味着共享对象不会在每次应用关闭时从内存中删除?没有共享对象保存到磁盘。它将在unistall上或在android@Azzy Elvul中从应用设置中选择清除数据时被删除。感谢mill,感谢链接。这也是我吗注意:共享对象不会在每次应用程序关闭时从内存中删除?没有共享对象保存到磁盘。它将在unistall上或在android@Azzy Elvul的应用程序设置中选择“清除数据”时被删除。感谢百万分之一的用户,但由于这将应用到移动设备,跟踪语句并没有真正的帮助。此外,还有我没有明确的声明说android设备在关闭后将保留共享对象。非常感谢。我将启动Dev并让您保持在循环中。谢谢,但由于这将用于移动设备,跟踪声明并没有真正的帮助。此外,仍然没有明确的声明说android设备将保留共享对象结束后。非常感谢。我将启动Dev并让您参与其中