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 ...
随机推荐
- 6 个优秀的开源 OCR 光学字符识别工具
转自:http://sigvc.org/bbs/thread-870-1-1.html 纸张在许多地方已日益失宠,无纸化办公谈论40多年,办公环境正限制纸山的生成.而过去几年,无纸化办公的概念发生了显 ...
- 关于MPEG2中的图像序列和图像组头GOP
图像序列 图像序列是由图像组构成的,是随机存取段落. sequence_header_code – The sequence_header_code is the bit string ‘000001 ...
- ASP.NET MVC 开源项目学习之ProDinner (二)
下面我们来看第二层:Data 这一层相对来说是对Core层的具体实现了. 从命名可以看出来,这和数据库相关. 1.Db.cs CodeFirst模式的本地数据库类,继承了DbContext. pr ...
- Nodejs笔记(一)
Node近些日子大火,看样子js大有统一前端后台的趋势... Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度快,性 ...
- C/C++中几种操作位的方法
参考How do you set, clear and toggle a single bit in C? c/c++中对二进制位的操作包括设置某位为1.清除某位(置为0).开关某位(toggling ...
- Windows phone 8 学习笔记(3) 通信(转)
Windows phone 8 可利用的数据通信方式比较广泛,在硬件支持的前提下,我们可以利用WiFi.蓝牙.临近感应等多种方式.数据交互一般通过套接字来完成,我们将在本文详细的分析. 快速导航:一. ...
- Java c3po
1.准备通用类 (引用:c3p0-0.9.1.2.jar) package nankang.test; import java.sql.Connection; import com.mchange.v ...
- MySQL允许远程访问
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; flush privileges; ...
- DataGridView取消默认选中行
DataGridView在添加数据后会默认选中第 一个单元格或者第一行,我就想取消它的默认选中行.在DataGridView绑定数据之后加上了ClearSelection().这样一来,不论是启动窗体 ...
- object
object对象 定义一个对象 var obj = {}; obj.name = 'Kate'; var obj = {name:'Jerrt'}; var obj = new Object(); O ...