2015-07-13 87 views
1

我正在編寫一個SQLite數據庫的Android應用程序在後臺。 該數據庫中獲取由應用程序創建的,並存儲在設備上的默認目錄:從Android應用程序調試SQLite數據庫

[email protected]: ls /data/data/com.package.example/databases # 
MyDb.db 
MyDb.db-journal 

在開發過程中我想測試一下,如果行被插入/正確更新,所以我需要去看看在數據庫上。有一個非常好的工具叫做SQLite Database Browser(適用於Win,Mac和Linux)。

有了這個工具,我可以打開數據庫,瀏覽,插入和更新的行等等... 的問題是,我首先需要將數據庫從設備複製到我的本地機器:

# On Android Shell 
# (Cannot pull directly from /data/-directory) 
cp /data/data/com.package.example/databases/MyDb.db /sdcard/ 


# On developing machine 
adb pull /sdcard/MyDb.db 

比我有我的機器上的數據庫,我終於可以打開它。

我的問題是:有沒有更好/更快的方法呢?我可以以某種方式直接訪問設備上的數據庫?

+0

如果您可以寫入數據庫,也可以從中讀取數據。所以從它讀取,看看是否一切正常。 – greenapps

回答

3

有一個命令行版本sqlite3可用,它允許您直接訪問/查看/修改Android設備上的adb(root)shell中的SQLite數據庫,而無需將數據庫複製到您的計算機。

當然,你需要在設備上的根,否則你不能訪問數據庫內的應用程序私人目錄。

編輯:一些Android SQLite工具似乎實現了類似遠程接口或GUI的命令行sqlite3工具,如上所述。我沒有測試過它,但SQLiteStudio與它的DBAndroid plugin組合似乎提供了從PC訪問Android手機上數據庫的GUI訪問(不復制數據庫)。不幸的是,插件是不是免費的(商業)

+0

謝謝!聽起來很不錯,我會檢查一下。 –

+1

我今天發表評論,因爲我主動使用這個工具(SQLiteStudio + DBAndroid),它現在是免費的和GPL,但你可以捐贈給作者。 他非常反應! –

2

這是最好的庫,我發現調試數據庫

https://github.com/amitshekhariitbhu/Android-Debug-Database

無需下載任何文件。簡單的整數。簡單瀏覽器視圖。

Android調試數據庫可以做什麼?

  • 查看所有數據庫。
  • 查看您的應用程序中使用的共享偏好 中的所有數據。
  • 在給定數據庫上運行任何sql查詢以更新和刪除數據。
  • 直接編輯數據庫值。
  • 直接編輯共享首選項。
  • 直接在數據庫中添加一行。
  • 在共享首選項中直接添加鍵值。
  • 刪除行和共享首選項。
  • 在您的數據中搜索。排序數據。
  • 下載數據庫。

在應用程序中使用Android的調試數據庫庫

添加到您的應用程序的的build.gradle

debugCompile 'com.amitshekhar.android:debug-db:1.0.1' 

ScreenShot

希望這會有所幫助。

+0

它是否適用於仿真器以及真實設備? –

相關問題