Android--------GreenDao資料庫的使用
阿新 • • 發佈:2019-01-25
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; importjava.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); } } }