本身用Java的註解實現了Android SQLite的ORM庫,以前寫過XML的,不過感受不是很穩定,效率、魯棒性各方面都不太好,今天花了一下午的時間,補全了全部的註解、註釋,生成了javadoc,寫了樣例程序,併發布到了Github上,地址是:https://github.com/Steven-Luo/AnnotationDao,感興趣的能夠試着用用,比以前純手動實現SQLite數據庫的操做簡單了許多,可擴展性也較好,用法以下:java
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已經很好用了,但有幾個圖感受還不太合意,最後決定本身畫一個。其實主要是由於看了多看閱讀上面的閱讀時間曲線,以爲畫得不錯,因此我也就創新了一下,或者說山寨了一下,哈哈,效果以下圖所示:git
等改天把註釋寫好了,也放到GitHub上去,好東西,你們要一塊兒分享^_^github