編輯:關於Android編程
<?xml version="1.0" encoding="utf-8"?> <database> <!-- 數據庫名稱 --> <dbname value="zwb.db"></dbname> <!-- 數據庫版本 --> <version value="1"></version> <!-- 數據庫表 --> <list> <mapping class="com.zwb.args.dbpratice.model.Status"></mapping> <mapping class="com.zwb.args.dbpratice.model.User"></mapping> </list> </database>
然後初始化DatabaseCache: DatabaseCache cache = DatabaseCache.getInstance(this); 該操作應該是在Application中聲明,因為該動作涉及到數據庫和表的創建。 2.基本使用 聲明一個model類,繼承自BaseTable:
@Table(table = "status") public class Status extends BaseTable { @Column private String name; @Column private String statusId; public void setName(String name) { this.name = name; } public String getName() { return name; } public void setStatusId(String id) { this.statusId = id; } public String getStatusId() { return statusId; } }
其中,@Table聲明的是該model對應的表的名字,@Column聲明的是該字段對應的數據庫中的類型。如果該字段的類型和數據庫中的類型不一致,可以通過@ColumnType來指定類型。 3.數據插入 Status status = new Status(); status.setName("轉發"); status.setStatusId("01"); InsertEvent insertStatusEvent = new InsertEvent(); insertStatusEvent.to(Status.class).insert(status); 4.數據更新 UpdateEvent updateEvent = new UpdateEvent(); updateEvent.to(Status.class).where("id", "01").update("name", "你好"); 5.數據查詢 List<Status> statusList = cache.from(Status.class).where("statusId", "01").find(); 這樣就是查詢Status表中的statusId為01的所有記錄。當然,也可以查詢所有數據: List<Status> statusList = cache.from(Status.class).findAll(); 6.數據讀取 DatabaseCache cache = DatabaseCache.getInstance(this); List<Status> statusList = cache.readFromDb(Status.class); 該操作應該在Application中執行,然後執行相應的數據插入: for(Status status : statusList){ InsertEvent insertEvent = new InsertEvent(); insertEvent.to(Status.class).insert(status); } 這樣數據就會從數據庫轉移到事件流中。 7.數據存儲 DatabaseCache cache = DatabaseCache.getInstance(this); cache.insertToDb(Status.class); 這樣就會將和Status有關的數據插入到數據庫中。 8.數據刪除 DeleteEvent deleteEvent = new DeleteEvent(); deleteEvent.to(Status.class).where("id", "01").delete(); 這樣就是刪除id為01的數據。 如果是刪除某個集合的全部數據,則是:
List<Status> statuses = new ArrayList<Status>(); for(int i = 0; i < 10; i++){ Status status = new Status(); status.setName("你好"); status.setId("01"); statuses.add(status); } deleteEvent.to(Status.class).deleteAll(statuses);
如果是刪除表的全部數據: deleteEvent.to(Status.class).deleteAll(); 這是目前的實現,後面會有時間講解一下實現的過程,具體的項目地址放在github上:https://github.com/wenjiang/EventStreamDB,有興趣可以上去看看,順便給個星星。
本文實例為大家分享了Android實現記事本功能的具體代碼,供大家參考,具體內容如下MainActivity.java代碼:package siso.smartnotef
上一篇關於Android中ListView的介紹講的是如何制作一個具有兩行文本的自定義控件,作為ListView的Item的使用方法。本文接下來也是圍繞ListView和
先看一下項目的結構 可以看出每個功能模塊包含 XXActivity,XXView (Interface),XXPresenter(interfac
Bluestacks是一個可以讓Android應用程序運行在電腦(現在包括windows系統,mac版)的一種模擬器,就是我們在電腦上也可以運行Androi