2014-07-23 44 views
0

我有一個查詢,如果我跑我的模擬器任何Android應用程序,我可以從如何在Android移動設備上訪問Android應用程序數據庫?

數據檢查它的數據庫 - >數據 - >包名的文件夾 - >數據庫 - >數據庫名稱.db文件

,然後用

SQLite的瀏覽器

但如果我WA訪問它nt訪問我的Android移動設備上的數據庫,我該怎麼做。我搜索了很多,但可以找到如何訪問或查看特定應用程序的Android移動設備中的數據庫。任何幫助將appriciated。

回答

2

您只能從模擬器訪問sqlite.db。由於安全限制,您無法從移動電話查看數據庫。

我有這個相同的要求,並在搜索中發現,使用根目錄設備時可能。然後我想出了這個選擇。

  1. 測試模擬器上的所有移動SQLite數據相關的東西。
  2. 在通過USB連接的手機上進行測試時,記錄從手機的SQLite訪問的所有數據,以便它可以在logcat中查看。
+0

Rooted Device是什麼意思? –

5

另一種解決方法是將數據庫複製到SD卡,並從那裏

訪問它來複制數據庫文件:

File sd = Environment.getExternalStorageDirectory(); 
File data = Environment.getDataDirectory(); 
FileChannel source = null; 
FileChannel destination = null; 
String currentDBPath = "/data" + context.getPackageName() + "/databases/" + DATABASE_NAME; 
String backupDBPath = FOLDER_NAME + NEW_DATABASE_NAME; 
File currentDB = new File(data, currentDBPath); 
File backupDB = new File(sd, backupDBPath); 
try { 
    source = new FileInputStream(currentDB).getChannel(); 
    destination = new FileOutputStream(backupDB).getChannel(); 
    destination.transferFrom(source, 0, source.size()); 
    source.close(); 
    destination.close(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

現在,你有你需要的數據庫文件在給定位置在由backupDBPath指定的SD卡中。它可以通過SQLite瀏覽器通過拉取db文件或使用Eclipse插件http://www.4shared.com/file/usHZdRdz/comquestoidsqlitemanager_100.html?locale=en來訪問,通過它可以在Eclipse自身內部訪問它。

+0

這也可以在植根設備中完成 – vineetv

相關問題