2013-03-05 26 views
1

我已经使用externall AS3类文件创建了一个应用程序,并且它在PC桌面上完美工作(导出为演示文稿文件)。使用Air App为移动设备创建共享对象

但是,我现在需要移动相同的应用程序才能在移动平板电脑(Android设备)上工作。由于我需要存储信息(用户选择的视频播放列表),我需要保存播放列表的功能(因为下次用户在移动设备上输入应用程序时,此播放列表必须播放)。我一直在使用该文件。参考txt文档来保存播放列表,但我不认为这将工作更多:-(。

我已经做了大量的研究,但最终无法找到这些答案两个问题

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

 

If so , how to I create shared Objects specifically for Android tablet ? 

我曾看过http://www.adobe.com/devnet/flash/articles/saving_state_air_apps.html,但它适用于iPhone,并不具体。

我也看着这个:SharedObject not working on AIR mobile但是,再次,并没有大量的帮助,仍然dosn't回答我关于存储共享对象时重新打开应用程序的问题。

我无法真正使用SQL数据库,因为我不得不重新编写Flex中的所有内容,这与我已经完成的AS3代码不同。

我已经做了研究载荷和狩猎具体为,在Android设备共享对象,但目前还没有明确的教程等等。也许它这样的新生事物人们还没有完全得到解决,以它

所有非常感谢帮助。

回答

3

您可以毫无问题地使用SharedObject。

从这里你可以看到在空气中的手机是不支持的:link

+0

感谢磨,并为感谢链接。剂量这也意味着每次应用程序关闭时共享对象都不会从内存中擦除。 – Daragh 2013-03-05 09:58:20

+0

没有共享对象保存到磁盘。它将在unistall或当您从Android – 2013-03-05 10:00:08

+0

@ Azzy Elvul的应用程序设置中选择清除数据时被删除。感谢百万 – Daragh 2013-03-05 10:13:09

2

检查出的Adobe帮助页面 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/SharedObject.html

这里是一些样本

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); 
    } 
+0

感谢您的支持,但是由于这是移动设备,跟踪语句并没有真正的帮助。此外,还没有明确的声明说,Android设备将关闭后保存共享对象。 – Daragh 2013-03-05 10:12:33

+0

@ user1081830共享对象确实得到保存... – 2013-03-05 10:36:45

+0

非常感谢。我会开始Dev并让你在Loop中 – Daragh 2013-03-05 11:57:16