Recipe 16.1 Storing and Retrieving Locally Persistent Information

16.1.1 Problem

You want to store information on a client's computer that persists between movies and sessions.

16.1.2 Solution

Use a local shared object (LSO).

16.1.3 Discussion

Local shared objects are to Flash what cookies are to web browsers?but more so. They are called "super cookies" by some developers because they allow you to store potentially large amounts of data (if the user allows) and because they also allow you to store and retrieve many native ActionScript datatypes (as well as objects created from custom classes). Local shared object files are saved to the client computer. Flash movies within the same domain can write to and read from these files by means of ActionScript's SharedObject class.

The static getLocal( ) method is the mechanism by which LSOs are both created and opened for reading. The method requires at least one parameter?a string that specifies the name of the shared object to create or open:

my_l_so = SharedObject.getLocal("myFirstLSO");

The getLocal( ) method attempts to first locate an existing LSO by the specified name stored on the client computer. If none is found, Flash creates a new LSO with that name. In either case, the existing or new LSO is opened. The getLocal( ) method returns a SharedObject instance. It is used instead of the new operator to instantiate a new local shared object.

For a complete example of how to create, write to, and save a local shared object, see Recipe 16.4.

16.1.4 See Also

Recipe 16.5 discusses sharing data between movies. Also refer to Recipe 2.8 for details on opening the Flash Player Settings dialog box to the Local Storage tab. See Recipe 16.2 for important information on how to store data in a local shared object. See Recipe 16.3 for important information on how to retrieve data from a local shared object. See Recipe 16.4 for information on the SharedObject.flush( ) method, which is used to manually save data to a shared object.

    Part I: Local Recipes
    Part II: Remote Recipes