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上去,好东西,大家要一起分享^_^
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。