Android greenDao的简单配置和使用
最近自学做东西的时候用到了一个收藏的功能,然后我想把东西存放到SQLite当中,然而自己传值的时候都是用到的实体类,所以存起来也比较麻烦,所以从网上找到一个greenDao的开源框架非常火,不仅效率高,而且内存也占用的小,非常方便。
这里我就简单介绍一下如何配置,至于其他的增、删、改、查了,网上都很多,需要用到的小伙伴们自己去查吧!!
首先我们得明白,greenDao是一个Java代码模版的快速生成器,里面封装好了我们实体类的各种操作。所以
1、我们要用eclipse或者Myeclipse建一个Java工程,我们需要在我们的工程下建立一个lib目录用于放我们的两个包(没有的小伙伴可以去网上下载)

2、右键我们的工程,在弹出的菜单中选择Properties,将我们的两个jar包 加入到我们的工程中

3、操作完成后,我们就可以编写代码了,建立一个类,在里面写下如下代码
package com.fanlei.greenDao;
import java.io.IOException; import de.greenrobot.daogenerator.DaoGenerator;
import de.greenrobot.daogenerator.Entity;
import de.greenrobot.daogenerator.Schema; public class ExampleDaoGenerator { public static void main(String[] args) throws IOException, Exception { Schema schema = new Schema(1, "de.greenrobot.daoexample"); addNote(schema); new DaoGenerator().generateAll(schema, "E:\\DaoExample\\src-gen"); } private static void addNote(Schema schema) { Entity news = schema.addEntity("News");
news.addStringProperty("author");
news.addStringProperty("content");
news.addStringProperty("id");
news.addStringProperty("img");
news.addStringProperty("pagetag");
news.addStringProperty("time");
news.addStringProperty("title");
}
}
首先
Schema schema = new Schema(1, "de.greenrobot.daoexample"); 是必须要有的,这个视需要建立实体类要用到的,
两个参数 第一个是一个 版本,也就是说我们的SQLite数据库版本,后期如果需要数据库升级,就需要这个参数.
第二个是一个 路径,也就是你运行完这段代码后,生成的 .java 文件放在的地方.
方法addNote() 是添加实体类用的,你希望生成的实体类里面都有什么属性,这个需要自己去加入,属性的类型也很全面
Entity news = schema.addEntity("News");
会生成一个 News.java文件和NewsDao.java文件,NewsDao.java文件里面封装好了对数据库的操作
new DaoGenerator().generateAll(schema, "E:\\DaoExample\\src-gen");
第二个参数是你希望生成的文件存放在哪里.这个路径需要使用者事先去建好,否则会报异常.
最后生成的文件除了两个必要的.java文件,还有就是 你的实体类和实体类的Dao.

4、最好将这几个.java文件考到你的android工程里面就可以使用了,android里面也需要一个jar包去支持,别忘了导入进去。(没有得网上可以下载)

5、为了防止我们总是去创建session,官方推荐我们将session的生成放到application中,然后我们可以用get方法去获得
public class MyApplication extends Application {
private DaoMaster.DevOpenHelper helper;
private SQLiteDatabase db;
private DaoMaster daoMaster;
private DaoSession daoSession;
@Override
public void onCreate() {
helper = new DaoMaster.DevOpenHelper(this,"News_info-db",null);
db = helper.getWritableDatabase();
daoMaster = new DaoMaster(db);
daoSession = daoMaster.newSession();
}
}
6、插入操作也很简单
private News news;
private NewsDao newsDao; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_news_info);
getSupportActionBar().hide(); newsDao = MyApplication.getMyApplocation().getDaoSession().getNewsDao(); //拿到这么个工具dao newsDao.insert(news); //插入到数据库 }
若是第一次插入,则会创建一个表 表名就是类名,字段名就是属性名,这个表就是专门放News实体类的
7、其他操作请自行搜索,或者看官方文档
Android greenDao的简单配置和使用的更多相关文章
- Android greenDAO 数据库 简单学习之基本使用
看网上对greenDAO介绍的不错,今天就动手来试一把,看看好不好使. greenDAO 官方网站:http://greendao-orm.com/ 代码托管地址:https://github.com ...
- 在Android Studio进行“简单配置”单元测试(Android Junit)
起因 在Android studio 刚出.本人就想弄单元测试,可惜当时Android studio不知道抽什么风(准确来说,应该是我不会弄而已).无法执行到相应的代码.后来今天突然自己又抽风.又想去 ...
- Android Studio开发环境配置以及相关说明
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这里简单记录下在开发的时候使用的Android Studio开发环境版本以及相关注意事项. 一般来讲,每隔一段时间就要检查下Andr ...
- Android NDK r9的配置与使用
Android NDK 配置: 网上有很多教程,但大部分是旧版本的内容,最新版本的已经改变,为了让大家少走弯路,在这里针对r9的配置进行记录分享. 要玩NDK,你或多或少要用到以下一些东西,所以先做一 ...
- Android Studio经常使用配置及使用技巧(二)
在<Android Studio经常使用配置及使用技巧(一)>中具体描写叙述了Android Studio的project结构和打开开源project的一些配置方法.本篇将从我个人的使用情 ...
- Android Studio NDK环境配置
本文参考:Android Studio NDK环境配置及JNI使用方法:http://blog.csdn.net/tongseng/article/details/53005123 并添加自己的实践: ...
- IDA 调试 Android 方法及简单的脱壳实现
IDA 调试 Android 方法及简单的脱壳实现 标签: android原创逆向调试dalvik 2016-05-24 14:24 9286人阅读 评论(3) 收藏 举报 分类: 原创(25) An ...
- 初次使用Android Studio时的配置
一.第一次安装: Android Studio安装完毕后,第一次启动AS前.为了避免又一次下载新版本号的SDK.操作例如以下: AS启动前.请先将bin文件夹的idea.properties文件里添加 ...
- Gradle在Android中的简单使用
Gradle在Android中简单的使用 还望支持个人博客站:http://www.enjoytoday.cn Android Studio 使用gradle进行工程构建,为了更好的了解整个andro ...
随机推荐
- ORACLE 导空表结构
exp username/psd@sid file='E:\xx.dmp' tables=(xxx_%) ROWS=N 以下代码没什么用,我就乱写 set oracle_sid=ora11gsqlpl ...
- web调试技巧
接触web不久,遇到了一些"奇怪"的问题,现将一些调试技巧总结如下: 1.欲添加某一样式,点击右键,查看源码 2.样式有问题,点击右键,审查元素 当然,还有一些经验总结 ...
- velocity freemarker比较
相比较 FreeMarker 而言,Velocity 更加简单.轻量级,但它的功能却没有 FreeMarker 那么强大. 对于大部分的应用来说,使用 FreeMarker 比 Velocity 更简 ...
- C#基础知识点
一.方法(结构.数组.冒泡排序.3个参数重载) 1将string转换为int类型 Convert.ToInt32(); int.Parse() ; int.TryParse()三种方式. 2 结构:可 ...
- Tomcat Connector三种运行模式
BIO: 一个线程处理一个请求.缺点:并发量高时,线程数较多,浪费资源. Tomcat7或以下,在Linux系统中默认使用这种方式. NIO: 利用Java的异步IO处理,可以通过少量的线程处理大量的 ...
- ENVI如何打开IRS P6的AWIFS的ges及LISS3的ges文件?
AWIFS文件下文件名如下:ID2010236001.hdrID2010236001_2.gesID2010236001_3.gesID2010236001_4.gesID2010236001_5.g ...
- centos7 搭建docker内运行rabbitmq,然后再镜像ha方案的完全教程,暂时一个宿主机只能运行一个docker的rabbitmq,但是集群 ha都正常
1.安装centos7.x,配置好网络2.因为docker需要比较高版本的内核,比如使用overlayfs作为默认docker文件系统要3.18,所以先升级内核到3.18以上版本,能直接过4是最佳了检 ...
- JS 中 this 关键字详解
本文主要解释在JS里面this关键字的指向问题(在浏览器环境下). 首先,必须搞清楚在JS里面,函数的几种调用方式: 普通函数调用 作为方法来调用 作为构造函数来调用 使用apply/call方法来调 ...
- Android IOS WebRTC 音视频开发总结(五七)-- 网络传输上的一种QoS方案
本文主要介绍一种QoS的解决方案,文章来自博客园RTC.Blacker,欢迎关注微信公众号blacker,更多详见www.rtc.help QoS出现的背景: 而当网络发生拥塞的时候,所有的数据流都有 ...
- Windows计算机功能Java源码
代码如下 import java.awt.Color; import java.awt.Container; import java.awt.GridLayout; import java.awt.e ...