activeandroid是一个开源的数据库框架,使我们操作数据库更方便,简单。
1:添加依赖:
a:在项目的build.gradle文件添加:
allprojects { repositories { google() jcenter() mavenCentral() maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } } }
b:在app的build.gradle文件添加依赖:
implementation 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'
2:配置数据库的名字和版本号。
a:让你自己的Application对象继 承自com.activeandroid.app.Application而不是android.app.Application。如果你需要继承其他库 的Application,则需要在Application中初始化和处理ActiveAndroid。
public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
ActiveAndroid.initialize(this);
}
@Override
public void onTerminate() {
super.onTerminate();
ActiveAndroid.dispose();
}
}
b:在AndroidManifest.xml
文件中配置数据库名称和数据库版本号。
<meta-data <manifest ...> <application android:name=".MyApp" ...> ...
<meta-data android:name="AA_DB_NAME" android:value="test-aa.db" /> <meta-data android:name="AA_DB_VERSION" android:value="1" />
</application> </manifest>
3:创建自己的表,也就是我们的实体类。你的实体类必须继承自Model,这样你的类名就是你的表名。如果不想使用类名做表名,则可以使用@Table定义表名。@Column用于定义列名。
@Table(name = "MyPerson",id = "_id") public class Person extends Model { @Column(name = "person_id") private int personId; //private int id; @Column(name = "person_name") private String name; @Column(name = "person_describe") private String describe; public int getPersonId() { return personId; } public void setPersonId(int personId) { this.personId = personId; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescribe() { return describe; } public void setDescribe(String describe) { this.describe = describe; } @Override public String toString() { return "<PersonId: " + personId + ", Name: '" + name + '\'' + ", Describe: '" + describe + '\'' + '>'; } }
MyPerson就是表名,activeAndroid 会为每一个表分配一个使用自增长的ID作为主键。这个自增长的列表默认叫Id,我们可以为这个列起名字。
@Table(name = "MyPerson",id = "_id")
当然