1. 程式人生 > >SQL的簡單使用及在多個Activity間的共享問題

SQL的簡單使用及在多個Activity間的共享問題

先說多個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());
}