SQLITE数据库在设备上的位置在哪里?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (79)

我以编程的方式创建了sqite数据库,并采用了默认的扩展方式SQLiteOpenHelper和压倒一切onCreate()...。这样,在需要时就可以动态创建db。

我想在我的OSX机器上用sqite浏览器检查db文件的内容。我知道db文件的名称,但我在设备上找不到它。我已经通过USB连接到设备上,并使用查找器和终端进行查找,但我只是找不到db文件。

Android设备上SQLite数据库的默认位置是什么?

提问于
用户回答回答于
File f=new File("/data/data/your.app.package/databases/your_db.db3");
FileInputStream fis=null;
FileOutputStream fos=null;

try
{
  fis=new FileInputStream(f);
  fos=new FileOutputStream("/mnt/sdcard/db_dump.db");
  while(true)
  {
    int i=fis.read();
    if(i!=-1)
    {fos.write(i);}
    else
    {break;}
  }
  fos.flush();
  Toast.makeText(this, "DB dump OK", Toast.LENGTH_LONG).show();
}
catch(Exception e)
{
  e.printStackTrace();
  Toast.makeText(this, "DB dump ERROR", Toast.LENGTH_LONG).show();
}
finally
{
  try
  {
    fos.close();
    fis.close();
  }
  catch(IOException ioe)
  {}
}

要做到这一点,应用程序必须拥有访问SD卡的权限,然后将以下设置添加到您的int.xml中

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
用户回答回答于

您可以找到您创建的数据库,名为<your-database-name>

//data/data/<Your-Application-Package-Name>/databases/<your-database-name>

使用文件资源管理器将其取出,并将其重命名为具有.db3扩展名,以便在SQLiteExplorer中使用

使用DDMS的文件资源管理器导航到模拟器目录。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励