Difference between revisions of "Data Persistence"
(→General Approach) |
|||
Line 13: | Line 13: | ||
=== General Approach === | === 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 Issues === |
Revision as of 09:55, 16 March 2008
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 an icon on the screen, 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.