[Android] Android 使用 Greendao 操作 db sqlite
Android 使用 Greendao 操作 db sqlite
GreenDAO是一个开源的安卓ORM框架,能够使SQLite数据库的开发再次变得有趣。它减轻开发人员处理低级数据库需求,同时节省开发时间。 SQLite是一个令人敬畏的内嵌的关系数据库,编写SQL和解析查询结果是相当乏味和耗时的任务。通过将Java对象映射到数据库表(称为ORM,“对象/关系映射”),GreenDAO可以将它们从这些映射中释放出来,这样,您可以使用简单的面向对象的API来存储,更新,删除和查询数据库。
如何使用:
一、添加依赖
项目 build.gradle
buildscript { dependencies {
**
classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0'
}
}
app\build.gradle
apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao' android {
***
} greendao {
schemaVersion 1
targetGenDir 'src/main/java'
daoPackage "${android.defaultConfig.applicationId}.greendao"
} dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0' *** compile 'org.greenrobot:greendao:3.0.1'
}
二、编写Bean实体
UserInfo.java
@Entity
public class UserInfo {
@Id(autoincrement = true)
private long id;
private String userName;
private int age;
}
然后点击Build -> make project (或Ctrl + F9)
生成对应的Dao文件
三、编写DBManager
DBManager.java
package com.jack.testmd.greendao; import android.content.Context; public class DBManager {
private static final String DB_NAME = "sport-db";
private UserInfoDao userInfoDao; private static DaoMaster.DevOpenHelper sHelper;
private static DaoSession sDaoSession; public static DBManager get() {
return SingletonHolder.instance;
} private static class SingletonHolder {
private static DBManager instance = new DBManager();
} public void init(Context context) {
if (sDaoSession == null) {
DaoMaster.DevOpenHelper sHelper = new DaoMaster.DevOpenHelper(context, DB_NAME);
DaoMaster sDaoMaster = new DaoMaster(sHelper.getWritableDatabase()); sDaoSession = sDaoMaster.newSession();
}
userInfoDao = sDaoSession.getUserInfoDao();
} private DBManager() {
} public DaoSession getDaoSession(){
return sDaoSession;
}
public UserInfoDao getUserInfoDao() {
return userInfoDao;
} public void closeConnection() {
closeHelper();
closeDaoSession();
} public void closeHelper() {
if (sHelper != null) {
sHelper.close();
sHelper = null;
}
} public void closeDaoSession() {
if (sDaoSession != null) {
sDaoSession.clear();
sDaoSession = null;
}
} }
四、业务逻辑中调用
个人写了两种调用方法:
方法一:直接在MainActivity中调用
Android 使用 Greendao 操作 db sqlite(1)-- 直接在MainActivity中调用
方法二:封装DaoUtils类,然后在MainActivity中调用DaoUtils
Android 使用 Greendao 操作 db sqlite(2)-- 封装DaoUtils类
本博客地址: wukong1688
本文原文地址:https://www.cnblogs.com/wukong1688/p/10705622.html
转载请著名出处!谢谢~~
[Android] Android 使用 Greendao 操作 db sqlite的更多相关文章
- [Android] Android 使用 Greendao 操作 db sqlite(2)-- 封装DaoUtils类
继续接上文: Android 使用 Greendao 操作 db sqlite(1)-- 直接在MainActivity中调用 布局文件同上文一致,这里就不贴了. 一.封装DaoUtils类 User ...
- [Android] Android 使用 Greendao 操作 db sqlite(1)-- 直接在MainActivity中调用
继续接上文: Android 使用 Greendao 操作 db sqlite 布局文件: activity_test_green.xml <?xml version="1.0&quo ...
- android中的数据库操作(SQLite)
android中的数据库操作 android中的应用开发很难避免不去使用数据库,这次就和大家聊聊android中的数据库操作. 一.android内的数据库的基础知识介绍 1.用了什么数据库 an ...
- Android数据库框架——GreenDao轻量级的对象关系映射框架,永久告别sqlite
Android数据库框架--GreenDao轻量级的对象关系映射框架,永久告别sqlite 前不久,我在写了ORMLite这个框架的博文 Android数据库框架--ORMLite轻量级的对象关系映射 ...
- alexkn android第一行代码-8.sqlite使用
Android自带sqlite数据库,因此常见操作应该都掌握.包括数据库的创建/升级以及增删改查. 1.创建数据库 public class MyDatabaseHelper extends SQLi ...
- Android 学习笔记之如何使用SQLite数据库来保存数据...
PS:最近一阵子都在为考试复习...坑爹的计算机网络,复习了3天,最后该不会的还是不会...明天还考英语...真蛋疼... 学习内容: 1.使用SQLite数据库来保存数据... SQLite: ...
- android中的数据库操作
如何在android中调用数据库资源 在android中主要有两种方法来实现对数据库的访问,一种是adb shell方式,另一种是通过相关的android 的java类来间接的对数据库来进行操作.其中 ...
- android中的数据库操作(转)
android中的数据库操作 android中的应用开发很难避免不去使用数据库,这次就和大家聊聊android中的数据库操作. 一.android内的数据库的基础知识介绍 1.用了什么数据库 an ...
- Android -- Android JUint 与 Sqlite
创建一个数据库 public PersonSQLit ...
随机推荐
- zabbix 自定义 nginx 监控模板
打开zabbix首页→配置→模板→创建模板模板名称:Template App NGINXagent 需添加自定义监控项:UserParameter=nginx.status[*],/bin/bash ...
- ElasticSearch5.4.1 搜索引擎搭建文档
安装配置JDK环境JDK安装(不能安装JRE)JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-download ...
- Centos install Python3
下载Python3wget http://python.org/ftp/python/3.4.1/Python-3.4.1.tar.xz 安装yum install openssl-devel bzi ...
- zabbix3.4.6之自动发现与自动注册
在zabbix中添加新主机时,是需要手动添加,但在zabbix的Action里有两项功能,自动发现与自动注册,运用这两个功能中任意一个都可以实现自动添加机器,但添加的主机名是IP地址. 自动发现:添加 ...
- 洛谷 P1129 [ZJOI2007]矩阵游戏 解题报告
P1129 [ZJOI2007]矩阵游戏 题目描述 小\(Q\)是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏――矩阵游戏.矩阵游戏在一个\(N*N\)黑白方阵进行(如同国际象棋一般 ...
- centos7使用yum安装zabbix3.4
应用环境: 关于ZABBIX: zabbix一开强大的开源监控工具,同类型还有nagios,ganglia,cacti等监控工具,通过过去一年Google趋势就知道zabbix全球的相对热度: ...
- (六)Oracle 的 oracle表查询关键字
参考:http://www.hechaku.com/Oracle/oracle_tables2.html 1.使用逻辑操作符号问题:查询工资高于500或者是岗位为manager的雇员,同时还要满足他们 ...
- 文献笔记:Genome-wide associations for birth weight and correlations with adult disease
该文献纳入了EGG(Early Growth Genetics Consortium)和UK biobank两大数据库,分为欧洲祖先和非欧洲祖先群体.这两个数据用到的样本量分别如下: Early Gr ...
- #ifndef HeaderName_h #define HeaderName_h #endif 使用详解(转)
原文:#ifndef HeaderName_h #define HeaderName_h #endif 使用详解 想必很多人都看到过头文件中写有:#ifndef HeaderName_h ...
- phpstudy vhosts.conf 文件配置 记录下!
<VirtualHost _default_:80>DocumentRoot "D:\phpStudy\WWW" <Directory "D:\phpS ...