ANGROM - android sqlite dsl


MIT
Android
Java

软件简介

ANGROM 是一个简单的android 数据库 dsl, 解决了数据库版本控制问题, 提供了select查询类.

使用入门

  1. 下载并导入jar包

  2. 创建MyApplication类

    public class MyApplication extends Application {

    @Override
      public void onCreate() {
          super.onCreate();

    }}

  3. 修改 AndroidManifest.xml

    <?xml version=”1.0” encoding=”utf-8”?>xmlns:android="http://schemas.android.com/apk/res/android"   package="xx.xx.xx"   android:versionCode="1"   android:versionName="1.0" >

    application       android:name=".MyApplication"       android:allowBackup="true"       android:icon="@drawable/ic_launcher"       android:label="@string/app_name"       android:theme="@style/AppTheme" 

  4. 创建数据库

    public class MyApplication extends Application {

    @Override
      public void onCreate() {
        super.onCreate();
        MigrationManager migrationManager = new MigrationManager();
        Migration user = new CreateTable(“users”)
                   .addAutoIncrementPrimaryKey(“id”)
                   .addColumn(Genre.STRING, “name”);
        migrationManager.addMigration(1, user); // 添加数据库1的迁移, 可以添加很多个
        SQLHelper sqlHelper = new SQLHelper(getContext(), migrationManager, “test.db”, 1);
        sqlHelper.getWritableDatabase();
      }}

5.修改版本

public class MyApplication extends Application {

  @Override
  public void onCreate() {
    super.onCreate();
    MigrationManager migrationManager = new MigrationManager();
    Migration user = new CreateTable("users")
               .addAutoIncrementPrimaryKey("id")
               .addColumn(Genre.STRING, "name");
    migrationManager.addMigration(1, user); // 添加数据库1的迁移, 可以添加很多个

    Migration person = new CreateTable("person")
                .addAutoIncrementPrimaryKey("id")
                .addColumn(Genre.STRING, "age");
    migrationManager.addMigration(2, person);

    Migration test1 = new CreateTable("test1")
            .addAutoIncrementPrimaryKey("id")
            .addColumn(Genre.INTEGER, "age");
    migrationManager.addMigration(3, test1);

    Migration test2 = new CreateTable("test2")
            .addAutoIncrementPrimaryKey("id")
            .addColumn(Genre.INTEGER, "age");
    migrationManager.addMigration(4, test2);

    SQLHelper sqlHelper = new SQLHelper(getContext(), migrationManager, "test.db", 4);
    sqlHelper.getWritableDatabase();
  }}
  1. 使用查询

    Cursor cursor = new Select(“id, name”)
                    .from(“users”)
                    .where(String.format(“id=%s”, id_.toString()))
                    .query(sqlHelper.getReadableDatabase());if (cursor.moveToNext()) {
        Assert.assertEquals(cursor.getString(1), “ngdkSelect”);} else {
        Assert.fail(“测试失败”);}Cursor cursor = new Select(“id, name”)
                    .from(“users”)
                    .where(“id=?”)
                    .query(sqlHelper.getReadableDatabase(), new String[] {id.toString()});if (cursor.moveToNext()) {
        Assert.assertEquals(cursor.getString(1), “ngdkSelect”);} else {
        Assert.fail(“测试失败”);}