ActiveAndroid作为轻量级的ORM框架,在快速开发中,使用很简单,满足大部分对数据库操作不复杂的应用。
一,配置
添加依赖
build.gradle中添加:
repositories {
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'
项目配置
1>Application类配置:
<manifest ...>
<application android:name="com.activeandroid.app.Application" ...>
...
</application>
</manifest>
注意:应用程序的名称指向ActiveAndroid应用程序类。如果使用自定义的应用程序类,要继承com.activeandroid.app.Application而不是android.app.Application:
public class MyApplication extends com.activeandroid.app.Application {
...
}
但是,如果已经有了继承其他Application类的类,需要在应用程序初始化类ActiveAndroid(如果调试中需要重置框架,调用ActiveAndroid.dispose();后初始化):
public class MyApplication extends SomeLibraryApplication {
@Override
public void onCreate() {
super.onCreate();
ActiveAndroid.initialize(this);
}
}
2>配置数据库名和版本名:
<manifest ...>
<application...>
...
<meta-data android:name="AA_DB_NAME" android:value="Pickrand.db" />
<meta-data android:name="AA_DB_VERSION" android:value="5" />
</application>
</manifest>
如果想动态的创建数据库,可以这样配置:
public class MyApplication extends SomeLibraryApplication {
@Override
public void onCreate() {
super.onCreate();
Configuration dbConfiguration = new Configuration.Builder(this).setDatabaseName("xxx.db").create();
ActiveAndroid.initialize(dbConfiguration);
}
}
二,创建表
创建表需要新建实体类继承Model,添加类注解@Table(name = “表名”),类成员添加@Column注解标识表里的列。 ActiveAndroid自动为表添加自增的id主键。ActiveAndroid使用标准构造函数实例化对象,如果定义有自己的构造函数,还必须定义一个无参构造函数。
如下,创建一个表Items,表中添加两列(自动添加id列),一个为String类型的Name列,一个为实体Category列:
@Table(name = "Items")
public class Item extends Model {
// If name is omitte