Android 之GreenDao 数据库存储(AndroidStudio)

首先是: 官网地址:http://greenrobot.org/greendao/   github:https://github.com/greenrobot/greenDAO

以下是我自己的简单总结:

GreenDao 简介:greenDAO是一个对象关系映射(ORM)的框架,能够提供一个接口通过操作对象的方式去操作关系型数据库,它能够让你操作数据库时更简单、更方便。通俗来说他就是个中间键,我们可以直接操作对象来操作数据库的增、删、改、查等操作。为了大家理解,参考图如下:

Android 之GreenDao 数据库存储(AndroidStudio)_第1张图片


GreenDao 之优点:

  • 性能高,号称Android最快的关系型数据库

  • 内存占用小
  • 库文件比较小,小于100K,编译时间低,而且可以避免65K方法限制

  • 支持数据库加密  greendao支持SQLCipher进行数据库加密 有关SQLCipher可以参考这篇博客Android数据存储之Sqlite采用SQLCipher数据库加密实战

  • 简洁易用的API

GreenDao 在Android Studio中使用:

1.)在build.gradle添加如下配置
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0'
}
}

apply plugin: 'org.greenrobot.greendao'


dependencies {
compile 'org.greenrobot:greendao:3.0.1'
}

2.)新建Module
  新建”lib-greendao-generator”module。此library主要是生成Dao、Bean文件,所以主项目不必引用。并且它是一个纯java module。
  选择Java Library 。起名字为MyClass

Android 之GreenDao 数据库存储(AndroidStudio)_第2张图片

Android 之GreenDao 数据库存储(AndroidStudio)_第3张图片

MyClass.java相关代码如下(如果要加字段则重新创建表,那么就会自动生成了)
/**
  * 创建db类
  * 生成操作数据库所需的bean和dao
  */
public class MyClass {
 
     public static void main(String[] args) throws Exception {
         //参数1是版本号
         //参数2是生成文件的包
         Schema schema = new Schema( 1 , "com.green.dao" );
         addNewsDetail(schema);
         try {
             //后面的目录是在gradle中配置的路径
             new DaoGenerator().generateAll(schema, "lib-greendao/src/main/java-gen" );
         } catch (Exception e) {
             e.printStackTrace();
         }
     }
 
     /**
      * 创建表
      * 生成dao和bean
      *
      * @param schema
      */
     private static void addNewsDetail(Schema schema) {
         Entity newsDetail = schema.addEntity( "TestBean" );
         newsDetail.setHasKeepSections( true );
         newsDetail.addStringProperty( "id" ).primaryKey().index();
         newsDetail.addStringProperty( "title" );
         newsDetail.addStringProperty( "content" );
     }
}

2.)新建另外一个Module(注意以MyClass里面的名字,包名对应)

Android 之GreenDao 数据库存储(AndroidStudio)_第4张图片

整体目录如下
Android 之GreenDao 数据库存储(AndroidStudio)_第5张图片

在app/build.gradle中配置如下

android {
     compileSdkVersion 23
     buildToolsVersion "23.0.3"
 
     defaultConfig {
         applicationId "com.green.test"
         minSdkVersion 15
         targetSdkVersion 23
         versionCode 1
         versionName "1.0"
     }
     buildTypes {
         release {
             minifyEnabled false
             proguardFiles getDefaultProguardFile( 'proguard-android.txt' ), 'proguard-rules.pro'
         }
     }
}
 
dependencies {
     compile fileTree(dir: 'libs' , include: [ '*.jar' ])
     testCompile 'junit:junit:4.12'
     compile 'com.android.support:appcompat-v7:23.3.0'
 
     //引用被生成dao的library
     compile project( ':lib-greendao' )
}

在lib-greendao/build.gradle中配置如下
android {
     compileSdkVersion 23
     buildToolsVersion "23.0.3"
 
     defaultConfig {
         minSdkVersion 15
         targetSdkVersion 23
         versionCode 1
         versionName "1.0"
     }
     buildTypes {
         release {
             minifyEnabled false
             proguardFiles getDefaultProguardFile( 'proguard-android.txt' ), 'proguard-rules.pro'
         }
     }
     sourceSets{
         main {
             //配置java代码路径
             java.srcDirs = [ 'src/main/java' , 'src/main/java-gen' ]
         }
     }
}
 
dependencies {
     compile fileTree(dir: 'libs' , include: [ '*.jar' ])
     //引用greendao主包
     compile 'org.greenrobot:greendao:2.2.0'
}

最后讲述下Gradle 插件配置:
 
  • schemaVersion: 数据库schema版本,也可以理解为数据库版本号
  • daoPackage:设置DaoMaster 、DaoSession、Dao包名
  • targetGenDir:设置DaoMaster 、DaoSession、Dao目录
  • targetGenDirTest:设置生成单元测试目录
  • generateTests:设置自动生成单元测试用例

完毕: 友情链接:http://www.2cto.com/kf/201604/502262.html

你可能感兴趣的:(Android 之GreenDao 数据库存储(AndroidStudio))