Adobe AIR - 保存本地数据

4
我想将变量保存到“加密本地存储”中。 这个例子可以工作,但是如何扩展它以保存多个变量?
// 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));
    }

感谢您。
1个回答

6
重复利用已有的代码,并通过将通用功能移动到它们自己的方法中来避免重复代码:
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_。缺少什么? - Michael
刚刚编辑了我的代码--在saveItem方法中我指定了一个Object类,但应该是一个String。 - meddlingwithfire
EncryptedLocalStore.setItem(key, value); 还有一个错误。另外还有这个错误:1118: 隐式强制类型转换,将静态类型为 Object 的值强制转换为可能不相关的类型 String。 - Michael

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接