Android數據存儲之SQLite

操作數據庫的核心類

  • SQLiteDatabase 管理和操作數據庫
    獲取數據庫對象的方法:
    /**
    * name 數據庫名稱 (在當前的應用中是唯一)
    * mode 數據庫訪問的權限 MODE_PRIVATE 私有的
    * factory 游標工廠 null
    */
    Context.openOrCreateDatabase(String name,int mode,CursorFactory factory);
    SQLiteDatabase 主要提供的方法
    void execSQL(String sql) 執行sql語句
    Cusor rawQuery(String sql,String[] selectionArgs) 查詢數據庫符合要求的內容
    封裝好的方法:
    insert() 插入數據到指定的表中
    update() 修改指定表中的數據
    query() 查詢表中的指定內容
    delete() 刪除表中指定的數據
  • SQLiteOpenHelper 用于數據庫的創建和版本的更新
    使用:
    1.定義一個類繼承SQLiteOpenHelper
    2.重寫父類的方法
    onCreate(SQLiteDatatabase db) 第一次創建數據庫時調用, 只會被執行一次
    onUpgrade(SQLiteDatatabase db,int oldVersion, int newVersion) 當數據庫版本發生變化時, 執行此方法(可能會被執行多次)
    3.提供一個構造方法
    public DbOpenHelper(Context context) {
    super(context, "phone_book", null, 1);//第一個參數:上下文對象;第二個參數:數據庫名;第三個參數:游標工廠;第四個參數:版本號
    }
  • 游標
    游標(cursor)是系統為用戶開設的一個數據緩沖區,存放SQL語句的執行結果。i
    可以從游標中獲取結果中每一條的數據。
    方法:
    boolean cursor.move(int offset) 游標向上或向下移動指定的行數 , 如果offset為正數,則表示向上移動; 如果為負數 表示向下移動; 并且判斷當前數據是否存在
    boolean cursor.moveToNext() 游標移動到下一條數據, 并且判斷下一條數據是否存在
    boolean cursor.moveToPrevious() 游標移動到上一條數據, 并且判斷上一條數據是否存在
    boolean cursor.moveToFirst() 游標移動到第一條數據, 并且判斷第一條數據是否存在
    boolean cursor.moveToLast() 游標移動到最后一條數據, 并且判斷最后一條數據是否存在
    boolean cursor.moveToPosition() 游標移動到某一條數據, 并且判斷某一條數據是否存在
    int cursor.getCount() 得到游標中數據的數量
    通過游標取值的方法:
    獲取數據內容cursor.getString(列的編號) //列的編號從0開始
    根據列的名稱得到列的編號: cursor.getColumnIndex("字段名稱");
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容