2012-03-30 3 views
1

Могу ли я получить путь к БД и имя с этим?Как получить путь и имя базы данных

Paths.getDbPath(); 

Paths.getDbName(); 

Я думаю, что если мы используем базу данных в нашем приложении, можем ли мы сохранить это в папке с ресурсами и переименовать ее?

+0

«Контуры» не является классом в Android рамки, так что нет никакого способа, чтобы ответить на ваш вопрос, не вы говорили нам, где вы получили его от. – bos

+0

private static String DB_PATH = Paths.getDbPath(); private static String DB_NAME = Paths.getDbName(); Я видел эту строку кода в одном из проектов – RMH

+0

Вы * все еще не сообщили нам, откуда вы получаете класс. – bos

ответ

2

Я не знаком с Paths, поэтому я не могу ответить на ваш вопрос. Но я могу сказать вам, как скопировать БД на активы

Метод в 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, если мы сохраняем нашу БД в папке активов, то как мы можем получить его в нашем коде. Будет ли описанный выше метод? – RMH

0

Вы можете найти путь DB, используя ниже код:

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/"; 
      } 
Смежные вопросы