1. 程式人生 > >Android--------GreenDao資料庫的使用

Android--------GreenDao資料庫的使用

1.配置

首先對整個專案的build.gradle配置

buildscript {
    repositories {
        jcenter()
        //新增的greendao配置
mavenCentral() // add repository
}
dependencies {
    classpath 'com.android.tools.build:gradle:2.3.3'
//新增的greendao配置
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // add plugin
    // NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files }

接著對工程的build.gradle配置

在dependencies之上加入

apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao' // apply plugin

導依賴
compile 'org.greenrobot:greendao:3.2.2' // add library

到這裡基本的配置算是完了。

2.新建一個數據庫存放的實體類(採用註解的方法)

新建的類之上加上註解
@Entity

在類裡面加上ID的註解和實體內容的註解分別在註解下面填寫屬性,最後點選Build-Make Project編譯專案,
會自動生成get set方法以及三個檔案。
//註解ID
@Id
private Long id;
//註解實體內容
@Property
private String name;
private int age;

3.初始化資料庫
package com.sh;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import 
java.util.List; public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private Button insert,query; private UserDao userDao; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); insert=(Button)findViewById(R.id.insert); query=(Button)findViewById(R.id.query); insert.setOnClickListener(this); query.setOnClickListener(this); //初始化資料庫 DaoMaster.DevOpenHelper devOpenHelper=new DaoMaster.DevOpenHelper(MainActivity.this,"user.db",null); DaoMaster daoMaster=new DaoMaster(devOpenHelper.getReadableDb()); DaoSession daoSession = daoMaster.newSession(); userDao = daoSession.getUserDao(); } @Override public void onClick(View view) { switch (view.getId()){ case R.id.insert: insert(); break; case R.id.query: query(); break; } } //查詢資料 private void query() { Toast.makeText(this, "點選了 queyt", Toast.LENGTH_SHORT).show(); List<User> list = userDao.queryBuilder().build().list(); for (User q:list){ Log.e("MainActivity", "query: "+q.toString()); } } //插入資料 private void insert() { Toast.makeText(this, "點選了 insert", Toast.LENGTH_SHORT).show(); for (int i=0;i<5;i++){ User user=new User(null,"張三"+i,25); userDao.insert(user); } } }