回答(15)

2 years ago

您可以找到您创建的数据库,名为

//data/data//databases/

使用File explorer将其拉出并重命名为.db3扩展名以在SQLiteExplorer中使用它

使用DDMS的File explorer导航到模拟器目录 .

2 years ago

为此,我做的是

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卡的权限,将以下设置添加到您的manifest.xml

不是很好的方式,但有效 .

2 years ago

Context包含许多路径函数:Context.getXXXPath()

其中一个是android.content.Context.getDatabasePath(String dbname),它返回名为dbname的数据库的绝对路径 .

Context ctx = this; // for Activity, or Service. Otherwise simply get the context.

String dbname = "mydb.db";

Path dbpath = ctx.getDatabasePath(dbname);

在这种情况下,返回的路径将类似于:

/data/data/com.me.myapp/databases/mydb.db

请注意,如果使用SQLiteOpenHelper打开数据库,则会自动生成此路径 .

2 years ago

如果你在谈论真实设备 /data/data/ 是无法访问的 . 你必须拥有root权限......

2 years ago

这是一个古老的问题,但回答可能有助于其他人 .

无法在非root设备上接收Android保存数据库的默认路径 . 因此,访问数据库文件(仅适用于调试环境)的最简单方法是修改类的构造函数:

public class MySQLiteOpenHelper extends SQLiteOpenHelper {

MySQLiteOpenHelper(Context context) {

super(context, "/mnt/sdcard/database_name.db", null, 0);

}

}

请记住使用以下行更改 生产环境 环境:

public class MySQLiteOpenHelper extends SQLiteOpenHelper {

MySQLiteOpenHelper(Context context) {

super(context, "database_name.db", null, 0);

}

}

2 years ago

/data/data/packagename/databases/

/data/data/com.example.program/databases/

2 years ago

SQLite数据库只是一个文件 . 您可以获取该文件,移动它,甚至将其复制到另一个系统(例如,从手机到工作站),它将正常工作 . Android将文件存储在 /data/data/packagename/databases/ 目录中 . 您可以使用Eclipse中的 adb command 或 File Explorer view ( Window > Show View > Other... > Android > File Explorer )来查看,移动或删除它 .

2 years ago

这可能会迟到但它会有所帮助 . 您可以通过adb访问数据库 without rooting您的设备

使用cmd启动adb并键入以下命令

-run-as com.your.package

-shell@android:/data/data/com.your.package $ ls

cache

databases

lib

shared_prefs

现在你可以从这里打开 .

2 years ago

如果将数据库命名为文件而不提供路径,那么获取其文件夹的最常用方法如下:

final File dbFile = new File(getFilesDir().getParent()+"/databases/"+DBAdapter.DATABASE_NAME);

其中 DBAdapter.DATABASE_NAME 只是 String ,如"mydatabase.db" .

Context.getFilesDir() 返回应用程序文件的路径,如: /data/data//files/ 这就是为什么需要 .getParent()+"/databases/" ,删除"files"并添加"databases" .

BTW Eclipse会警告你有关硬编码的"data/data/"字符串,但在这种情况下不会 .

2 years ago

By Default it stores to:

String DATABASE_PATH = "/data/data/" + PACKAGE_NAME + "/databases/" + DATABASE_NAME;

Where:

String DATABASE_NAME = "your_dbname";

String PACKAGE_NAME = "com.example.your_app_name";

并检查您的数据库是否存储到Device Storage . 如果是,您必须在Manifest.xml中使用权限:

2 years ago

您可以使用adb shell how-to访问它

来自以上链接的内容:

教程:如何使用命令行访问Android数据库 . 当您开始处理程序中的数据库时,能够直接在程序外部访问它,检查程序刚刚执行的操作以及调试是非常重要和有用的 . 而且在Android上也很重要 . 以下是如何做到这一点:1)启动模拟器(或将您的真实设备连接到PC) . 我通常从Eclipse启动我的一个程序 . 2)在android tools目录中启动命令提示符 . 3)输入adb shell . 这将在您的仿真器/连接设备上启动unix shell . 4)转到数据库所在的目录:cd data / data这里有你设备上所有应用程序的列表进入你的应用程序目录(注意,Unix是区分大小写的!)cd com.alocaly.LetterGame and descend在您的数据库目录中:cd databases您可以在此处找到所有数据库 . 在我的例子中,只有一个(现在):SCORE_DB 5)在要检查/更改的数据库上启动sqlite:sqlite3 SCORE_DB从这里,您可以检查存在哪些表:.tables 6)输入您想要的任何SQL指令:从分数中选择*;这很简单,但每次我需要它时,我都不知道在哪里可以找到它 .

2 years ago

如果您的应用程序创建了一个数据库,则该数据库默认保存在目录 DATA/data/APP_NAME/databases/FILENAME. 中

以上部分目录是根据以下规则构建的 . DATA是Environment.getDataDirectory()方法返回的路径 . APP_NAME是您的应用程序名称 . FILENAME是您在数据库的应用程序代码中指定的名称 .

2 years ago

您还可以检查您的IDE是否具有Eclipse的DDMS透视图等实用程序,它允许您浏览目录和/或将文件复制到仿真器或根设备 .

2 years ago

定义您的数据库名称,如:

private static final String DATABASE_NAME = "/mnt/sdcard/hri_database.db";

您可以在以下位置查看您的数据库:

storage/sdcard0/yourdatabasename.db

2 years ago

public class MySQLiteOpenHelper扩展了SQLiteOpenHelper {MySQLiteOpenHelper(Context context){super(context,“/ mnt / sdcard / database_name.db”,null,0); }}

不要硬编码“/ sdcard /”;请改用Environment.getExternalStorageDirectory() . getPath()

java里的sqlite在哪_设备上sqlite数据库的位置相关推荐

  1. iphone与android共享位置,如何使用“查找我”在iPhone和其他设备上共享您的位置...

    iOS 13,iPadOS 13和macOS都包括经过改进的" 查找我"应用程序,该应用程序结合了Apple以前的"查找我的iPhone"和"查找我的 ...

  2. java获取表主外键_通过 jdbc 分析数据库中的表结构和主键外键

    文章转自:http://ivan4126.blog.163.com/blog/static/20949109220137753214811/ 在某项目中用到了 hibernate ,大家都知道 hib ...

  3. java里class有什么用_安装JDK时的java和javac命令有什么用?

    相信大家都装过JDK吧,在装JDK时我们会在命令提示符窗口中通过java和javac两个命令来检测我们的环境变量是否配置正确,那么你知道java和javac两个命令有什么用吗? 在了解这两个命令的作用 ...

  4. JAVA里的jsp网页背景_【JavaWeb】JSP 页面

    JSP 页面 简介 JSP(Java Server Pages),即 Java 的服务器页面.它的主要作用是代替 Servlet 程序回传 HTML 页面的数据,因为 Servlet 程序回传 HTM ...

  5. java里注释为什么报错_这些年我们在java中遇到过的坑,你遇到过几个

    1.Java注释能够识别Unicode 关于问题还引申出一个概念"Unicode 逃逸",并且为什么会有这种机制,有什么作用,我之前写过一篇文章,这里面已经做了详细的介绍,请大家点 ...

  6. java里dir是什么意思_关于文件系统:为什么user.dir系统属性在Java中工作?

    我读过的几乎每篇文章都告诉我,你不能用Java创建chdir. 这个问题的公认答案说你不能用Java做到这一点. 但是,这里有一些我尝试过的东西: geo@codebox:~$ java -versi ...

  7. java里创建一个长方形类_定义一个长方形类,定义 求周长和面积的方法实例

    /* 定义一个长方形类,定义 求周长和面积的方法, 然后定义一个测试了Test2,进行测试. 长方形的类: 成员变量: 长,宽 成员方法: 求周长:(长+宽)*2; 求面积:长*宽 注意: impor ...

  8. java里面的scanner怎么关闭_作业。scanner怎么不能关闭

    package try_catch; import java.util.Scanner; public class TryCatchPractice2 { //在类开始声明,则其他方法都能调用 Sca ...

  9. java里false是什么意思_为什么 Java 中“1000==1000”为false,而”100==100“为true?

    为什么 Java 中"1000 == 1000"为false,而"100 == 100"为true? 这是一个挺有意思的讨论话题 如果你运行下面的代码: Int ...

最新文章

  1. Linux大神必会操作——系统排错
  2. 表单form类型数据转换为数组array
  3. python 任务计划_windows 10 设定计划任务自动执行 python 脚本的方法
  4. SQL语言之同义词(Oracle)
  5. 十七、深入Python异常处理
  6. boost::regex模块实现吐出链接的 URL的测试程序
  7. 固件升级校准_RS网络分析仪自检自校准方法-Agitekservice
  8. 点击高德地图标注没法弹窗_如何在地图上标注我的店铺
  9. python技术路线_django开发网站的技术路线?
  10. Moss网站在不同服务器的迁移
  11. Metro程序部署到Surface调试
  12. 初识MySQL数据库
  13. MAC 重置 MySql密码步骤
  14. 普洛斯库列科夫 线性代数习题集_高等数学 高等代数习题集
  15. 红帽子linux 命令,红帽子_Linux_命令全解
  16. VINS-Mono 代码解析——视觉跟踪 feature_trackers
  17. android睡眠伴侣,GitHub - HuangZengPei/Sleepmon: 我的Android团队项目,一款可以监测、统计睡眠质量情况的睡眠健康伴侣应用。...
  18. 2020年度计划 - 本立道生
  19. Java 线程池常见误区
  20. 已损坏打不开您应该推出磁盘映像

热门文章

  1. ComboBox控件值对类
  2. 心理正常与异常的区分_正常心理与异常心理的区分
  3. python 决策树回归参数_python决策树之CART分类回归树详解
  4. Ubuntu18.04更换清华源
  5. QT之交叉编译qmake的ARM版本套件(三)
  6. C语言之“#“和“##“用法(十四)
  7. 深入剖析Android音频之AudioPolicyService
  8. DECLARE_META_INTERFACE(INTERFACE)和IMPLEMENT_META_INTERFACE(INTERFACE, NAME)宏定义分析
  9. 地图样式自定义_用地图做数据分析,地图可视化更显高级
  10. c 定义结构体时提示应输入声明_C|语法的合理性理解和分析