自己用Java的注解实现了Android SQLite的ORM库,之前写过XML的,不过感觉不是很稳定,效率、鲁棒性各方面都不太好,今天花了一下午的时间,补全了所有的注解、注释,生成了javadoc,写了样例程序,并发布到了Github上,地址是:https://github.com/Steven-Luo/AnnotationDao,感兴趣的可以试着用用,比之前纯手动实现SQLite数据库的操作简单了许多,可扩展性也较好,用法如下:

 //实体类
@Table(name = "dog")
public class Dog {
private boolean alive;
private int id;
private String name; public Dog() { } public Dog(boolean alive, String name) {
this.alive = alive;
this.name = name;
} @Id(name = "id")
@Column(name = "id", type = DataType.Integer)
public int getId() {
return id;
} @Column(name = "name", type = DataType.Varchar, length = 20)
public String getName() {
return name;
} @Column(name = "alive", type = DataType.Boolean)
public boolean isAlive() {
return alive;
} public void setAlive(boolean alive) {
this.alive = alive;
} public void setId(int id) {
this.id = id;
} public void setName(String name) {
this.name = name;
}
} //添加
AnnotationDao dao = new AnnotationDao(this, Dog.class); String name = "dog1";
boolean alive = true; Dog dog = new Dog(alive, name);
dao.insert(dog); //查找
//列出所有对象
List list = dao.list();
//根据ID查询
dao.query(3); //删除
dao.delete(dog); //更新,更新时需要保证id字段跟数据库中的值是对应的,也就是之前调用list或query取出来的
dog.setName("dog2");
dao.update(dog);

这几天做一个项目,其中需要画一些曲线,虽然AChartEngine已经很好用了,但有几个图感觉还不太合意,最后决定自己画一个。其实主要是因为看了多看阅读上面的阅读时间曲线,觉得画得不错,所以我也就创新了一下,或者说山寨了一下,哈哈,效果如下图所示:

等改天把注释写好了,也放到GitHub上去,好东西,大家要一起分享^_^

Android ORMapping库的更多相关文章

  1. Android常用库

    原文链接:http://www.jianshu.com/p/19368c2cdcaf 系统框架 1. 网络请求 Android Async HTTP Android异步HTTP库 AndroidAsy ...

  2. 免费的Android UI库及组件推荐

    短短数年时间Android平台就已经形成了一个庞大而活跃的开发者社区.许多社区开发的项目业已进入成熟阶段,甚至可以用于商业的软件生产中,且不用担心质量问题. 本文编译自androiduipattern ...

  3. 100个Github上Android开源库

    项目名称 项目简介 1. react-native 这个是 Facebook 在 React.js Conf 2015 大会上推出的基于 JavaScript 的开源框架 React Native, ...

  4. GitHub上排名前100的Android开源库介绍(来自github)

    本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍,至于排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果,然后过滤了 ...

  5. GitHub Top 100的Android开源库

    摘要: 本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据GitHub搜索Java语言选择「Best M... 本项目主要对目前 GitH ...

  6. GitHub 上排名前 100 的 Android 开源库进行简单的介绍

    若有任何疑问可通过邮件或微博联系我 项目名称 项目简介 1. react-native 这个是 Facebook 在 React.js Conf 2015 大会上推出的基于 JavaScript 的开 ...

  7. Android公共库(缓存 下拉ListView 下载管理Pro 静默安装 root运行 Java公共类)

    介绍总结的一些android公共库,包含缓存(图片缓存.预取缓存).公共View(下拉及底部加载更多ListView.底部加载更多ScrollView.滑动一页Gallery).及Android常用工 ...

  8. 【转】Android底层库和程序

    原文网址:http://blog.csdn.net/louiswangbing/article/details/6616202 Android底层库和程序 1.     本地实现的基本结构 Andro ...

  9. 自己总结的一些android公共库

    本文主要介绍自己在android开发中总结的一些公共库,目前包括下拉刷新ListView.可以响应各个方向CompoundDrawables点击操作的TextView.图片缓存,不断更新,欢迎交流 ? ...

随机推荐

  1. javac找不到或无法加载主类 com.sun.tools.javac.Main

    在安装jdk后或者以前安装了jdk某时使用javac编译java文件时出现找不到或无法加载主类com.sun.tools.javac.Main,这个问题时,网上一般都说是环境变量配置不对,这样的说法其 ...

  2. 古典问题rabbit

    /**古典问题: * 有一对兔子,从出生后第三个月起每个月都生一对兔子, * 小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死, * 问每个月的兔子总数为多少? * 程序分析:兔子的规律为数列: ...

  3. install sun java in ubuntu

    1. 下载: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 2. 解压安装: ...

  4. 【RobotFramework自动化测试】数据库值验证

    ${sqlCount}    Row Count    ${sqlStr}    #注释:Row Count 将SQL查询结果的行数返回给前面的参数: @{rs}    query    ${sqlS ...

  5. C#单链表

    顺序表是用地址连续的存储单元顺序存储线性表中的各个数据元素, 逻辑上相邻的数据元素在物理位置上也相邻.因此,在顺序表中查找任何一个位置上的数据元素非常方便, 这是顺序存储的优点. 但是, 在对顺序表进 ...

  6. 使用注解配置Spring框架自动代理通知

    话不多说上代码 项目架构图及Lib包如下: 第二步创建业务类接口 package cn.happy.day01.entity; /** * 1.业务接口 * @author Happy * */ pu ...

  7. block,inline和inline-block概念和区别(转)

    转自  http://www.cnblogs.com/KeithWang/p/3139517.html 总体概念 block和inline这两个概念是简略的说法,完整确切的说应该是 block-lev ...

  8. 重写代码生成器支持模板(多层架构,MVC),多语言c#,java;支持mysql和sqlserver,动态编译

    多年前用过李天平前辈的,自己改过,后来李老师做动软了,不给源码,修改不是很方便.加上我目前需要转java方向,于是决定自己搞.到目前为止花了整整一个星期了,看看目前的成果. 最后是代码工程文件,用c# ...

  9. c++ sort降序排序

    sort是c++ STL中提供的一个函数模板,可以用来对多种类型进行排序. 默认是升序排序.它有两种使用方法: default (1) template <class RandomAccessI ...

  10. mvn打包时添加version和profile

    <!-- 定义profile --> <profiles> <!-- 开发环境 --> <profile> <id>dev</id&g ...