我想知道如何管理android系統中的sqlite數據庫。 當我使用SQLiteDatabase保存數據時,它在android系統中保存在哪裏?在Android系統中管理sqlite?
我想知道它,因爲當我通過sqlite保存數據時,其他開發人員是否可以打開並更改它?
謝謝。
我想知道如何管理android系統中的sqlite數據庫。 當我使用SQLiteDatabase保存數據時,它在android系統中保存在哪裏?在Android系統中管理sqlite?
我想知道它,因爲當我通過sqlite保存數據時,其他開發人員是否可以打開並更改它?
謝謝。
它在您的手機內部存儲保存爲你的數據庫名稱的文件:
目錄爲:(內部存儲路徑)..../Android/data/packageName/database/
但數據庫文件將不可見,但您可以將其寫入另一個路徑,然後用sqlite瀏覽器打開。
怎樣寫數據庫到另一個文件:
private void write() throws IOException {
File sd = Environment.getExternalStorageDirectory();
if (sd.canWrite())
{
String currentDBPath = DBHelper.DATABASE_NAME;
String backupDBPath= "QSDevice.db";
File currentDB = new File(getDBPath(), 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();
}
}
}
private String getDBPath() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
return getFilesDir().getAbsolutePath().replace("files", "databases") +
File.separator;
} else {
return getFilesDir().getPath() + getPackageName() + "/databases/";
}
}
通過android中的SQLite保存的數據保存在你的android設備的data-> data - >(你的包名) - > database - >(你的數據庫名)中。如果您選擇了PRIVATE模式,其他應用程序和開發人員無法訪問您的數據庫。您可以使用ANDROID DEVICE MANAGER訪問該數據庫,您可以從Tools-> Android-> Android設備管理器打開該設備管理器。它會在你的android studio中打開一個eclipse DDMS。您可以打開文件瀏覽器,然後轉到你的數據庫的目錄,並從那裏拉
作爲數據文件夾中的文件。 – EpicPandaForce