我想保存我的Array的結構並在下一次打開AIR應用程序時加載它。有沒有辦法將它存儲到EncryptedLocalStore項目中,然後在重新打開應用程序時再獲取它?是否可以將數組存儲到EncryptedLocalStore項目中? AIR
回答
EncryptedLocalStore.setItem()方法在存儲內容時需要一個字節數組。要存儲數組,只需使用ByteArray.writeObject()方法(如http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/ByteArray.html#writeObject()中所述)將Array轉換爲ByteArray,然後將其保存到ELS中。
var array:Array = getArray();
var byteArray:ByteArray = new ByteArray();
byteArray.writeObject(array);
EncryptedLocalStore.setItem('somekey', byteArray);
希望這會有所幫助。
更新:添加代碼以檢索數組。
var byteArray:ByteArray = EncryptedLocalStore.getItem('somekey');
var array:Array = byteArray.readObject() as Array;
更新:用於自定義類。
如果要將自己的自定義類序列化爲ByteArray,則可能必須在將對象寫入ByteArray之前調用registerClassAlias()。例如。
registerClassAlias("com.example.eg", ExampleClass);
我發現最簡單的方法是將數組序列化爲字符串,然後將該字符串存儲在ELS中。然後當你把它反序列化回到一個數組。
你如何實際「序列化」和「反序列化」數組?使用哪些功能?等 –
如果你有as3corelib你可以使用它來序列化。 http://ntt.cc/2008/10/06/as3corelib-tutorial-how-to-use-json-class-in-flex.html –
- 1. 是否可以將UITableViewCells存儲到數組中?
- 2. C++將項目存儲到數組中
- 3. Three.js - 是否可以將BoxGeometries或MeshLambertMaterial存儲在數組中
- 4. 是否可以將ASPNETDB數據庫存儲在單獨的項目中?
- 5. 是否可以將PostgreSQL(多行)查詢結果存儲到數組元素中?
- 6. 列出存儲的記錄EncryptedLocalStore - Adobe Air
- 7. 是否可以將cmake項目鏈接到子項目?
- 8. 可以告訴AIR是否已插入USB存儲設備
- 9. Adobe AIR EncryptedLocalStore問題
- 10. 是否有可能將數組存儲在Flex中的DataGridColumn中?
- 11. 是否可以將存儲庫組添加到Sonatype Nexus中的存儲庫組中?
- 12. 是否可以將ActiveXObject嵌入到Adobe AIR應用程序中?
- 13. 是否可以將MKS Integrity存儲庫導入到git中?
- 14. 是否可以將結構存儲到鏈接列表中?
- 15. 是否可以將Audit4j審計事件存儲到MongoDB中?
- 16. 如何將項目存儲到while循環外的數組中?
- 17. 是否可以在Excel中將數組的元素永久存儲在VBA中?
- 18. 是否有可能將二維數組存儲在info.plist中
- 19. 是否可以將資源存儲在內存緩存中?
- 20. 是否可以將數據存儲在solr中?
- 21. 是否可以將整體答案存儲在數據庫中?
- 22. 是否可以將文件上傳到其他項目目錄?
- 23. 是否可以將上傳的文件包含到項目中?
- 24. 是否可以將C代碼嵌入到C#項目中?
- 25. 如何破解Adobe Air中的EncryptedLocalStore?
- 26. 是否可以將默認的項目屬性表包含到新項目中?
- 27. 是否可以在NSManagedObject中存儲塊?
- 28. 是否可以將MySQL數據庫轉儲到seed.rb文件中?
- 29. 是否可以將非Maven庫添加到artifactory存儲庫?
- 30. 是否可以將現有的JCR存儲庫連接到Liferay?
我會好奇的知道這是否適合你。過去我一直沒有用這種方法運氣。儘管我會在2年前從HTML/JS AIR應用程序中指出我正在做這件事,所以有可能我做錯了,它與JS對象的工作方式不一樣,或者它很長 - 固定的錯誤。 –
我對byteArrays很陌生,一般來說as3只是一個數組。你可能會添加一種方法讓我恢復陣列嗎?如果我正確分析它,您發佈的方法僅用於存儲數組。 –
@JasonDean我以前使用過這種方法,它適用於我。如果您使用自定義對象進行保存,則需要在將對象轉換爲ByteArray之前調用registerClassAlias()。例如,registerClassAlias(「com.example.eg」,ExampleClass); – sangupta