GrrenDao简单实现

Android框架之路——GreenDao3.2.2的使用 一、简介 GreenDAO是一个开源的安卓ORM框架,能够使SQLite数据库的开发再次变得有趣。它减轻开发人员处理低级数据库需求,同时节省开发时间。 SQLite是一个令人敬畏的内嵌的关系数据库,编写SQL和解析查询结果是相当乏味和耗时的任务。通过将Java对象映射到数据库表(称为ORM,“对象/关系映射”),GreenDAO可以将它们从这些映射中释放出来,这样,您可以使用简单的面向对象的AP 阅读详情

GreenDao

   

  • greenDAO 优势

    1、一个精简的库
    2、性能最大化
    3、内存开销最小化
    4、易于使用的 APIs
    5、对 Android 进行高度优化

  • GreenDao 3.0使用

  • GreenDao 3.0采用注解的方式来定义实体类,通过gradle插件生成相应的代码。

  • green到代码块是第三步:

  • 四,创建一个User的实体类:

  • @Entity
    public class User {
        @Id 
        private Long id; 
        private String name; 
        @Transient 
        private int tempUsageCount; // not persisted  
    }

  • 五,MakeProject

    编译项目,User实体类会自动编译,生成get、set方法并且会在com.anye.greendao.gen目录下生成三个文件;


    greenDao

    GreenDao使用

     public class MyApplication extends Application {
     private DaoMaster.DevOpenHelper mHelper;
     private SQLiteDatabase db;
     private DaoMaster mDaoMaster;
     private DaoSession mDaoSession;
     public static MyApplication instances;
     @Override    public void onCreate() {
         super.onCreate();
         instances = this;
         setDatabase();
     }
     public static MyApplication getInstances(){
         return instances;
     }
    
    /**
     * 设置greenDao
     */
    private void setDatabase() {
        // 通过 DaoMaster 的内部类 DevOpenHelper,你可以得到一个便利的 SQLiteOpenHelper 对象。
        // 可能你已经注意到了,你并不需要去编写「CREATE TABLE」这样的 SQL 语句,因为 greenDAO 已经帮你做了。
        // 注意:默认的 DaoMaster.DevOpenHelper 会在数据库升级时,删除所有的表,意味着这将导致数据的丢失。
        // 所以,在正式的项目中,你还应该做一层封装,来实现数据库的安全升级。
        mHelper = new DaoMaster.DevOpenHelper(this, "notes-db", null);
        db = mHelper.getWritableDatabase();
        // 注意:该数据库连接属于 DaoMaster,所以多个 Session 指的是相同的数据库连接。 
        mDaoMaster = new DaoMaster(db); 
        mDaoSession = mDaoMaster.newSession();
    }
    public DaoSession getDaoSession() {
          return mDaoSession;
    }
    public SQLiteDatabase getDb() {
          return db;
      }
    }

    获取UserDao对象:

      mUserDao = MyApplication.getInstances().getDaoSession().getUserDao();

    简单的增删改查实现:

    1. 增
    mUser = new User((long)2,"anye3");
    mUserDao.insert(mUser);//添加一个
    2. 删
    mUserDao.deleteByKey(id);
    3. 改
    mUser = new User((long)2,"anye0803");
    mUserDao.update(mUser);
    4. 查
    List<User> users = mUserDao.loadAll();
    String userName = "";
    for (int i = 0; i < users.size(); i++) {
        userName += users.get(i).getName()+",";
    }
    mContext.setText("查询全部数据==>"+userName);

    更多的操作就不一一介绍了,大家可以根据需要去查找资料;

    greendao中的注解

    (一) @Entity 定义实体
    @nameInDb 在数据库中的名字,如不写则为实体中类名
    @indexes 索引
    @createInDb 是否创建表,默认为true,false时不创建
    @schema 指定架构名称为实体
    @active 无论是更新生成都刷新
    (二) @Id
    (三) @NotNull 不为null
    (四) @Unique 唯一约束
    (五) @ToMany 一对多
    (六) @OrderBy 排序
    (七) @ToOne 一对一
    (八) @Transient 不存储在数据库中
    (九) @generated 由greendao产生的构造函数或方法


Android OTA升级 阅读详情

相关推荐

Android_Grallery常用酷炫效果

Android_Grallery常用酷炫效果 Grallery Demo ImageSwitch android 3D相册

Android GrrenDao的简单使用

我相信,在平时的开发过程中,大家一定会或多或少地接触到 SQLite。然而在使用它时,我们往往需要做许多额外的工作,像编写 SQL 语句与解析查询结果等。所以,适用于 Android 的ORM 框架也就孕育而生,现在市面上主流的框架有 OrmLite、SugarORM、Active Android、Realm 与 GreenDAO。 greenDAO是一种Android数据库ORM(ob

qq_35693127的博客 2783

安卓Gallery照片墙画廊图库相关-Grallery3D.zip

Grallery3D.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

GRRENDao

public void cli(View view) {//创建daomaster的helper        DaoMaster.DevOpenHelper openHelper = new DaoMaster.DevOpenHelper(this, "kson.db");        //db        SQLiteDatabase db = openHelper.getWritable...

zyanna的博客 268

GreenDao3.2.2集成与使用

GreenDao的集成与使用

Grallery左右滑屏图片浏览(支持多点触控)

Grallery滑屏,支持多点触控,图片左右切换浏览

Android GreenDao使用教程

一、Greendao简介      Greendao是一款用于数据库创建与管理的框架,由于原生SQLite语言比较复杂繁琐,使得不少程序员不得不去学习SQLite原生语言,但是学习成本高,效率低下,所以不少公司致力于开发一款简单的数据库管理框架,较为著名的就有Greendao和ORMLite,但是就数据分析来看,Greendao的效率是高于ORMLite及其他框架的,是目前该行业的领先者。也因为...

Seven丶Echo的博客 6万+

川崎机器人 AS语言基础运动指令表

    功能简介 动作方式 参考坐标系 位置特性 X,Y,Z 角度特性 O,A,T 指令格式(距离单位毫米,时间单位秒,角度单位度 示例1 示例2 运 动 指 令 JMOVE 以关节移动到目标点 关节移动方式 基础坐标系 不受控 伪随机动作 JMOVE 目标点 JMOVE #yd JMOVE put1 LMOVE 以直线移动到目标点 直线移动方式

喜欢自学并分享经验的技术宅 9346

GreenDao配置及使用

一:配置 1.在项目的build.gradle下加 dependencies { //greenDao生产代码插件 classpath ‘org.greenrobot:greendao-gradle-plugin:3.2.2’ // add plugin } 2.在Module下的build.gradle文件加 apply plugin: ‘org.greenrobot.greendao’ // apply plugin android { … //greendao配置 greendao { //数据库版本

qq_46237697的博客 1483

Hi3516CV610 YOLOv8模型转换与部署实战:从源码到板端推理全流程解析

本文详细解析了将YOLOv8模型部署到Hi3516CV610开发板的全流程。内容涵盖从Ubuntu环境搭建、模型获取与验证,到关键的PyTorch模型转换为ONNX格式,并利用海思工具链量化生成板端可执行的.wk文件。最后,指导开发者编写板端C程序,完成视频流处理、NNIE推理及结果后处理,并提供了部署调试与性能优化的实用技巧。

weixin_29215815的博客 266

在windows10/11中使用ipatool提取苹果app安装包ipa文件

本文介绍了在Windows10/11系统中使用ipatool工具下载苹果App安装包(.ipa)的详细步骤。首先需准备Windows电脑、AppleID账号并下载ipatool工具;具体操作包括:登录AppleID、搜索应用、获取购买授权、查看历史版本及下载指定版本。关键步骤强调获取授权的重要性,并提供了常用命令速查表,帮助用户完成从登录到下载的全过程。该教程适用于需要获取旧版本App或进行应用测试的场景。

zhengshaolin128的博客 2568

SQLiteOpenHalper

public class MHalper extends SQLiteOpenHelper{ public MHalper(Context context) { super(context, "数据库名", null, 1); } @Override public void onCreate(SQLiteDatabase sqLiteDatabas...

zyanna的博客 295

实现高精度卷积混响--MATLAB仿真篇

一、前言 之前在STM32F407上现实了直播声卡,实现的经典Schroeder混响模型和Moorer混响模型,得到不错效果。后来得知卷积混响最为真实地表现空间的特性,所以也就尝试在MCU上实现一个高精度的卷积混响(卷积点数为32768),目前MCU出来的混响效果算得上一流水准,本人也在计划在ADI的21489或者SC584上更高精度的卷积混响。 二、卷积方式 1、conv1是使用MATLAB自带卷积函数conv 2、conv2和conv3是改进后卷积过程,具有减少运算量特点,方便嵌入式移植 clear;

Six44的博客 5073

Android Parcelable和Serializable的区别

本文主要介绍Parcelable和Serializable的作用、效率、区别及选择,关于Serializable的介绍见Java 序列化的高级认识。 1、作用 Serializable的作用是为了保存对象的属性到本地文件、数据库、网络流、rmi以方便数据传输,当然这种传输可以是程序内的也可以是两个程序间的。而Android的Parcelable的设计初衷是因为Serializable效

Control Complexity 663

Android14到Android16源码移植中的Bluetooth模块规范适配指南

本文详细解析了从Android14到Android16源码移植过程中Bluetooth模块的规范适配挑战,重点介绍了Android.bp配置差异及常见编译报错解决方案。针对代码规范检查、final字段声明、静态方法优化等核心问题提供实用修复方法,帮助开发者高效完成版本升级适配工作。

fire9的博客 254

R | 提取文件夹内栅格数据的最小值、最大值、标准差和平均值

各位同学好,我们长需要用长时间序列栅格数据的平均值做变量的时间变化分析,用代码能够帮助我们省下很多时间。

qq_48539301的博客 448

android 查询多个条件查询,Android GreenDao 条件查询问题

使用GreenDao保存了全国城市的属性(名字,代码,省份等等),保存可以成功,无条件查询全部数据时可以成功:private List queryCitiesInfo(){List cityInfos = mCityQUery.list();for (int i = 0; i < cityInfos.size(); i++) {Log.d(TAG,"所有的城市CountryEn"+cityI...

weixin_30916255的博客 854

基于深度学习的柠檬等级检测系统 —— YOLOv8 + UI界面 + 数据集

本项目的目标是构建一个柠檬等级检测系统,通过深度学习模型自动检测柠檬的等级。自动检测柠檬等级:通过图像中的柠檬特征,自动判断其成熟度和质量。实时视频检测:通过摄像头实时监控柠檬的质量等级。用户友好的UI界面:为用户提供简洁直观的操作界面,支持图像上传、实时视频检测等功能。本项目展示了如何基于YOLOv8模型开发一个柠檬等级检测系统,结合PyQt5实现了用户友好的UI界面。通过该系统,用户可以快速上传柠檬图像并自动识别其等级,极大提升了检测效率和准确性。数据集的扩展。

YOLO 1111

需要注意的问题

一   图片分割   String images = listBean.getImages(); String[] split = images.split("\\|"); Glide.with(context).load(split[0]).into(holder.image); 二  presenter 三 constant 常量类 四  用到来的依赖   implement...

zyanna的博客 284

CATIA V6二次开发——如何利用CaptureToFile截屏

CaptureToFile 今天给大家分享一个很有趣的功能,如何利用CATIA自带的功能输出模型展示图? 先上方法: 方法本身并不难,只需要赋予格式及输出路径即可完成该功能。结果如下: 看到这样一张图片不禁让我陷入了沉思,怎么会这么丑???? 那么如何让这个简单的功能变得有趣,图片变得好看点呢? 第一步:背景换色 第二步:隐藏结构树 ...

WorkMan的博客 2982

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

GreenDao遇到PRIMARY KEY must be unique (code 19)

错误如图: 这里可能有以下几个原因: 1.如果主键标记时没有添加autoincrement , 那么就是传的id重复了, 传的时候获取最新id然后++id即可, 这里不讨论 @Id(autoincrement = true) 2.我明明标了autoincrement , 按理不用传id的, 也确实没传, 还爆not unique的话, 就是踩坑了 GreenDao的主键必...

forLove 1206

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

GreenDao jar包下载

GreenDoa jar包,简化SQL数据库的增删改查,容易学习

880

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

greenDAO 3.2 初探

greenDAO 在之前就有耳闻,但是没空出时间去学习,今天突然看到了这个词,于是乎就决定搞定它,啃一下英文文档。那么故事就来了。 首先说说我所了解到的,为什么选用 greenDAO: greenDAO 可以将我们数据库的中数据转换为相应的对象,这样可以省去我们自己去转换对象的时间。 和同类型的库相比,性能是最好的。(官网如是说)主流同类型库的条形对比图如下图。 greenDAO 也是当前 And

zone_的博客 1万+

Android数据库greenDAO框架用法和源码分析

Android数据库greenDAO框架用法和源码分析greenDAO简介greenDAO是一种Android数据库ORM(object/relational mapping)框架,与OrmLite、ActiveOrm、LitePal等数据库相比,单位时间内可以插入、更新和查询更多的数据,而且提供了大量的灵活通用接口。如何开始greenDAO需要提前生成Entity、DAO等文件,因此需要先建立一个

Dylan Dev Blog 3933

GreenDao3.0使用详解

随着移动端的业务量的增大和用户体验的提高,SQLite的需求很明显了,大大小小的项目几乎成了必备,用我们项目经理的话来说: 1、不用管他什么数据,为了体验,先缓存一下! 2、什么?网络不好导致的?看什么,缓存啊!!! 真不知道他是在哪里听到的这个词,唉! 在他看来,缓存是如此简单的一件事情,当然,缓存其实并不难,就是有点麻烦而已! 之前我一直是用Realm,目前Realm被人称为移动端的

Anonymous 2万+

GreenDao3使用教程

官网上的介绍,greenDAO 是一个将对象映射到 SQLite 数据库中的轻量且快速的 ORM 解决方案。 GreenDao特点 性能最大化,可能是Android平台上最快的ORM框架 易于使用的API 最小的内存开销 依赖体积小 支持数据库加密 强大的社区支持 GreenDao配置 buildscript { repositories {...

qq_36699930的博客 1万+
上一篇: 一个依赖就可以实现复杂的圆形进度条
下一篇: RecyclerView详解
Android_Object
博客等级 码龄10年 1粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值