Android開發(fā)之Sqliteopenhelper用法實(shí)例分析
本文實(shí)例講述了Android開發(fā)之Sqliteopenhelper用法。分享給大家供大家參考。具體分析如下:
如果在安卓開發(fā)中,直接使用Activity中的openOrCreateDatabase(name, mode, factory)會有一系列跟隨的問題。比如說數(shù)據(jù)庫升級、更新等。
最好是使用其封裝版本:SQLiteOpenHelper
繼承和擴(kuò)展SQLiteOpenHelper類主要做的工作就是重寫以下兩個 方法。
onCreate(SQLiteDatabase db) : 當(dāng)數(shù)據(jù)庫被首次創(chuàng)建時執(zhí)行該方法,一般將創(chuàng)建表等初始化操作在該方法中執(zhí)行。
onUpgrade(SQLiteDatabse dv, int oldVersion,int new Version):當(dāng)打開數(shù)據(jù)庫時傳入的版本號與當(dāng)前的版本號不同時會調(diào)用該方法。
除了上述兩個必須要實(shí)現(xiàn)的方法外,還可以選擇性地實(shí)現(xiàn)onOpen 方法,該方法會在每次打開數(shù)據(jù)庫時被調(diào)用。
自己在業(yè)務(wù)中重寫這些函數(shù),然后通過helper的getWritableDatabase和getReadableDatabase來得到想要操作的數(shù)據(jù)庫。再進(jìn)行操作就可以了。
另外,判斷一個表在sqlite中是否存在,可以使用如下方法:
String sql = "SELECT count(*) FROM sqlite_master WHERE type='table' AND name='items'"; Cursor cur = db.rawQuery(sql, null); int count = -1; while (cur.moveToNext()) { count = cur.getInt(0); } if (count <= 0) { // 表不存在 } else { }
希望本文所述對大家的Android程序設(shè)計(jì)有所幫助。
相關(guān)文章
Android實(shí)現(xiàn)圖片反轉(zhuǎn)、翻轉(zhuǎn)、旋轉(zhuǎn)、放大和縮小
這篇文章主要介紹了Android實(shí)現(xiàn)圖片反轉(zhuǎn)、翻轉(zhuǎn)、旋轉(zhuǎn)、放大和縮小的相關(guān)代碼,需要的朋友可以參考下2015-09-09詳解Android中的ActivityThread和APP啟動過程
ActivityThread就是我們常說的主線程或UI線程,ActivityThread的main方法是整個APP的入口,本篇深入學(xué)習(xí)下ActivityThread,順便了解下APP和Activity的啟動過程。2021-06-06android實(shí)用工具類分享(獲取內(nèi)存/檢查網(wǎng)絡(luò)/屏幕高度/手機(jī)分辨率)
這篇文章主要介紹了android實(shí)用工具類,包括獲取內(nèi)存、檢查網(wǎng)絡(luò)、屏幕高度、手機(jī)分辨率、獲取版本號等功能,需要的朋友可以參考下2014-03-03Android入門之ActivityGroup+GridView實(shí)現(xiàn)Tab分頁標(biāo)簽的方法
這篇文章主要介紹了Android入門之ActivityGroup+GridView實(shí)現(xiàn)Tab分頁標(biāo)簽的方法,非常實(shí)用的功能,需要的朋友可以參考下2014-08-08Android開發(fā)手冊Button按鈕實(shí)現(xiàn)點(diǎn)擊音效
這篇文章主要為大家介紹了Android開發(fā)手冊Button按鈕實(shí)現(xiàn)點(diǎn)擊音效示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Assert.assertEquals()方法參數(shù)詳解
本文詳細(xì)講解了Assert.assertEquals()方法參數(shù),文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12