【问题标题】:Adobe AIR - Save local dataAdobe AIR - 保存本地数据
【发布时间】:2011-09-09 14:31:38
【问题描述】:

我想将变量保存到一个加密的本地存储。 此示例有效,但我如何扩展它以保存多个变量?

// To save variable to ELS (EncryptedLocalStore)

    function  saveItems() {
    var m1:String = "my item 1"; 
// HOW TO ADD THESE?:
    // var m2:String = "my item 2"; 
    // var m3:String = "my item 3"; 
    // var m4:String = "my item 4"; 
    //
    var bytes:ByteArray = new ByteArray(); 
    bytes.writeUTFBytes(m1); 
    EncryptedLocalStore.setItem("item1", bytes);
    }

    // Read it from ELS
    function  getItems() {
    var storedValue:ByteArray = EncryptedLocalStore.getItem("item1"); 
    //
    trace(storedValue.readUTFBytes(storedValue.length));
    }

谢谢。

【问题讨论】:

    标签: actionscript-3 air local-storage


    【解决方案1】:

    冲洗并重复你已经拥有的东西,并通过将常用功能转移到它们自己的方法中来避免重复代码:

    private function saveItems():void {
        var m1:String = "my item 1"; 
        var m2:String = "my item 2"; 
        var m3:String = "my item 3"; 
        var m4:String = "my item 4"; 
    
        saveItem("item1", m1);
        saveItem("item2", m2);
        saveItem("item3", m3);
        saveItem("item4", m4);
    }
    
    private function saveItem(key:String, value:String):void
    {
          var bytes:ByteArray = new ByteArray(); 
          bytes.writeUTFBytes(value); 
          EncryptedLocalStore.setItem(key, bytes);
    }
    

    一些很好的参考:

    http://www.adobe.com/devnet/air/ajax/articles/encrypted_local_store.html

    http://help.adobe.com/en_US/air/reference/html/flash/data/EncryptedLocalStore.html

    【讨论】:

    • 出现此错误:1118: 将静态类型 Object 的值隐式强制转换为可能不相关的类型 String。 指的是 value:Object .缺少什么?
    • 刚刚编辑了我的代码——我已经指定了一个 Object 类,它应该是 saveItem 方法中的一个字符串。
    • EncryptedLocalStore.setItem(key, value); 还有一个错误:1118: 将静态类型 Object 的值隐式强制转换为可能不相关的类型 String。
    猜你喜欢
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    • 2011-06-26
    • 1970-01-01
    • 2011-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多