[Google Android Client Platform] Extending the Platform

Last modified by Sasinda Premarathna on 2012/08/04 14:11

Please refer to platform user guide for basic information about the platform.

Extending Data Access Layer


Adding a new Table/Entity to Database.
In the org.xwiki.android.data.rdb.EntityManager

   public void onCreate(SQLiteDatabase database, ConnectionSource connectionSource)
       try {
            Log.i(EntityManager.class.getSimpleName(), "onCreate(): create Database");
            add TableUtils.createTable(connectionSource, MyEntity.class); for all your entities
            TableUtils.createTable(connectionSource, User.class);
            TableUtils.createTable(connectionSource, FSDocumentReference.class);
            TableUtils.createTable(connectionSource, SyncOutEntity.class);
      TableUtils.createTable(connectionSource, OurNewEntity.class);
        } catch (SQLException e) {
            Log.e(EntityManager.class.getName(), "Can't create database", e);
           throw new RuntimeException(e);

Extending Xwiki Application Context

The XWiki Application Context is there to provide IoC. API users are advised to use it to get concrete instances for their dependencies on major components. We do this to keep our flexibility.
Add a method to create an instance of such a component when there can be more than one implementations for it.
ctx.getComponent()   when you may receive the same component again and again
you receive a new instance of the component.

We have provided

public class XWikiApplicationContext extends Application implements XWikiApplicationContextAPI
       public FileStoreManager getFileStoreManager()
        { ...

       public RESTfulManager newRESTfulManager()
        { ...

please make sure to define your simple dependency injecting method in the XWikiApplicationContextAPI interface as well.


Get Connected