如何获取数据库路径和名称

时间:2012-03-30 10:42:31

标签: android database sqlite path

我可以用这个获得数据库路径和名称吗?

Paths.getDbPath();

Paths.getDbName();

我认为如果我们在应用程序中使用数据库,我们可以将它存储在assets文件夹中并重命名吗?

2 个答案:

答案 0 :(得分: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);
    }
}   

希望能帮到你。

答案 1 :(得分: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/";
            }