Ⅰ 如何在android中使用sqlite資料庫
android 中SQliteDatabase資料庫使用SQLiteOpenHelper輔助類來創建SQLite資料庫視圖,如下代碼:
create view 表名 as 定義
SQLiteOpenHelper類是一個輔助類,用於創建或打開資料庫。
該類的使用方法一般是自定義一個子類,繼承自SQLiteOpenHelper,並覆寫其中最關鍵的兩個方法:onCreate(SQLiteDatabase db)和onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)。當新建一個資料庫時會調用前者,一般在裡面做一些創建表或視圖的操作。資料庫版本升級時則會調用後者。
定義好子類後(假如叫SqlHelper),只要調用SqlHelper對象的getReadableDatabase()方法或getWritableDatabase()方法即可返回一個SQLiteDatabase對象。如果是第一次調用,則會創建資料庫。隨後可使用SQLiteDatabase對象的方法進行數據操作,如:execSQL(), insert(), update(), query(), rawQuery(), delete()等。
Ⅱ 怎麼查看安卓sqlite資料庫
打開android項目的調試模式,然後找到顯示DDMS 選擇DDMS 切換到DDMS,顯示File Explorer窗口,找到/data/data/ 啰嗦一句,你可能在你自己的eclipse沒找到,File Explorer ,如果找不到的話,就去網上下載,"easyExplorer",放在eclipse的plugins目錄下:就OK了,重啟一下。 然後找到自己用的程序包的文件夾,打開databases,就看到sqlite資料庫文件了,然後到處就可以了。步驟上面標注好了,1,2,3。這樣就把sqlite資料庫文件以文件的方式導出來了,然後使用sqlite界面管理工具如sqlite administrator、sqlite man或者firefox插件sqlite manager等打開就可以了。 說一下另外一種方法,運行cmd,切換到android-sdk目錄,運行adb.exe,加上參數shell,出現#號就代表進入了shell命令模式,注意adb要在Android模擬器運行時才能進入shell:(必須要用root許可權,如果不是root許可權,去查詢別的資料,一般都是root許可權。OK了) 上面的不走還算詳細吧,大家應該了解了吧,我也是菜鳥,被逼著走過來的,加油。YES,我也可以的。 Android開發怎麼查看和管理sqlite資料庫
Ⅲ android系統sqlite資料庫文件怎麼打開
切換到ddms,顯示file
explorer窗口,找到/data/data/然後找到自己用的程序包的文件夾,打開databases,就看到sqlite資料庫文件了,然後到處就可以了。步驟上面標注好了,1,2,3。這樣就把sqlite資料庫文件以文件的方式導出來了,然後使用sqlite界面管理工具如sqlite
administrator、sqlite
man或者firefox插件sqlite
manager等打開就可以了。
Ⅳ android 怎麼查看sqlite資料庫
在Android中查看和管理sqlite資料庫
在Android中可以使用Eclipse插件DDMS來查看,也可以使用Android工具包中的adb工具來查看。android
項目中的sqlite資料庫位於/data/data/項目包/databases中。
使用DDMS導出sqlite資料庫。
1、首先打開android項目的調試模式,然後找到顯示DDMS:
選擇DDMS
2、切換到DDMS,顯示File Explorer窗口,找到/data/data/
然後找到程序包的文件夾,打開databases,就能看到sqlite資料庫文件了。選擇將其導出。
這樣就把sqlite資料庫文件以文件的方式導出來了,然後使用sqlite界面管理工具如
sqlite administrator、sqlite man或者firefox插件sqlite manager等打開就可以了。
使用adb工具訪問sqlite資料庫
Android Debug Bridge(ADB)是Android的一個通用調試工具,它可以更新設備或模擬器中的代碼,
可以管理預定埠,可以在設備上運行shell命令,我們知道android是基於linux內核,它的內部
文件結構也是採用linux文件組織方式,因此訪問它的文件結構需要使用shell。這次我們就會用shell
來訪問android應用中的sqlite資料庫文件。
1、運行cmd,切換到android-sdk目錄,運行adb.exe,加上參數shell,出現#號就代表進入了shell
命令模式,注意adb要在Android模擬器運行時才能進入shell:
2、shell命令記住兩個基本命令ls和cd,類似windows命令提示行中的dir和cd,代表列出當前目錄下
文件列表和進入到指定目錄。了解這兩個命令之後,就可以找到data/data/項目包名/databases:
找到資料庫文件:
接下來就是使用sqlite管理工具來進行操作了。鍵入sqlite3 資料庫名就進入了sqlite管理模式了。
在android的sdk中自帶了sqlite3.exe,這是sqlite的官方管理工具,它是一個命令行工具。為了使用
方便,將其路徑注冊到系統環境變數path中,即將;%Android_Home%加在Path中,這樣只樣運行sqlite3
,就能直接打開sqlite管理工具了。
sqlite管理資料庫篇
sqlite命令行工具默認是以;結束語句的。所以如果只是一行語句,要在末尾加;,或者在下一行中鍵入
;,這樣sqlite命令才會被執行。
sqlite常用命令:
.tables--查看資料庫的表列表
.exit--退出sqlite命令行
其他命令可隨時.help查看幫助。sql命令可直接在此命令行上執行即可
Ⅳ 怎樣使用sqlite expert管理android手機sqlite資料庫
在網上找了大把大把的資料、還是沒能怎麼弄清楚關於SQLite升級。固把一些網上找到的資料跟自己摸索出來的東西一起發出來。望有厲害的前輩能夠指點一二。 先上網上一些高手的資料:blog/yaya_soft/article/details/17089353 、 /topic/1127838。 其中我所在的情況跟第三位前輩所遇到的情況一樣, 先說Android SQLite吧, Android系統本身自帶了一個建立SQLite的工具SQLiteOpenHelper、我們只要繼承它,裡面有幾個重寫的方法。 為了方便快捷、我只列出了onCreate方法跟onUpgrade方法。 onCreate方法是我們第一次創建資料庫的時候會調用,onUpgrade()是我們資料庫版本號不一樣的時候會調用。網上很多資料都說如果要進行資料庫升級,那就直接在onUpgrade裡面寫你所需要的進行的操作。比如: 至於裡面代碼具體的作用可以參照上面第一 第二個鏈接,裡面有詳細解釋。 本人的情況是:本人使用外帶的可視化工具直接把資料庫跟表都已經建立好了,直接復制在raw目錄下面。就沒有通過系統自帶的方法來建立資料庫跟表。於是網上找資料一直不明白他們所謂的 在onUpgrade裡面進行升級。 因為本人代碼壓根就沒onUpgrade方法可以使用。 完了在網上找到各種資料、最終明白:無論你是用系統自帶的SQLiteOpenHelper工具建立資料庫跟表、還是使用外帶工具。如果你要進行資料庫升級。你所需要的操作都是一樣的。只是系統自帶的裡面有onUpgrade()方法直接調用。而用外帶工具的話你肯定也有一個自己寫的SQLite操作類、只是使用自己寫的操作類的話、onUpgrade()方法也是我們自己寫。 反正裡面要進行的操作都是一樣的。 現在就看看如何進行資料庫升級。 關於這塊代碼、如果你使用自己寫的SQLite操作類,那你一看就明白。我們只需要得到db對象。就可以使用 db.execSQL("ALTER TABLE Subscription ADD COLUMN Activation BLOB"); 這個和SQLiteOpenHelper裡面onUpgrade()方法裡面的操作是一樣的;同樣是升級資料庫的操作。 接下來就說說怎麼判斷資料庫需要升級、這個就是涉及到版本匹配了、 再看這塊代碼、我們只要拿到db對象、就可以拿到db對應的版本、同時也可以更新db 的版本。完了我們可以參照上面鏈接中第三位前輩的方法、把我們最新的資料庫版本定義在versionCode在AndroidManifest.xml文件中。 這樣你最新資料庫版本跟以前資料庫版本都有了 、就可以判斷更新不更新。這里解釋下關於外帶資料庫的一些事情: 外帶數據即我們通過sqlite expert professional可視化 工具建立一個sqlite.db文件、同時把文件放在raw目錄下、我們每次進行資料庫操作的時候就會先把raw目錄下的sqlite.db復制到手機裡面的路徑下(如果手機路徑裡面存在sqlite.db就不復制)、完了以後每次取資料庫都是從手機路徑裡面取的。如果我們raw目錄下的sqlite.db進行了更新(我們自己把數據表改下、直接替換 ).同時我們的apk版本進行升級更新的時候覆蓋安裝apk。我們手機目錄下的sqlite.db是不會更新的,還是舊版本。 但是我們raw目錄下的sqlite.db是新版本。這個時候也不會再復制到手機。 這就需要我們把手機目錄下的sqlite.db替換成raw目錄下的。 寫到這里我又想起一個事情:以前有位同事問為什麼要把raw目錄下的sqlite.db復制到手機、然後又操作手機路徑下的sqlite.db 這不是多此一舉嗎。他說可以把sqlite.db放在assets目錄下、不復制到手機路徑。直接就是操作assets目錄下的sqlite.db,這樣每次資料庫更新就直接替換assets目錄下的sqlite.db。 我不知道放在assets目錄下的好處、同時也不知道放在raw 然後復制到手機路徑的好處。 這些我都不知道(望高人指點), 我只知道反正就是不能直接替換salite.db , 直接替換的話就是把舊版本的sqlite.db刪除、再安裝新版本的sqlite.db。 如果這樣操作的話好像以前的數據都會丟失、就好像卸載重裝一樣。 無論何種方式我們要想保留數據都要進行數據的轉移。關於數據轉移前面給的鏈接中有。這里就不多討論了。 發這篇文章只是自己搞這塊的時候,一直被網上說的在onUpgrade()方法中直接更新搞糊塗了。 在這里記下來、免得下次不記得。