在Android開發(fā)中,如果用到數(shù)據(jù)庫來儲(chǔ)存數(shù)據(jù)灿里,那么難免就要查看數(shù)據(jù)庫中的內(nèi)容关炼,可是對于未root的真機(jī)來說,查看數(shù)據(jù)庫就不是那么容易了匣吊,如果僅僅為了查看數(shù)據(jù)庫再把手機(jī)root了儒拂,有點(diǎn)得不償失寸潦,所以下面的就提供了一中不用root也可查看數(shù)據(jù)庫的方法,供需要的朋友參考社痛。
- 進(jìn)入adb所在的目錄见转,打開cmd窗口,輸入
adb shell
- 繼續(xù)輸入
run-as 應(yīng)用的包名
- 然后輸入
cd databases
- 最后輸入
ls
查看數(shù)據(jù)庫的名字
截圖如下:
如圖蒜哀,我的數(shù)據(jù)庫名字為 app.db斩箫,然后利用以下代碼把數(shù)據(jù)庫文件移動(dòng)到我們可以訪問的文件夾下面
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ù)庫文件復(fù)制到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();
}
}
}
然后下一個(gè)可以查看數(shù)據(jù)庫文件的工具,就可以查看數(shù)據(jù)庫的內(nèi)容了撵儿。希望可以幫到你~
ps:自己開發(fā)了一個(gè)制作二維碼的小應(yīng)用校焦,有興趣的朋友可以試一試~ _ 創(chuàng)意二維碼制作