Android23之輕量級數據庫存儲(Sqlite)

Sqlite數據庫:關係型數據庫
    一、特點與描述:
                1、Sqlite數據庫,是一個非常輕量的關係型數據庫(意思就是非常小,只佔用內存的200多K),Android框架已經嵌入了sqlite原生庫,
               2、 sqlite3支持的數據類型:null、integer、text、real(實數)、blob(二進制大數據)  也支持其他的類型:varchar、nVarchar、decimal等,使用其他的類型會轉化相對應的類型.
               
                3、支持的操作:支持標準sql語句、表、視圖、觸發器、事務等
               
                4、以文件的形式存放數據庫文件,存放的是用戶的私有數據,位置:/data/data/<packagename>/databases
                
               5、 兩個重要的API:SqliteOpenHelper、 SQLiteDatabase

    二、訪問數據庫的流程
                1、通過SqliteOpenHelper來創建或打開數據庫, 編寫類,繼承SqliteOpenHelper
                                構造方法:作用是創建和打開數據庫
                                onCreate():當數據庫第一次創建的時候,回調此方法,初始化數據庫,例如:創建表
                                onUpgrade:數據庫版本的更新方法    
圖片
                2、通過SQLiteDatabase對象來操縱數據庫
                            -增刪改查操作,都必須藉助SQLiteDatabase對象
                            -獲取SQLiteDatabase:SqliteOpenHelper.getReadableDatabase() 或者SqliteOpenHelper.getWriteableDatabase()
                                        兩種方式的區別:Read..這種:只讀取數據庫中的數據,則使用它更好,例如查詢   Write...:需要操作數據庫中的數據,例如:增刪改
                            -事務:不可分割,原子性   ,共進退  : 取錢 : 在賬號扣錢   atm 拿到錢   其中任何一步出現異常,都會進行回滾操作,也就是恢復到原來的樣子,  例子:模擬銀行轉賬

                爲了更好的說明步驟2,請下如下圖
                            寫一個工具類DBUtils:進行數據庫的操作,增刪改查,事務等
//其中構造方法就將new DBHelper(繼承自SqliteOpenHelper),拿到DBHelper的對象helper,因爲每個方法中都需要使用該對象從而得到SQLiteDatabase對象來操作數據庫

圖片


增加數據操作
圖片

修改數據操作
圖片

刪除數據操作
圖片


//查詢數據操作,
圖片

//查詢操作,對遊標的使用,
圖片

//事務的使用
圖片

接下來使用測試類來測試這些方法是否有用,測試類請看前面的文章,
        
//插入操作測試
圖片

//刪除操作測試
圖片
//查詢方法測試

圖片
//更新數據方法測試

圖片

//事務測試
圖片



如何得知操作是否正確進行了呢? 兩種方法
                第一種方法:/data/data/<包名>/databases/   在此目錄下有創建好的數據庫,將其導出來,利用別的軟件將其打開,
圖片


                第二種方法:通過 sqlite3命令來查看數據庫中的數據
                                 - 進入linux環境  adb shell
                                  - 進入到當前包的/databases/目錄
                                                    cd /data/data/com.wuhao. sqlitetest/
                                  - sqlite3 itcast.db
                                  - 寫sql語句

            在進入linux環境 adb shell 時有些人會遇到這個問題, 出現此問題原因有二,一是你可能沒打開android虛擬設備,二連接中斷了, 解決方法,打開android虛擬設備, 重新連接Reset adb
圖片

正確進入linux環境下,如圖所示:
圖片

使用cd 進入到/data/data/目錄下, 可以利用ls查看到當前目錄下所有的文件
使用了 這兩步命令: ①cd /data/data/     ② ls
圖片

在進入到目標包名下的databases,在利用ls查看目錄底下有什麼東西,我的包名是com.wuhao.sqlitetest ,你們的不一樣,
命令:①cd com.wuhao.sqlitetest/databases    ②ls
圖片

能看到我們所創建的數據庫名了,使用命令:sqlite3 book_db;  進入該數據庫中
圖片
           
這樣就成功進入到數據庫中了,接下來就編寫數據庫語句就可以了,例如,查詢所有數據,(前提是該數據庫中有數據,不然查不到)
圖片

這樣就可以檢驗我們編寫的那些操作是否正確執行了,
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章