SharedObject

Object 
    | 
    +-SharedObject 
 
public dynamic class SharedObject 
extends Object

In der Flash Lite-Version der SharedObject-Klasse können Flash SWF-Dateien beim Schließen des Objekts Daten auf dem Gerät speichern und diese Daten bei der erneuten Wiedergabe vom Gerät laden. Für gemeinsame Flash Lite-Objekte wird eine Anzahl von Name-Wert-Paaren auf dem Gerät gespeichert.

Hinweis: Der Name „SharedObject“ ist von der Flash-Klasse „SharedObject“ abgeleitet. In der Flash-Version dieser Klasse ist es möglich, dass mehrere Flash SWF-Dateien gemeinsam auf die gespeicherten Daten zugreifen. Die Flash Lite-Version der „SharedObject“ -Klasse unterstützt die gemeinsame Verwendung der Daten aus unterschiedlichen Flash SWF-Dateien jedoch nicht.

In Flash Lite gilt eine SWF-Datei als andere Version, wenn sie durch Ändern der ursprünglichen Version entstanden ist, selbst wenn sie den gleichen Namen trägt. Dies unterscheidet sich von Flash Player. Dort gelten SWF-Dateien als identisch, wenn die entsprechende URL und der Name gleich sind, selbst wenn die SWF-Datei geändert wurde. In Flash Lite können zwei unterschiedliche Versionen einer SWF-Datei nicht auf die gemeinsamen Objekte der jeweils anderen Version zugreifen.

Zur Konsistenz mit der Flash-Plattform werden im Flash Lite Player dasselbe ActionScript-Konstrukt und dieselben Aufrufkonventionen verwendet.

In den folgenden Beispielen werden die mit gemeinsamen Objekten verfügbaren Möglichkeiten vorgestellt.

  • Eine Flash-Anwendung kann als Benutzeroberfläche für einen Dienst eingesetzt werden, mit dem Benutzer nach Gebrauchtwagenangeboten suchen können. Die Anwendung stellt eine Verbindung mit einem Server her, der anhand der vom Benutzer eingegebenen Suchbegriffe und Voreinstellungen Listen von Gebrauchtwagen erstellt. Die Flash-Anwendung kann die vom Benutzer zuletzt ausgewählten Suchbegriffe speichern und bei der nächsten Wiedergabe der SWF-Datei in die entsprechenden Formularfelder eintragen. Erstellen Sie dazu eine „SharedObject“-Instanz, in der bei jeder neuen Suche die Suchparameter gespeichert werden. Wenn die SWF-Datei geschlossen wird, speichert der Player die Daten im gemeinsamen Objekt auf dem Gerät. Beim nächsten Wiedergeben der SWF-Datei lädt der Flash Lite Player das gemeinsame Objekt und trägt die zuletzt eingegebenen Suchdaten in die entsprechenden Formularfelder ein.

  • Eine Flash-Anwendung kann als Benutzeroberfläche für einen Dienst eingesetzt werden, mit dem Benutzer nach Musikkritiken suchen können. In der Anwendung können Benutzer Informationen zu ihren Lieblingsalben speichern. Die Informationen können zwar auf dem Remote-Server gespeichert werden, dies kann jedoch zu Problemen führen, wenn die Anwendung keine Verbindung mit dem Dienst herstellen kann. Das Abrufen der Daten von einem Remote-Server kann auch zu Verzögerungen führen und die Benutzerfreundlichkeit beeinträchtigen. Mithilfe gemeinsamer Objekte kann die Anwendung Albumsinformationen auf dem Gerät speichern und bei Bedarf schnell laden.

Hinweis: Da der Speicherplatz auf Mobilgeräten begrenzt ist, sind die Daten nicht zuverlässig permanent vorhanden. Unter bestimmten Umständen werden die ältesten Daten durch die Plattform vom Gerät gelöscht.

Verwenden Sie zum Erstellen eines lokalen gemeinsamen Objekts die folgende Syntax:

var so:shared object = shared object.getLocal("mySharedObject");

Auf einem Handset kann das Lesen und Schreiben der Daten einige Zeit in Anspruch nehmen. Um sicherzustellen, dass Daten sofort bei Anforderung aus der Anwendung verfügbar sind, müssen Sie in Flash Lite 2.0 einen Listener einrichten. Der Player startet den Listener, wenn das Gerät die Daten des gemeinsamen Objekts geladen hat. Methoden, die auf die von getLocal() zurückgegebene SharedObject-Instanz zugreifen, müssen bis zum Start des Listeners warten, bevor auf die Daten zugegriffen werden kann.

Verfügbarkeit

Flash Lite 2.0

Beispiel

Im folgenden Beispiel erstellt eine SWF-Datei eine Listener-Funktion mit dem Namen Prefs und anschließend ein gemeinsames Objekt. Der Player ruft die Funktion loadCompletePrefs auf, sobald die Daten verfügbar sind.

function loadCompletePrefs (mySO:SharedObject) { 
    if (0 == mySO.getSize() ) 
    {  
    // If the size is 0, we need to initialize the data:  
        mySO.data.name = "Sigismund"; 
        mySO.data.email = "siggy@macromedia.com"; 
    } 
    else 
    {  
        // Trace all the data in mySO: 
        trace( "Prefs:" ); 
        for (var idx in mySO.data) { 
        trace( " " + idx +": " + mySO.data[idx] );  
        }  
    } 
} 
 
SharedObject.addListener( "Prefs", loadCompletePrefs ); 
 
// We can now create the shared object: 
var Prefs:SharedObject = SharedObject.getLocal("Prefs");

Wenn der Player den Listener benachrichtigt hat, dass die Daten verfügbar sind, kann die Anwendung das vom Aufruf der getLocal()-Methode zurückgegebene gemeinsame Objekt so verwenden wie in Flash. Durch die Anwendung können während der Wiedergabe Eigenschaften hinzugefügt, geändert oder entfernt werden. Beim Entladen des Inhalts wird das gemeinsame Objekt unter Umständen auf das Gerät geschrieben. Um jedoch sicherzustellen, dass dies wirklich geschieht, muss die Anwendung durch Aufruf der flush()-Methode einen Schreibvorgang erzwingen.

Gemeinsame Flash Lite-Objekte sind nur für lokal gespeicherte SWF-Dateien verfügbar. SWF-Dateien, die in einem netzwerkfähigen Browser wiedergegeben werden, können keine gemeinsamen Flash Lite-Objekte verwenden.

Die Gesamtspeichergröße für gemeinsame Flash Lite-Objekte pro SWF-Datei ist durch das Gerät auf einen vordefinierten Wert begrenzt. Diese Größe kann mit der SharedObject.getMaxSize()-Methode ermittelt werden.

Hinweis: Gemeinsame Remote-Objekte werden in Flash Lite 2.0 nicht unterstützt.

Übersicht über Eigenschaften

Modifizierer

Eigenschaft

Beschreibung

 

data:Object

Die Sammlung von Attributen, die der Eigenschaft data des Objekts zugewiesen sind.

Von der Object-Klasse vererbte Eigenschaften

Übersicht über Ereignisse

Ereignis

Beschreibung

onStatus = function(infoObject:Object) {}

Wird aufgerufen, wenn ein Fehler, eine Warnung oder ein Hinweis für ein gemeinsames Objekt angezeigt wird.

Übersicht über Methoden

Modifizierer

Syntax

Beschreibung

static

addListener(objectName:String, notifyFunction:Function) : Void

Erstellt einen Ereignis-Listener, der vom Flash Lite Player gestartet wird, wenn der Player das gemeinsame Objekt vom Gerät geladen hat.

 

clear() : Void

Entfernt alle Daten aus dem gemeinsamen Objekt und löscht das gemeinsame Objekt von der Festplatte.

 

flush(minDiskSpace:Number) : Object

Schreibt die Daten eines gemeinsamen Objekts in eine lokale permanente Datei.

static

getLocal(name:String) : SharedObject

Gibt einen Verweis auf ein lokal permanentes gemeinsames Objekt zurück, das nur für den aktuellen Client verfügbar ist.

static

getMaxSize() : Number

Gibt die Gesamtanzahl der Byte zurück, die von der SWF-Datei zum Speichern mobiler gemeinsamer Objekte auf dem Gerät verwendet werden kann.

 

getSize() : Number

Ruft die aktuelle Größe des gemeinsamen Objekts in Byte ab.

static

removeListener(objectName:String)

Entfernt alle Listener, die mit der addListener()-Methode hinzugefügt wurden.

Von der Object-Klasse vererbte Methoden