[英]Android How can I see my SQLite?
我使用Eclipse打開data/data/your.package.name/databases
,但data
沒有任何內容。
有人說我沒有獲得“ root特權”。
如何查看我的SQLite?
我認為,最簡單的方法是在您的應用中編寫一個小函數,該函數將/data/.../etc
復制到/sdcard/
或其他位置。
之后,您將能夠從計算機中打開該數據庫。
這是一個完整的答案,如何將文件復制到SDCard: https : //stackoverflow.com/a/19093736/2891426
我將在一個全新的類中實現此功能,並創建一個調用此按鈕的按鈕。 或類似的東西。
您可以從此處下載一個小型Windows應用程序,以瀏覽數據庫文件: http : //sqlitebrowser.org/
您確實需要root用戶訪問權限才能查看設備上的數據庫。 但是,您可以使用仿真器而不是物理設備,這將使您能夠在Eclipse中瀏覽數據庫。
您無需具有root特權即可訪問外部存儲。 但是您需要內部存儲。 在ddms的eclipse中,轉到android / data / yourpackage,在那里您應該找到您的應用創建的所有文件。 如果沒有文件,則沒有數據庫。 找到數據庫后,您可以使用sqliteman查看其內容http://sourceforge.net/projects/sqliteman/files
最好的解決方案是使用內部存儲,然后在要訪問它時將其導出到外部。 看這里: https : //stackoverflow.com/a/19093736/2026478
public void exportDatabse(String databaseName) {
try {
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
if (sd.canWrite()) {
String currentDBPath = "//data//"+getPackageName()+"//databases//"+databaseName+"";
String backupDBPath = "backupname.db";
File currentDB = new File(data, currentDBPath);
File backupDB = new File(sd, backupDBPath);
if (currentDB.exists()) {
FileChannel src = new FileInputStream(currentDB).getChannel();
FileChannel dst = new FileOutputStream(backupDB).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
}
}
} catch (Exception e) {
}
}
您應該使用SQLiteBrowser來輕松訪問數據庫。 您可以從此處下載http://sqlitebrowser.org/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.