Android中的資料庫相關以及封裝

2021-07-10 12:35:50 字數 1928 閱讀 2524

一:幫助類:

/**

* created by jiangxiangfei on 2016/1/2.

*/public class mysqliteopenhelper extends sqliteopenhelper

//注意:openhelper的呼叫時建立或者開啟乙個資料庫:如果是第一次才會執行oncreat方法建立表 其他的時候不會執行 只有當版本號不一致的時候才會呼叫 onupgrade方法

//注意 oncreat或者onupgrade的方法執行會傳進乙個預設的給你建立或者修改表結構

// 將現有表重新命名為臨時表;

//// 建立新錶;

//// 將臨時表的資料匯入新錶(注意處理修改的列);

//// 刪除臨時表。

@override

public void oncreate(sqlitedatabase db)

//注意小版本的時候可以做資料庫的歷史儲存 建立原來的表:鍵臨時表中的資料儲存進新建的原來的空資料庫 做表 遷移 在刪除臨時的資料庫 大版本直接刪除資料庫

@override

public void onupgrade(sqlitedatabase db, int oldversion, int newversion)

}}

二:管理類

/**

* created by jiangxiangfei on 2016/1/2.

*/public

class sqlhelpermanager

//使用單例,不加鎖

public

static sqlhelpermanager getinstance() else

return instance;

}//開啟資料庫

private

void

open()

else

}//關閉資料庫

public

void

close()

log.e("jxf","db已經存在了");

}//新增資料庫的方法:抽出表名

public

void

insert(string tablename, contentvalues values)

//刪除全部資料

public

void

deleteall(string tablename)

//獲取單條的

public cursor seleteone(string tablename,string columns, string orderby,string limit)

//獲取集合並利用sql排序排序

public cursor seleteall(string tablename,string columns, string orderby)

//維持20條的刪除單部分

public

void

deleteone(string tablename,string where,string wheres)

//更新一條資料

public

void

updateone(string tablename,contentvalues values,string where,string wheres)

public cursor seleteallwhere(string tablename, string columns,string where, string wheres,string orderby)

public

void

deleteallwhere(string tablename,string where,string wheres)

}

Android中的SQLite資料庫

sqlite是一種輕量級的關係型資料庫,它體積小,零配置,可以直接執行在應用程式的程序中,非常適合嵌入式的作業系統。首先要建立乙個sqlite資料庫 通過類來實現sqlitehelper這個抽象類,public class personsqlitehelper extends sqliteopenh...

Android中資料庫的使用

之前我部落格中提到了簡單字串資料可以通過共享引數的方式儲存在本地,這也是android中主要的一種資料持久化的方法。不過這種儲存方法有個問題,乙個是資料不能過多,另乙個就是多條關聯資料不好儲存。這時我們就會很羨慕後台的資料庫了。不過沒有關係,android也為我們準備了乙個輕量級的資料庫,並為我們提...

android資料庫相關幾個小問題

不太能理解contentprovider的gettype函式的作用,查到以下內容 總體來說,就是傳進去乙個uri,返回乙個表示mime型別的字串 裡面還說,如果是單條記錄應該返回以vnd.android.cursor.item 為首的字串,如果是多條記錄,應該返回vnd.android.cursor...