關於greenDAO的概念可以看官網greenDAO
greenDAO 優勢
1、一個精簡的庫
2、性能最大化
3、內存開銷最小化
4、易於使用的 APIs
5、對 Android 進行高度優化
在當前項目的build 中導入
compile'org.greenrobot:greendao:3.0.1'
compile'org.greenrobot:greendao-generator:3.0.0'
apply plugin: 'org.greenrobot.greendao'
greendao {
schemaVersion 1//這裏是版本
daoPackage 'com.anye.greendao.gen'//這裏是放置的包 可以換成自己的
targetGenDir 'src/main/java'
}
在整個工程的build 中 將信息補全
buildscript { repositories { jcenter() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:2.3.1' classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } }
創建一個user類
@Entity public class User {
autoincrement 是設置主鍵是否自增
@Id(autoincrement = true) public Long id; public String name; public String sex; private int age;}編譯以後會生成三個類
開始寫代碼
初始化與數據庫相關的東西
//調用數據庫查詢器 QueryBuilder qb = mUserDao.queryBuilder(); //查詢輸入的id是否在數據庫中存在 ArrayList<User> list = (ArrayList<User>) qb.where(UserDao.Properties.Id.eq(id)).list(); //判斷,如果大於0 證明輸入id存在 if (list.size() > 0) { Toast.makeText(MainActivity.this, "主鍵重複", Toast.LENGTH_SHORT).show(); } else { //不存在時 向數據庫添加數據 mUserDao.insert(new User(Long.valueOf(id), name,sex,Integer.parseInt(age))); }
//刪除指定id 的數據
mUserDao.deleteByKey(Long.valueOf(id));//刪除全部
mUserDao.deleteAll();
查詢全部
List<User> users = mUserDao.loadAll();
其他正在學習,會不斷更新,優化這篇博客