Difference between revisions of "Data Persistence"
(→MTASC Issues) |
|||
Line 1: | Line 1: | ||
− | Sometimes widgets take information from users that should be stored for later. For instance, if a user changes the color of a screen by pressing | + | '''UNDER CONSTRUCTION''' |
+ | |||
+ | Sometimes widgets take information from users that should be stored for later. For instance, if a user changes the color of a screen by pressing on it, then when the widget next loads it should still use this color. | ||
== Persisting to Chumby Servers: the Chumby API == | == Persisting to Chumby Servers: the Chumby API == |
Revision as of 05:45, 17 March 2008
UNDER CONSTRUCTION
Sometimes widgets take information from users that should be stored for later. For instance, if a user changes the color of a screen by pressing on it, then when the widget next loads it should still use this color.
Contents
Persisting to Chumby Servers: the Chumby API
- persists across Chumby reboots
- may take longer because of network fetches
This involves using objects of the SharedObject class.
- store in /tmp/pdata, but it is not easily readable
- will not be available when a Chumby restarts.
- flashplayer does not support shared objects, so this will have to be tested on the Chumby.
General Approach
- since it uses a callback, rather than listener pattern, the handler will not have the context of the instance. hence if the callback needs to invoke a method on an instance, then it will have to refer to a reference to the instance that stored globally.
MTASC Issues
MTASC has an older, incomplete definition for SharedObject. The file SharedObject.as (on Linux stored in /usr/share/mtasc/std/SharedObject.as) will have to be edited to include the following code:
static function addListener(objectName:String, notifyFunction:Function): Void; static function removeListener(objectName:String): Void;
With this definition of SharedObject, it is not possible to have private data -- that is, data on the shared object that will not persist. This is not a detriment, because in an object-oriented project there will be other places to store private data. Note that this makes it difficult to derive a new class from SharedObject.