SQL的簡單使用及在多個Activity間的共享問題
阿新 • • 發佈:2018-12-23
先說多個Activity如何共享一個數據庫:
在想要呼叫 以經存在的資料庫 的Activity中加入
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase("data/data/***/databases/taskStore.db",null);
Cursor cursor = db.query("task", null, null, null, null, null, null);
沒錯就這麼簡單,直接通過資料庫檔案地址來獲取資料庫,然後在使用Cursor對其進行操作。
下面說乾貨,
SQL 的簡單使用方法
1.建立資料庫
public class MyDatebaseHelper extends SQLiteOpenHelper{
public static final String CREATE_TASK = "create table task ("
+ "id integer primary key autoincrement,"
+ "time text,"
+ "content text,"
+ "rank integer,"
+ "gold integer)";
//應為這裡是SQL語句特別注意書寫格式,","以及")"
private Context mContext;
public MyDatebaseHelper(Context context, String name, CursorFactory factory, int version) {
super(context, name, factory, version);
mContext = context;
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TASK);
Toast.makeText(mContext, "Create succeeded" , Toast.LENGTH_SHORT).show();
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
2.在Activity中對資料庫進行修改和操作
MyDatebaseHelper dbHelper = new MyDatebaseHelper(this, "表名.db", null, 2);
SQLiteDatabase db = dbHelper.getWritableDatabase();
//以上為建立或者連結資料庫
Cursor cursor = db.query("task", null, null, null, null, null, null);
新增資料
ContentValues values = new ContentValues();
// 開始組裝資料
values.put("time", time);//前time為資料庫的表項,後time是要新增元素的資料,要注意的型別對應
values.put("content", content);
values.put("rank", rank);
values.put("gold", gold);
db.insert("task", null, values);
刪除和查詢
if (cursor.moveToFirst()) {
do {
// 遍歷Cursor物件,
String name = cursor.getString(cursor.getColumnIndex("time"));
//查詢
db.delete("gold", "pages > ?", new String[] { "500" });//刪除,
} while (cursor.moveToNext());
}