在Android開發(fā)中,如果用到數(shù)據(jù)庫來儲存數(shù)據(jù),那么難免就要查看數(shù)據(jù)庫中的內(nèi)容,可是對于未root的真機來說,查看數(shù)據(jù)庫就不是那么容易了,如果僅僅為了查看數(shù)據(jù)庫再把手機root了,有點得不償失,所以下面的就提供了一中不用root也可查看數(shù)據(jù)庫的方法,供需要的朋友參考。
- 進入adb所在的目錄,打開cmd窗口,輸入
adb shell - 繼續(xù)輸入
run-as 應用的包名 - 然后輸入
cd databases - 最后輸入
ls查看數(shù)據(jù)庫的名字
截圖如下:

如圖,我的數(shù)據(jù)庫名字為 app.db,然后利用以下代碼把數(shù)據(jù)庫文件移動到我們可以訪問的文件夾下面
private void getDatabaseFiles(){
//找到文件的路徑 /data/data/包名/databases/數(shù)據(jù)庫名稱
File dbFile = new File(Environment.getDataDirectory().getAbsolutePath()+"/data/"+getPackageName()+"/databases/app.db");
FileInputStream fis = null;
FileOutputStream fos = null;
try {
//將數(shù)據(jù)庫文件復制到sd卡的根目錄
fis = new FileInputStream(dbFile);
fos = new FileOutputStream(Environment.getExternalStorageDirectory().getAbsolutePath()+"/app_test.db");
int len = 0;
byte[] buffer = new byte[2048];
while(-1!=(len=fis.read(buffer))){
fos.write(buffer, 0, len);
}
fos.flush();
} catch (Exception e) {
e.printStackTrace();
}finally {
//完成之后關(guān)閉輸入輸出流
try {
if (fos != null) fos.close();
if (fis != null) fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
然后下一個可以查看數(shù)據(jù)庫文件的工具,就可以查看數(shù)據(jù)庫的內(nèi)容了。希望可以幫到你~
ps:自己開發(fā)了一個制作二維碼的小應用,有興趣的朋友可以試一試~ _ 創(chuàng)意二維碼制作
