Klasa: SharedObject
Kompatybilność: ActionScript 1.0, Flash 6+
Klasa SharedObject jest używana do odczytu oraz przechowywania ograniczonej ilość danych na komputerze użytkownika. Wpsólne obiekty (shared objects) oferują dzielenie się w czasie rzeczywistym pomiędzy obiektami, które są umiejscowione na komputerze użytkownika. Lokalne wspólne obiekty są podobne do przeglądarkowych ciasteczek ~ang. cookies.
Oto trzy możliwe wspólne obiekty:
- Gra, która zapisuje stan wyników użytkownika oraz jego dane, bez potrzeby wysyłania ich na serwer.
- Aplikacja książki telefonicznej, ktora potrafi działać online lub offline. Gdy użytkownik jest podłączony do interentu wtedy pobiera on listę telefonów, danych itp, jednak, gdy nie ma połączenia z internetem wtedy dane są wczytywane lokalnie, które zostały zapisane.
- Ustawienia/preferencje użytkownika dla zaawansowych stron internetowych. Dzięki temu może wprowadzac różnego rodzaju filtry dla przeglądania witryny. Przechowywanie informacji na komputerze uzytkownika, skraca czas ładowania strony.
Lokalne wspólne obiekty są rozwijane na lokalnym miejscu na komputerze. Na przykład, możesz wywołać SharedObject.getLocal()
, aby stworzyć wspólny obiekt, który zawiera zdobyty wynik w grze. Ponieważ obiekt SharedObject jest przechowywany lokalnie, Flash zapisuje te dane lokalnie nawet jeśli użytkownik zamknął aplikację. Następnym, gdy gra zostanie wczytana, ostatni wynik w grze zostanie załadowany. Możesz również właściwości wpsólnych obiektów przekazać jako NULL, wtedy gdy następnym razem ktoś otworzy znowu SWF plik, wynik będzie zresetowany.
Aby stworzyc lokalny wspólny obiekt, użyj podanej struktury:
var so:SharedObject = SharedObject.getLocal("userHighScore");
so.data.highScore = new Number();
so.flush();
W tym przykładzie, wspólny obiekt jest wyraźnie przesłany lub zapisany na dysk. Kiedy aplikacja zostaje zamknięta, wtedy wspólne obiekty sa automatycznie wprowadzane, jednak zostało to tutaj zademenstrowano jako krok zapisu danych na dysk.
Reguły zapisy lokalnie danych: Lokalne wspólne obiekty mogą być bardzi przydatne, ale posiadają one niektóre ograniczenia, które są ważne to przemyślenia podczas projektowania aplikacji. Czsami twoje pliki SWF mogę nie dostać dostępu do zapisu wspólnych obiektów oraz czasami dane zapisane na lokalnym dysku mogą być usunięte bez twojej wiedzy. Użytkownicy Flash Player mogą dowolnie zażądzać pojemnością dysku dla aplikacji, posiadją również oni kontrolnę nad polityką trzecich-domen (domen, które nie sa aktualnie w pasku adresu) od wczytywania oraz zapisu lokalnie danych.
Adobe rekomenduje, abys sprawdzał jeśli występuje błąd powiązany z wielkością dysku oraz kontrolą polityki użytkownika. Wykonaj je sprawdzając, podczas wywoływania getLocal()
oraz flush()
:
SharedObject.getLocal()
-- Ta metoda zwraca NULL, kiedy użytkownik posiada zablokowane trzecie-domeny oraz domena twojego pliku SWF nie pasuje do domeny w przeglądarce oknie.
SharedObject.flush()
-- Ta metoda zwraca FALSE, kiedy użytkownik posiada zablokowane wpsólne obiekty dla twojej domeny lub dla wszystkich domen. Zwraca "pending"
, kiedy dodatkowe miejsce w dysku jest potrzebne oraz użytkownik musi interaktywnie zadecydować, czy pozwolić na powiększenie tego.
Pamiętaj, aby twój film SWF miał przynajmniej 215 pikseli szerokości oraz 138 pikseli wysokości, ponieważ to są wymiary okna dialogowego, które może wyskoczy dla użytkownika.
Dostępne właściwości dla klasy SharedObject
Nazwa |
Opis |
---|---|
data |
Kolekcja atrybutów załączona do właściwości |
Dostępne zdarzenia dla klasy SharedObject
Nazwa |
Opis |
---|---|
onStatus |
Wywołuje się za każdym razem, gdy błąd, ostrzeżenie lub wskazówka jest wysłana dla wspólnego obiektu. |
Dostępne metody dla klasy SharedObject
Typ |
Nazwa |
Opis |
---|---|---|
|
clear |
Wyczyszcza wszystkie dane od wspólnych obiektów oraz usuwa wspólne obiekty z dysku. |
|
flush |
Oo razu zapisuje lokalnie przechowywany wspólny obiekt na lokalny plik. |
|
getLocal |
Zwraca referencję do lokalnie umiejscowionego wspólnego obiektu, który jest dostępny tylko dla aktualnego klienta. |
|
getSize |
Pobiera aktualy rozmiar, wspólnch obiektów, podaną w bajtach. |
Listing
Ranga: Administrator serwisu Punktów: 0