ANGROMandroid sqlite dsl

联合创作 · 2023-09-25 04:47

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

使用入门

  1. 下载并导入jar包

  2. 创建MyApplication类

public class MyApplication extends Application {

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

  }}
  1. 修改 AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?><manifest 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" >

  </application></manifest>
  1. 创建数据库

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("测试失败");}
浏览 3
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报