




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《通信業(yè)務(wù)開(kāi)發(fā)》課程SQLiteDB存儲(chǔ)SQLite數(shù)據(jù)庫(kù)存儲(chǔ)PART33-1功能特性核心接口使用方式使用建議功能特性結(jié)構(gòu)開(kāi)源、高效的輕量級(jí)數(shù)據(jù)庫(kù),面向資源有限設(shè)備無(wú)服務(wù)器進(jìn)程,數(shù)據(jù)存放在同一文件跨平臺(tái)可自由復(fù)制,支持基本SQL語(yǔ)法數(shù)據(jù)庫(kù)存儲(chǔ)在data/App目錄/databases/Android訪問(wèn)SQLiteAPI:SQLiteDatabase:封裝操作數(shù)據(jù)庫(kù)APISQLiteOpenHelperContext.openOrCreateDatabase()……特性核心接口SQLiteDatabase:封裝操作DBAPI:insert()、update()、delete()、query()等使用步驟:創(chuàng)建SQLiteDatabase對(duì)象調(diào)用openOrCreateDatabase(),創(chuàng)建并打開(kāi)DB執(zhí)行SQL語(yǔ)句,完成數(shù)據(jù)表增、修、刪、查等提供三個(gè)支持事務(wù)處理的方法:開(kāi)始事務(wù):publicvoidbeginTransaction();提交更新或回滾事務(wù):publicvoidsetTransactionSuccessful();結(jié)束事務(wù):publicvoidendTransaction();SQLiteDatabase1No.方法類型描述1publicstaticfinalintOPEN_READONLY常量以只讀方式打開(kāi)數(shù)據(jù)庫(kù)2publicstaticfinalintOPEN_READWRITE常量以讀/寫(xiě)方式打開(kāi)數(shù)據(jù)庫(kù)3publicstaticfinalintCREATE_IF_NECESSARY常量若指定數(shù)據(jù)庫(kù)文件不存在,創(chuàng)建新的4publicstaticfinalintNO_LOCALIZED_COLLATORS常量打開(kāi)數(shù)據(jù)庫(kù)時(shí),不對(duì)數(shù)據(jù)進(jìn)行基于本地化語(yǔ)言的排序5publicvoidbeginTransaction()普通開(kāi)始事務(wù)6publicvoidendTransaction()普通結(jié)束事務(wù),提交或者是回滾數(shù)據(jù)7publicvoidclose()普通關(guān)閉數(shù)據(jù)庫(kù)8publicvoidexecSQL(Stringsql)普通執(zhí)行SQL語(yǔ)句屬性方法SQLiteDatabase1No.方法類型描述9publicvoidexecSQL(Stringsql,Object[]bindArgs)普通執(zhí)行SQL語(yǔ)句,同時(shí)綁定參數(shù)10publicstaticSQLiteDatabaseopenDatabase(Stringpath,SQLiteDatabase.CursorFactoryfactory,intflags)普通以指定模式打開(kāi)指定路徑下的數(shù)據(jù)庫(kù)文件11publicstaticSQLiteDatabaseopenOrCreateDatabase(Filefile,SQLiteDatabase.CursorFactoryfactory)普通打開(kāi)或者是創(chuàng)建一個(gè)指定路徑下的數(shù)據(jù)庫(kù)12publicstaticSQLiteDatabaseopenOrCreateDatabase(Stringpath,SQLiteDatabase.CursorFactoryfactory)普通打開(kāi)或者是創(chuàng)建一個(gè)指定路徑下的數(shù)據(jù)庫(kù)13publiclonginsert(Stringtable,StringnullColumnHack,ContentValuesvalues)普通插入數(shù)據(jù),table(表名)、nullColumnHack表示傳入valuesnull,則列為nul,values表示要插入的數(shù)據(jù)14publiclonginsertOrThrow(Stringtable,StringnullColumnHack,ContentValuesvalues)普通插入數(shù)據(jù),但會(huì)拋出SQLException異常SQLiteDatabase1屬性方法No.常量或方法類型描述15publicintupdate(Stringtable,ContentValuesvalues,StringwhereClause,String[]whereArgs)普通修改數(shù)據(jù)16publicintdelete(Stringtable,StringwhereClause,String[]whereArgs)普通刪除數(shù)據(jù)17publicbooleanisOpen()普通判斷DB是否已打開(kāi)18publicvoidsetVersion(intversion)普通設(shè)置數(shù)據(jù)庫(kù)版本19publicCursorquery(booleandistinct,Stringtable,String[]columns,Stringselection,String[]selectionArgs,StringgroupBy,Stringhaving,StringorderBy,Stringlimit)普通執(zhí)行數(shù)據(jù)表查詢20publicCursorquery(Stringtable,String[]columns,Stringselection,String[]selectionArgs,StringgroupBy,Stringhaving,StringorderBy)普通執(zhí)行數(shù)據(jù)表查詢21publicCursorrawQuery(Stringsql,String[]selectionArgs)普通執(zhí)行指定SQL語(yǔ)句SQLiteDatabase1屬性方法核心接口SQLiteOpenHelper:抽象類,必須被繼承覆寫(xiě)使用步驟:繼承該類覆寫(xiě)相應(yīng)抽象方法,生成管理數(shù)據(jù)庫(kù)輔助類調(diào)用getReadableDatabase()、getWritableDatabase(),獲得SQLiteDatabase對(duì)象執(zhí)行SQL語(yǔ)句,完成CRUD操作回調(diào)方法OnCreate():第一次使用DB使調(diào)用,由getReadbableDatabase或getWritableDababase觸發(fā)OnUpdate():DB升級(jí)時(shí)調(diào)用,通常先刪除舊表,再調(diào)用OnCreate新建表open():DB打開(kāi)是調(diào)用,一般無(wú)需覆寫(xiě)SQLiteOpenHelper2No.方法類型描述1publicSQLiteOpenHelper(Contextcontext,Stringname,SQLiteDatabase.CursorFactoryfactory,intversion)構(gòu)造指明要操作數(shù)據(jù)庫(kù)名稱以及版本編號(hào)2publicsynchronizedvoidclose()普通關(guān)閉數(shù)據(jù)庫(kù)3publicsynchronizedSQLiteDatabasegetReadableDatabase()普通只讀方式創(chuàng)建或打開(kāi)DB4publicsynchronizedSQLiteDatabasegetWritableDatabase()普通修改方式創(chuàng)建或打開(kāi)DB5publicabstractvoidonCreate(SQLiteDatabasedb)普通創(chuàng)建數(shù)據(jù)表6publicvoidonOpen(SQLiteDatabasedb)普通打開(kāi)數(shù)據(jù)表7publicabstractvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion)普通更新數(shù)據(jù)表SQLiteOpenHelper2屬性方法核心接口ContentValuesandroid.content.ContentValues封裝數(shù)據(jù),用于SQLiteDatabase類CRUD操作功能與HashMap類的功能類似采用“key-value”的形式保存數(shù)據(jù)注意:key是String型,value是基本數(shù)據(jù)類型的包裝類ContentValue3SQLiteDatabase類方法操作DB,必須使用ContentValues進(jìn)行數(shù)據(jù)封裝,類似HashMap
No.常量及方法描述1publicContentValues()創(chuàng)建ContentValues類實(shí)例2publicvoidclear()清空全部的數(shù)據(jù)3publicvoidput(Stringkey,包裝類value)設(shè)置指定字段(key)數(shù)據(jù),如:Integer、Double4publicIntegergetAs包裝類(Stringkey)根據(jù)key取得數(shù)據(jù),如:getInteger()、getDouble()5publicintsize()返回保存數(shù)據(jù)的個(gè)數(shù)ContentValue3屬性方法核心接口Cursorandroid.database.Cursor用于數(shù)據(jù)庫(kù)檢索操作時(shí),封裝查詢結(jié)果,并完成對(duì)結(jié)果集隨機(jī)讀寫(xiě)訪問(wèn)操作功能類似于JDBC中的ResultSet接口結(jié)果集讀寫(xiě)訪問(wèn)方法:isAfterLast()、moveToNext()、moveToFirst()使用步驟:使用moveToFirst()方法,將結(jié)果集指針?lè)旁诘谝恍?;使用isAfterLast()方法,判斷是否還有數(shù)據(jù),如有,則取出使用moveToNext()將指針向下移動(dòng),并繼續(xù)使用isAfterLast()方法判斷Cursor4實(shí)現(xiàn)數(shù)據(jù)庫(kù)檢索結(jié)果集的隨機(jī)讀寫(xiě)訪問(wèn)操作No.常量及方法描述1publicabstractvoidclose()關(guān)閉查詢2publicabstractintgetCount()返回查詢的數(shù)據(jù)量3publicabstractintgetColumnCount()返回查詢結(jié)果之中列的總數(shù)4publicabstractString[]getColumnNames()得到查詢結(jié)果之中全部列名5publicabstractStringgetColumnName(intcolumnIndex)得到指定索引位置列名6publicabstractbooleanisAfterLast()判斷結(jié)果集指針是否在最后一行之后7publicabstractbooleanisBeforeFirst()判斷結(jié)果集指針是否在第一行之前8publicabstractbooleanisClosed()判斷結(jié)果集是否已關(guān)閉Cursor4屬性方法No.常量及方法描述9publicabstractbooleanisFirst()判斷結(jié)果集指針是否指在第一行10publicabstractbooleanisLast()判斷結(jié)果集指針是否指在最后一行11publicabstractbooleanmoveToFirst()將結(jié)果集指針移到第一行12publicabstractbooleanmoveToLast()將結(jié)果集指針移動(dòng)到最后一行13publicabstractbooleanmoveToNext()將結(jié)果集指針向下移動(dòng)一行14publicabstractbooleanmoveToPrevious()將結(jié)果集指針向前移動(dòng)一行15publicabstractbooleanrequery()更新數(shù)據(jù)后刷新結(jié)果集中的內(nèi)容16publicabstractintgetXxx(intcolumnIndex)根據(jù)指定列的索引取得指定的數(shù)據(jù)Cursor4屬性方法使用方式SQLiteDatabase:封裝操作DBAPI創(chuàng)建SQLiteDatabase對(duì)象調(diào)用openOrCreateDatabase(),創(chuàng)建打開(kāi)DB執(zhí)行SQL語(yǔ)句,完成數(shù)據(jù)表增、修、刪、查等SQLiteOpenHelper:抽象類通過(guò)繼承該類,生成管理數(shù)據(jù)庫(kù)輔助類調(diào)用getReadableDatabase()、getWritableDatabase()回調(diào)OnCreate()OnUpdate()open()等,以獲得可讀寫(xiě)SQLiteDatabase對(duì)象Context.openOrCreateDatabas
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校供餐服務(wù)合同(3篇)
- 駕駛員聘用合同(28篇)
- 夫妻起草離婚協(xié)議書(shū)
- 房地產(chǎn)交易合同書(shū)
- 印刷品采購(gòu)合同
- 人工智能與教育融合合作協(xié)議
- 建設(shè)工程轉(zhuǎn)讓合同
- 合伙入股協(xié)議書(shū)分紅
- 體育行業(yè)智能賽事管理與運(yùn)動(dòng)訓(xùn)練方案
- 基于大數(shù)據(jù)分析的企業(yè)決策支持系統(tǒng)合作協(xié)議
- 2024-2025年第二學(xué)期學(xué)校教導(dǎo)處工作計(jì)劃(二)
- 2025年蘇州衛(wèi)生職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 二零二五年度博物館場(chǎng)地租賃與文物保護(hù)合作協(xié)議3篇
- 2025年春新人教版歷史七年級(jí)下冊(cè)全冊(cè)課件
- 2024年鐘山職業(yè)技術(shù)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 震旦ad188維修手冊(cè)
- 五金英語(yǔ)詞匯盤(pán)點(diǎn)
- 內(nèi)容講義說(shuō)明案例nxt pop trainning
- 2021年羽毛球比賽規(guī)則及裁判手勢(shì)
- 現(xiàn)代科學(xué)技術(shù)概論復(fù)習(xí)重點(diǎn)
- 入職申請(qǐng)表完整版
評(píng)論
0/150
提交評(píng)論