比较出名的数据库框架

GreenDao使用步骤:

1、app目录下的build.gradle文件 添加依赖

compile 'org.greenrobot:greendao:3.2.0'

顶部添加插件

apply plugin: 'org.greenrobot.greendao'

2、根目录下的build.gradle文件 配置

  dependencies {

        classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1'
}

3、app目录下的build.gradle文件 对generator生成文件配置

 greendao {
schemaVersion //数据库版本号
daoPackage 'com.xxx.xxx.base.database'//设置DaoMaster、DaoSession、Dao包名
targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录
//targetGenDirTest:设置生成单元测试目录
//generateTests:设置自动生成单元测试用例
}
dependencies{}

4、创建实体类,生成dao文件

@Entity
public class HX_User {
@Id
private String id;
private String userName;
private String avatar;
}

5、make project

6、检测

HX_User类会变成下面情况,注意 属性值的get和set方法不要自己写,是make project之后自动生成的

@Entity
public class HX_User {
@Id
private String id;
private String userName;
private String avatar;
@Generated(hash = )
public HX_User(String id, String userName, String avatar) {
this.id = id;
this.userName = userName;
this.avatar = avatar;
}
@Generated(hash = )
public HX_User() {
}
public String getId() {
return this.id;
}
public void setId(String id) {
this.id = id;
}
public String getUserName() {
return this.userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getAvatar() {
return this.avatar;
}
public void setAvatar(String avatar) {
this.avatar = avatar;
}
}

7、使用:初始化

在自己的Application类中进行初始化

public class XApplication extends Application{

    private static DaoSession mDaoSession;

    @Override
public void onCreate() {
super.onCreate(); // 初始化数据库
setupDataBase(this); } private void setupDataBase(Context context){
DaoMaster.DevOpenHelper openHelper = new DaoMaster.DevOpenHelper(context,"HX_DB");
Database db = openHelper.getWritableDb();
DaoMaster daoMaster = new DaoMaster(db);
mDaoSession = daoMaster.newSession();
} public static DaoSession getDaoSession(){
return mDaoSession;
} }

8、使用:增删改查

XApplication.getDaoSession().getHX_UserDao().insertOrReplace(currentUser);
XApplication.getDaoSession().getHX_UserDao().delete(currentUser);
XApplication.getDaoSession().getHX_UserDao().update(currentUser);
List<HX_User> list = XApplication.getDaoSession().getHX_UserDao().queryBuilder().where(HX_UserDao.Properties.Id.eq(uid)).list();

Android项目实战(五十一):浅谈GreenDao的更多相关文章

  1. Android项目实战(十一):moveTaskToBack(boolean ) 方法的使用

    当你开发的程序被按后退键退出的时候, 你肯定不想让他就这么被finish()吧,那么就想把程序退置到后台就可. (类似于PC端,你关闭一个浏览器和你最小化一个浏览器的区别) 参看方法:public b ...

  2. Android项目实战(二十九):酒店预定日期选择

    先看需求效果图: 几个需求点: 1.显示当月以及下个月的日历 (可自行拓展更多月份) 2.首次点击选择"开始日期",再次点击选择"结束日期" (1).如果&qu ...

  3. (转载)Android项目实战(二十八):Zxing二维码实现及优化

    Android项目实战(二十八):Zxing二维码实现及优化   前言: 多年之前接触过zxing实现二维码,没想到今日项目中再此使用竟然使用的还是zxing,百度之,竟是如此牛的玩意. 当然,项目中 ...

  4. Android项目实战(三十二):圆角对话框Dialog

    前言: 项目中多处用到对话框,用系统对话框太难看,就自己写一个自定义对话框. 对话框包括:1.圆角 2.app图标 , 提示文本,关闭对话框的"确定"按钮 难点:1.对话框边框圆角 ...

  5. (转载)Android项目实战(三十二):圆角对话框Dialog

    Android项目实战(三十二):圆角对话框Dialog   前言: 项目中多处用到对话框,用系统对话框太难看,就自己写一个自定义对话框. 对话框包括:1.圆角 2.app图标 , 提示文本,关闭对话 ...

  6. Android应用安全开发之浅谈加密算法的坑

      <Android应用安全开发之浅谈加密算法的坑> 作者:阿里移动安全@伊樵,@舟海 阿里聚安全,一站式解决应用开发安全问题     Android开发中,难免会遇到需要加解密一些数据内 ...

  7. Android项目实战--手机卫士开发系列教程

    <ignore_js_op> banner131010.jpg (71.4 KB, 下载次数: 0) 下载附件  保存到相册 2 分钟前 上传   Android项目实战--手机卫士01- ...

  8. Android项目实战(四十九):Andoird 7.0+相机适配

    解决方案类似: Android项目实战(四十):Andoird 7.0+ 安装APK适配 解决方法: 一.在AndroidManifest.xml 文件中添加 四大组件之一的 <provider ...

  9. (转载)Android项目实战(二十七):数据交互(信息编辑)填写总结

    Android项目实战(二十七):数据交互(信息编辑)填写总结   前言: 项目中必定用到的数据填写需求.比如修改用户名的文字编辑对话框,修改生日的日期选择对话框等等.现总结一下,方便以后使用. 注: ...

  10. (转载)Android项目实战(十七):QQ空间实现(二)—— 分享功能 / 弹出PopupWindow

    Android项目实战(十七):QQ空间实现(二)—— 分享功能 / 弹出PopupWindow   这是一张QQ空间说说详情的截图. 分析: 1.点击右上角三个点的图标,在界面底部弹出一个区域,这个 ...

随机推荐

  1. 基于vue-cli3.0构建功能完善的移动端架子,主要功能包括

    webpack 打包扩展 css:sass支持.normalize.css._mixin.scss._variables.scss vw.rem布局 跨域设置 eslint设置 cdn引入 路由设计. ...

  2. 全网最详细的一个超级好用的命令行工具【Cmder】的安装之后的一些配置(图文详解)

    不多说,直接上干货! 1.修改命令提示符λ为$ 首先,我们看到 进入解压后的cmder的目录,进入vendor,打开init.bat文件. 修改第15行的代码 @prompt $E[;;40m$P$S ...

  3. CentOS安装使用.netcore极简教程(免费提供学习服务器)

    本文目标是指引从未使用过Linux的.Neter,如何在CentOS7上安装.Net Core环境,以及部署.Net Core应用. 仅针对CentOS,其它Linux系统类似,命令环节稍加调整: 需 ...

  4. 【原创】浅说windows下的中断请求级IRQL

    一 中断分类 根据中断源不同,可以将中断分为 硬件中断:硬件上产生的中断,可以来自处理器的内部和外部.处理器的外部中断可以来自各种PIN信号接口和Local APIC的LINT0和LINT1引脚,以及 ...

  5. Go基础系列:数据类型转换(strconv包)

    Go不会对数据进行隐式的类型转换,只能手动去执行转换操作. 简单的转换操作 转换数据类型的方式很简单. valueOfTypeB = typeB(valueOfTypeA) 例如: // 浮点数 a ...

  6. LeetCode-63. 不同路径 II

    最近英文版的访问特别慢,转战中文吧 和上一题一样,递归会超时 //63 不同路径2,递归解法 int uniquePaths2(vector<vector<int>>& ...

  7. 设置防火强开机自启,以及没有成功的tomcat开机自启

    防火墙 如果你的系统上没有安装使用命令安装 #yum install firewalld //安装firewalld 防火墙 开启服务 # systemctl start firewalld.serv ...

  8. C# 使用 PerformanceCounter 获取 CPU 和 硬盘的使用率

    C# 使用 PerformanceCounter 获取 CPU 和 硬盘的使用率: 先看界面: 建一个 Windows Form  桌面程序,代码如下: using System; using Sys ...

  9. C#窗体越界时鼠标还能回到初始坐标位置

    对窗体加越界限制后,鼠标拖动窗体越界时,窗体不能动,鼠标位置可动,但窗体不再越界时,鼠标位置还能回到鼠标按下时相对窗体的坐标:1.首先创建一个窗体Form1,然后在窗体上拖一个button1按钮(主要 ...

  10. IDEA设置显示中文文档API方法说明

    首先,我们从网上下载好对应的java最新的中文api文档,chm格式的 chm其实相当于一个压缩包,里面有许多html文件 让IDEA显示中文文档,其实原理就是是让IDEA把java的api的对应ht ...