Adobe Air (wiwobooks.com Release)
ByteArray -Instanz
2. Zuweisen von Daten zur ByteArray -Instanz mithilfe einer der write…() -Methoden
3. Aufruf der statischen EncryptedLocalStore -Methode setItem(). Parameter: name
Der Name, unter dem der Wert im ELS abgespeichert wird. data
Die zuvor vorbereitete ByteArray -Instanz
stronglyBound (optional)
Boolscher Wert gibt an, ob der Wert nur an die Veröffentlicher-ID ( false , Standardwert) oder an die speichernde Anwendung ( true ) gebunden werden soll.
Stolperfallen/Caveats
Wenn Sie den Parameter stronglyBound der setItem() -Methode verwenden, ist die abgespeicherte Information nur von genau der Anwendung lesbar, die die Information auch gespeichert hat. Das bedeutet auch, dass ein Update der gleichen Anwendung die Daten ebenfalls nicht lesen kann.
Machen Sie sich also ein Konzept, wie Sie die Daten migrieren, wenn Sie verschlüsselte Daten mit stronglyBound an die Anwendung binden und Ihre Anwendung aktualisieren wollen.
So geht es
Die folgenden drei Quelltextzeilen (von den üblichen Importanweisungen abgesehen) reichen aus, um einen Beispieltext in den Encrypted Local Store zu schreiben:
import flash.utils.ByteArray;
import flash.data.EncryptedLocalStore;
var bytes2Write:ByteArray = new ByteArray();
bytes2Write.writeMultiByte("Dies ist ein Test-Text", "iso-8859-15"); EncryptedLocalStore.setItem("Test-Zeichenkette", bytes2Write);
14.1.3 Verschlüsselte Daten auslesen
Das Lesen von verschlüsselten Daten aus dem ELS ist ähnlich einfach wie das Schreiben von Daten. Sie verwenden den beim Schreiben angegebenen Namen, um die dazu passenden Informationen abzurufen.
Nach dem Auslesen aus dem Encrypted Local Store liegen die Daten in einer ByteArray -Instanz vor und werden mit der passenden read…() -Methode ausgelesen, die Sie in Tabelle 14.2 einsehen können.
Methode
readBoolean()
readByte()
readBytes(bytes:ByteArray, offset:uint, length:uint)
readDouble()
readFloat()
readInt()
readMultiByte(length:uint, charSet:String)
readObject()
readShort()
readUnsignedByte()
readUnsignedInt()
readUnsignedShort()
readUTF()
readUTFBytes(length:uint)
Erläuterung
liest einen boolschen Wert ein
liest ein Byte mit Vorzeichen ein
liest length Anzahl an Bytes mit Offset offset in bytes ein
liest eine Fließkommazahl doppelter Genauigkeit ein liest eine Fließkommazahl einfacher Genauigkeit ein liest einen 32-Bit-Ganzzahlwert mit Vorzeichen ein
liest eine length Zeichen lange Zeichenkette unter Verwendung des Zeichensatzes charSet ein
liest ein in AMF ( Action Message Format , das binäre Format für Flash Remoting) serialisiertes Objekt ein
liest einen 16-Bit-Ganzzahlwert mit Vorzeichen ein liest ein Byte ohne Vorzeichen ein
liest einen 32-Bit-Ganzzahlwert ohne Vorzeichen ein liest einen 16-Bit-Ganzzahlwert ohne Vorzeichen ein
liest eine UTF-8-Zeichenkette ein (bezieht die Information über die Länge der Zeichenkette aus dem UTFHeader)
liest length Anzahl an UTF-8-Bytes ein
Tabelle 14.2 Instanzmethoden der ByteArray-Klasse zum Einlesen von Daten
Lösungsweg
1. Aufruf der statischen EncryptedLocalStore -Methode getItem(). Parameter: Name
Der beim Abspeichern der Information gewählte Name
2. Zuweisen des Ergebnisses zu einem ByteArray -Objekt
3. Auslesen der Information mit einer der read…() -Instanzmethoden
Stolperfallen/Caveats
Beachten Sie analog zum letzten Abschnitt die Möglichkeit, dass ein Element im ELS eventuell von einer anderen Anwendungsversion geschrieben und an diese Version gebunden sein könnte. Wenn Sie sichergehen wollen, sehen Sie einen Ereignis-Listener vor.
So geht es
Auch der Abruf der verschlüsselten Information aus dem ELS ist trivial:
import flash.utils.ByteArray;
import flash.data.EncryptedLocalStore;
var bytes2Read:ByteArray = EncryptedLocalStore.getItem("TestZeichenkette");
var savedString:String = bytes2Read.readMultiByte(bytes2Read.length, "iso-8859-15");
trace(savedString);
// Ausgabe (aus vorigem Bespiel:
// Dies ist ein Text-Test
14.1.4 Verschlüsselte Daten aus Encrypted Local Store löschen
Natürlich können Sie auch eine nicht mehr benötigte Information aus dem Encrypted Local Store löschen. Sie brauchen wieder den beim Speichern der Information gewählten Namen und bedienen sich der statischen removeItem() -Methode der EncryptedLocalStore -Klasse.
Lösungsweg
Aufruf der statischen EncryptedLocalStore -Methode removeItem()
So geht es
Die nachfolgende Codezeile entfernt den Eintrag Test-Zeichenkette aus dem Encrypted Local
Weitere Kostenlose Bücher