2012-03-30 64 views
1

我可以通過它獲取數據庫路徑和名稱嗎?如何獲取數據庫路徑和名稱

Paths.getDbPath(); 

Paths.getDbName(); 

我想如果我們在我們的應用程序中使用數據庫,我們可以將它存儲在assets文件夾中並重命名它嗎?

+0

「路徑」是不是在Android框架類,所以沒有辦法回答你的問題,沒有你告訴我們你來自哪裏,知道了。 – bos 2012-03-30 11:06:31

+0

private static String DB_PATH = Paths.getDbPath(); private static String DB_NAME = Paths.getDbName();我在項目 – RMH 2012-03-30 11:09:06

+0

的其中一個項目中看到了這行代碼。你現在*還沒有告訴我們你從哪裏獲得課程。 – bos 2012-03-30 11:18:20

回答

2

我不熟悉路徑,所以我無法回答你的問題。 但我可以告訴你如何將數據庫拷貝到資產

方法DBHelper

public void exportDatabase(String destin) throws IOException { 

    File sourceFile = new File(getReadableDatabase().getPath());  
    File destinationDir = new File(Environment.getExternalStorageDirectory(), "DBNAME"); 
    FileUtils.copyFileToDirectory(sourceFile, destinationDir); 


    String sourcetemp = "source.db"; 
    String destintemp = destin + ".db"; 
    File from = new File(destinationDir, sourcetemp); 
    File to = new File(destinationDir, destintemp); 
    try { 
     from.renameTo(to); 
    } 
    catch (Exception e) { 
     Log.e(TAG, "Rename failed", e); 
    } 
} 

希望有所幫助你。

+0

ķ感謝you..And如果我們存儲在我們數據庫中的資產文件夾,然後我們如何在我們的code.will上面的方法工作檢索它? – RMH 2012-03-30 11:19:06

0

您可以使用下面的代碼查找數據庫路徑:

if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR1) 
{ 
       DB_PATH = context.getApplicationInfo().dataDir + "/databases/";   
      } 
      else 
      {    
DB_PATH = "/data/data/" + context.getPackageName() + "/databases/"; 
      } 
相關問題