ActiveAndroid数据库的使用

前言:我们写Android 程序的时候如果需要保存页面的数据作为预加载这时候可以考虑使用一下数据库。本文介绍一下开源框架ActiveAndroid数据库的使用方法。
一:首先我们需要在build.gradle里面配置一下基本的依赖:
需要配置两部分内容
示例如下:
第一部分再android 里面添加:

repositories {
    mavenCentral()
    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}

第二部分在dependencies里面添加:
依赖库如下:
compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'
然后点击右上角的Sync Now一下。我们在build.gradle里面的配置就完成了。
二:我们需要一个类去继承Application在里面去初始化ActiveAndroid.

代码示例如下:

@Override
public void onCreate() {
    super.onCreate();
    //初始化ActivityAndroid
    ActiveAndroid.initialize(this);
}

@Override
public void onTerminate() {
    super.onTerminate();
    //清理
    ActiveAndroid.dispose();
}

从代码中可以看到我们需要在onCreate里面去初始化ActiveAndroid.
而在onTerminate里面去释放它。
至此,我们在Application的配置也完成了。

三:在AndroidManifest里面的配置:


    
        
            

            
        
    

    
    

首先我们配置application的name属性,也就是我们自己定义的Application。
android:name=".CustomApplation"
在就是在application里面创建meta-data标签来确定数据库的名称和版本号。

    
    

也就是如上的配置。
到此为止我们的基本配置就完成了,下面我们就来创建一个数据库吧。

四:创建一个students数据库:

我们创建一个Student类去继承ActiveAndroid 的Model类,一个类就是一个数据库。我们可以用@Table属性去标记数据库的名称。如果不写@Table那么类名就是数据库的名称:

代码示例如下:

ActiveAndroid数据库的使用_第1张图片
image.png

图中我们创建的数据库的名字就是students.

下面我们去数据库中插入数据吧:

public void insertStudentsWithActive() {
    for (int i = 0; i < 5; i++) {
        mockStudent(i).save();
    }
}

private Student mockStudent(int i) {
    Student student = new Student();
    student.id = i;
    student.name = "user -" + i;
    student.tel_no = String.valueOf(new Random().nextInt(20000));
    student.cls_id = new Random().nextInt(5);
    return student;
}

我们调用ActiveAndroid的save()方法来存入数据。
到此我们的数据库就创建好了。

下面是一些更新,删除,和查询的方法:
(1):更新数据的方法:

public void updateStudent() {
    new Update(Student.class).set("name=?", "Mr.Simple").where("sid=?", 1).execute();
}

(2):删除数据的方法:

public void deleteStudent() {
    new Delete().from(Student.class).where("sid=?", 2).execute();
}

(3):查询数据的方法:

private void queryStudentWithActive() {
    List result = new Select().from(Student.class).where("sid>? and cls_id=3", "1").execute();
    for (int i = 0; i < result.size(); i++) {
        Log.e(TAG, "学生信息~~~" + result.get(i));
    }
}

如有问题,希望多多交流。

你可能感兴趣的:(ActiveAndroid数据库的使用)