首页 > 代码库 > Android ORMapping库

Android ORMapping库

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

 1 //实体类 2 @Table(name = "dog") 3 public class Dog { 4     private boolean alive; 5     private int id; 6     private String name; 7  8     public Dog() { 9 10     }11 12     public Dog(boolean alive, String name) {13         this.alive = alive;14         this.name = name;15     }16 17     @Id(name = "id")18     @Column(name = "id", type = DataType.Integer)19     public int getId() {20         return id;21     }22 23     @Column(name = "name", type = DataType.Varchar, length = 20)24     public String getName() {25         return name;26     }27 28     @Column(name = "alive", type = DataType.Boolean)29     public boolean isAlive() {30         return alive;31     }32 33     public void setAlive(boolean alive) {34         this.alive = alive;35     }36 37     public void setId(int id) {38         this.id = id;39     }40 41     public void setName(String name) {42         this.name = name;43     }44 }45 46 //添加47 AnnotationDao dao = new AnnotationDao(this, Dog.class);48 49 String name = "dog1";50 boolean alive = true;51 52 Dog dog = new Dog(alive, name);53 dao.insert(dog);54 55 //查找56 //列出所有对象57 List list = dao.list();58 //根据ID查询59 dao.query(3);60 61 //删除62 dao.delete(dog);63 64 //更新,更新时需要保证id字段跟数据库中的值是对应的,也就是之前调用list或query取出来的65 dog.setName("dog2");66 dao.update(dog);

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

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