我有一個查詢,如果我跑我的模擬器任何Android應用程序,我可以從如何在Android移動設備上訪問Android應用程序數據庫?
數據檢查它的數據庫 - >數據 - >包名的文件夾 - >數據庫 - >數據庫名稱.db文件
,然後用
SQLite的瀏覽器
但如果我WA訪問它nt訪問我的Android移動設備上的數據庫,我該怎麼做。我搜索了很多,但可以找到如何訪問或查看特定應用程序的Android移動設備中的數據庫。任何幫助將appriciated。
我有一個查詢,如果我跑我的模擬器任何Android應用程序,我可以從如何在Android移動設備上訪問Android應用程序數據庫?
數據檢查它的數據庫 - >數據 - >包名的文件夾 - >數據庫 - >數據庫名稱.db文件
,然後用
SQLite的瀏覽器
但如果我WA訪問它nt訪問我的Android移動設備上的數據庫,我該怎麼做。我搜索了很多,但可以找到如何訪問或查看特定應用程序的Android移動設備中的數據庫。任何幫助將appriciated。
您只能從模擬器訪問sqlite.db。由於安全限制,您無法從移動電話查看數據庫。
我有這個相同的要求,並在搜索中發現,使用根目錄設備時可能。然後我想出了這個選擇。
另一種解決方法是將數據庫複製到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自身內部訪問它。
這也可以在植根設備中完成 – vineetv
Rooted Device是什麼意思? –