【 Android 】Android 使用 SQLite
1. SQLite : 以android的角度來說,是一個內建名為SQLite的關聯式資料庫引擎(Relational database engine); 而android應用程式的開發者則採呼叫API的方式來SQLite作溝通,同時,SQLite當中的資料庫是以單一檔案的方式儲存在手機硬體當中。
2. Android開發不需另行安裝,只需要直接調用就好
3. 最大支援到2T bytes
step 1:
先建立一個class叫作DBHelper 並繼承SQLiteOpenHelper,建立完後產生code之後如下:
step 2:
建立控制介面:
step 3:
即可操作下列動作: 查詢、新增、更新、刪除
step 4:
資料庫使用完需關掉
對於android開發人員來說,若之前沒接觸過SQLite,在使用上會感覺非常抽象的,可以將它想像成excel表格,經由上述範例實作出來會像下圖一樣:
2. Android開發不需另行安裝,只需要直接調用就好
3. 最大支援到2T bytes
step 1:
先建立一個class叫作DBHelper 並繼承SQLiteOpenHelper,建立完後產生code之後如下:
public class DBHelper extends SQLiteOpenHelper{
final String createTable =
"CREATE TABLE iGauge " +
"(_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
"name TEXT, mac TEXT, value TEXT)"; //資料表格式
public DBHelper(Context context, String name, CursorFactory factory,int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(createTable); //建立"createTable"這個資料表
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
step 2:
建立控制介面:
private DBHelper dbhelper;
private SQLiteDatabase db;
dbhelper = new DBHelper(this, "test", null, 1);
db = dbhelper.getReadableDatabase();
step 3:
即可操作下列動作: 查詢、新增、更新、刪除
private void add(){
ContentValues values = new ContentValues();
values.put("name", nameEdit.getText().toString());
values.put("tel", telEdit.getText().toString());
values.put("birthday",bdEdit.getText().toString());
db.insert("cust", null, values);
}
private void update(String id){
ContentValues values = new ContentValues();
values.put("name", nameEdit.getText().toString());
db.update("cust", values, "_id = ? ", new String[]{id});
}
private void delete(String id){
//db.delete("cust", "name="+nameEdit.getText().toString(), null);
// DELETE FROM cust WHERE _id = 3 and name = 'Brad'
db.delete("cust", "_id = ? ", new String[]{id});
}
private void query(){
Cursor c = db.query("cust", null, null, null, null, null, null);
result.setText("Num: "+c.getCount()+"\n");
while(c.moveToNext()){
result.append(c.getString(c.getColumnIndex("_id"))+":"+
c.getString(c.getColumnIndex("name"))+":"+
c.getString(c.getColumnIndex("tel"))+":"+
c.getString(c.getColumnIndex("birthday"))+"\n");
}
}
step 4:
資料庫使用完需關掉
if(db.isOpen()){
db.close();
}
對於android開發人員來說,若之前沒接觸過SQLite,在使用上會感覺非常抽象的,可以將它想像成excel表格,經由上述範例實作出來會像下圖一樣:
留言
張貼留言