Difference between revisions of "Data Persistence"

From Chumby Wiki
Jump to: navigation, search
(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 an icon on the screen, then when the widget next loads it should still use this color.   
+
'''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.

Persisting to Chumby Servers: the Chumby API

  • persists across Chumby reboots
  • may take longer because of network fetches

Persisting Locally: Mobile Shared Objects

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.

Debugging