The code base is getting a lot closer to being ready for an alpha release, but here is a quick example of how to use the orm to get an array of all users with a first name containing the string 'matt'.
Actionscript:
-
import com.angrysprite.data.Database;
-
import com.angrysprite.data.models.DataModelFactory;
-
import com.angrysprite.data.models.DataModelStatement;
-
import com angrysprite.data.QuerySet;
-
import com.angrysprite.events.DatabaseEvent;
-
import com.angrysprte.events.DataModelStatementEvent;
-
import com.angrysprite.models.User;
-
-
private var database:Database;
-
private var dataModelFactory:DataModelFactory;
-
private var users:Array = [];
-
-
private function init():void {
-
database = new Database(new File(File.applicationStorageDirectory.nativePath + File.seperator + "test.db"));
-
dataModelFactory = new DataModelFactory(database);
-
database.addEventListener(DataBaseEvent.DATABASE_READY, onDatabaseReady);
-
database.open();
-
}
-
-
private function onDatabaseReady(event:DatabaseEvent):void {
-
var qs:QuerySet = new QuerySet().filter([{firstname__contains: 'matt'}]);
-
var dmStatement:DataModelStatement = dataModelFactory.getModel(User, qs);
-
dmStatement.addEventListener(DataModelStatementEvent.RESULT, userModelsReady);
-
dmStatement.execute();
-
}
-
-
private function userModelsReady(event:DataModelStatementEvent):void {
-
users = users.concat(event.target.result);
-
}
I think that is a lot easier and cleaner then using the straight air SQLite API.
Please take a look, and let me know if there are any questions or comments.
As soon as I get things a little more together, I will be creating a new google code project for this, and linking to it from here.