2017-07-04 38 views
0

我想知道如何管理android系統中的sqlite數據庫。 當我使用SQLiteDatabase保存數據時,它在android系統中保存在哪裏?在Android系統中管理sqlite?

我想知道它,因爲當我通過sqlite保存數據時,其他開發人員是否可以打開並更改它?

謝謝。

+0

作爲數據文件夾中的文件。 – EpicPandaForce

回答

2

它在您的手機內部存儲保存爲你的數據庫名稱的文件:

目錄爲:(內部存儲路徑)..../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/"; 
     } 
    } 
0

通過android中的SQLite保存的數據保存在你的android設備的data-> data - >(你的包名) - > database - >(你的數據庫名)中。如果您選擇了PRIVATE模式,其他應用程序和開發人員無法訪問您的數據庫。您可以使用ANDROID DEVICE MANAGER訪問該數據庫,您可以從Tools-> Android-> Android設備管理器打開該設備管理器。它會在你的android studio中打開一個eclipse DDMS。您可以打開文件瀏覽器,然後轉到你的數據庫的目錄,並從那裏拉

+0

如何訪問數據 - >數據 - > ...我無法訪問。 – KDEV

+0

首先,您必須打開Android設備管理器(這將打開DDMS的eclipse透視圖,您可以在其中訪問模擬器上的文件)。在該透視圖打開後,只需單擊文件資源管理器並選擇數據文件夾 – Chanchrik

+0

在DDMS的文件資源管理器中看到此文件後,必須使用右上方的按鈕來說明該文件。並將其保存到您想要的任何位置 – Chanchrik