這篇將介紹如何建立類別下的各個方法達成創立資料庫以及建立各種操縱資料的方法,以下將創建HealthDB類別:
public class HealthDB {
//建立SQLiteDatabase物件
private static SQLiteDatabase db=null;
private final static String TABLE_NAME="TableHealth";
// 建立欄位名稱
// 編排編號
private final static String _ID="_id";
private final static String DATE="date";
// 收縮壓
private final static String HIGH="high";
// 舒張壓
private final static String LOW="low";
// 脈搏數
private final static String BUMP="bump";
// 建立表格
private final static String CREATE_TABLE="CREATE TABLE "+TABLE_NAME+" ("+_ID+" INTEGER PRIMARY KEY,"
+ DATE +" TEXT,"+HIGH+" INTEGER,"+LOW+" INTEGER ,"+BUMP+" INTEGER"+" )";
private Context context;
......
}
完整程式碼
public class HealthDB {
//建立SQLiteDatabase物件
private static SQLiteDatabase db=null;
private final static String TABLE_NAME="TableHealth";
// 建立欄位名稱
// 編排編號
private final static String _ID="_id";
private final static String DATE="date";
// 收縮壓
private final static String HIGH="high";
// 舒張壓
private final static String LOW="low";
// 脈搏數
private final static String BUMP="bump";
// 建立表格
private final static String CREATE_TABLE="CREATE TABLE "+TABLE_NAME+" ("+_ID+" INTEGER PRIMARY KEY,"
+ DATE +" TEXT,"+HIGH+" INTEGER,"+LOW+" INTEGER ,"+BUMP+" INTEGER"+" )";
private Context context;
// FruitDB的建構式
public HealthDB(Context context){
this.context=context;
}
// 建立open()方法,資料庫存執行開啟資料庫,尚未存在則建立資料庫
public void open() throws SQLException {
try{
// 建立資料庫並指定權限
db=context.openOrCreateDatabase("HealthDB.db",Context.MODE_PRIVATE,null);
// 建立表格
db.execSQL(CREATE_TABLE);
}
catch (Exception e){
// Toast.makeText(context,"HealthDB.db 已建立",Toast.LENGTH_LONG).show();
Log.d("Debug","HealthDB.db 已建立");
}
}
// 建立新增、修改(更新)、刪除,資料操作
// execSQL完整輸入SQL語法實現,資料操作
// 建立方法append()
public void append(String date,int high,int low,int bump){
String insert_text="INSERT INTO "+TABLE_NAME+"( "+DATE+","+HIGH+","+LOW+","+BUMP+") values ('"+date+"',"+high+","+low+","+bump+")";
db.execSQL(insert_text);
}
// 建立方法update()
public void update(int name,int price,long id){
String update_text="UPDATE "+TABLE_NAME+" SET "+HIGH+"="+name+","+LOW+"="+price+" WHERE "+_ID+"="+id;
db.execSQL(update_text);
}
// 建立方法delete()
public void delete(long id){
String delete_text="DELETE FROM "+TABLE_NAME+" WHERE "+_ID+"="+id;
db.execSQL(delete_text);
}
// 建立查詢方法select(),查詢單筆資料
// rawQuery完整輸入SQL語法實現資料查詢
public Cursor select(long id){
String select_text="SELECT * FROM "+TABLE_NAME+" WHERE "+_ID+"="+id;
Cursor cursor=db.rawQuery(select_text,null);
return cursor;
}
// 建立查詢方法select_all(),查詢所有資料
// rawQuery完整輸入SQL語法實現資料查詢
public Cursor select_all(){
String select_text="SELECT * FROM "+TABLE_NAME;
Cursor cursor=db.rawQuery(select_text,null);
return cursor;
}
}
由於使用者輸入血壓心跳的介面還沒創建,所以沒辦法看到成果。不過,下一篇將繼續努力,將設計輸入血壓與心跳的使用者介面!加油!
若文章有誤,歡迎大家提出建議。
Thank you for your time.