安卓手机开发,创建SQlite数据库后,默认路径是存储在哪?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓手机开发,创建SQlite数据库后,默认路径是存储在哪?相关的知识,希望对你有一定的参考价值。

android的数据库是保存在虚拟AVD设备中的吧。(就是你给AVD分配的那块空间里) 你用adb连接上AVD设备,在从相应的路径里取出数据库文件。追问

...照抄回答真的好吗?

参考技术A 要找的sqlite数据库 文件,默认情况下存储在这个位置
C:\Documents and Settings\Administrator\.android\avd\
虚拟机名字.avd/userdata.img这个镜像文件中。
如果想不打开虚拟机就找到你的数据库文件,已经试过ultraiso无法识别这种镜像格式。而且这样做是没有什么意义的。
当虚拟机载入这个镜像中的信息并成功启动后,可以理解为你的SQLite数据库文件被读入到了内存中。
但是所做的任何修改都会被保存在上述的镜像文件中,所以实质上数据库文件还是存放在硬盘中的。
虚拟机就是利用了当前计算机的硬件资源,模拟出来一个目的主机,一般情况下你是不能,也不应该通过除了虚拟机本身的方式来读取或修改存储在它内部的数据的。
所以,从计算机的物理磁盘上不通过虚拟机,想直接找到虚拟机中的手机内存上的SQLite数据库文件,是不现实的。
参考技术B 在其他数据库上作开发,一般都使用工具来检查和处理数据库的内容,而不是仅仅使用数据库的 API。使用 Android 模拟器,有两种可供选择的方法来管理数据库。
首先,模拟器绑定了 sqlite3 控制台程序,可以使用 adb shell 命令来调用他。只要你进入了模拟器的 shell,在数据库的路径执行 sqlite3 命令就可以了。数据库文件一般存放在:
/data/data/your.app.package/databases/your-db-name
如果你喜欢使用更友好的工具,你可以把数据库拷贝到你的开发机上,使用 SQLite-aware 客户端来操作它。这样的话,你在一个数据库的拷贝上操作,如果你想要你的修改能反映到设备上,你需要把数据库备份回去。
把数据库从设备上考出来,你可以使用 adb pull 命令(或者在 IDE 上做相应操作)。存储一个修改过的数据库到设备上,使用 adb push 命令。
一个最方便的 SQLite 客户端是 FireFox SQLite Manager 扩展,它可以跨所有平台使用。
参考技术C android的数据库是保存在虚拟AVD设备中的吧。(就是你给AVD分配的那块空间里) 你用adb连接上AVD设备,在从相应的路径里取出数据库文件。

-- 猴岛游戏论坛为您解答追问

adb是什么?是SQLite expert吗?怎么连接AVD设备?我是新手...

本回答被提问者采纳

安卓项目-利用Sqlite数据库,开发新闻发布系统

技术分享本教程致力于程序员可以快速的学习安卓移动端手机开发。

适合于已经习得一种编程语言的同仁。

更多志同道合,想要学习更多编程技术的大神们。

小弟不才,麻烦关注一下我的今日头条号-做全栈攻城狮。

本文章是基于上篇文章基础之上进行深入学习的。程序员带你学习安卓开发-XML文档的创建与解析

Sqlite数据库:

Sqlite数据库是在安卓中使用较广泛的数据库。其为简单、轻巧的Sql类文件型数据库。因以简单的文本形式保存,所以安全性不是很高。只要拿到sqlite数据库文件就可以得到数据。所以这就决定了sqlite数据库不宜保存较为隐私重要的数据。

为了方便的编辑Sqlite数据库,我们这边使用一个Sqlite数据库可视化工具。Navicat Premium。

我这里找到一个比较不错的版本。分享给你。下载地址:https://yunpan.cn/cM9wzNM4KefD8 访问密码 6a40 软件安装很简单。一步一步下一步就安装成功了。安装成功打开如图:

技术分享Naviate:可以链接绝大都数数据库引擎,并且操作简单,支持强大的代码智能提示等。推荐大家使用。

一、Naviate 软件使用

1.创建Sqlite数据库:

技术分享配置数据库相关数据

技术分享

链接名是左边项目显示的名称,可以自定义。这时我们发现,在桌面生成了一个first.db的文件。

技术分享没错的了,这就是sqlite的数据库文件。所有的数据都是保存在这个文件中的。

2.打开现有数据库文件:

技术分享打开链接即可打开成功。

3.我们可以初始化数据库结构和数据,例如:

3.1添加News表

CREATE TABLE "News" (

"Id" INTEGER NOT NULL,

"Title" TEXT,

"Content" TEXT,

PRIMARY KEY ("Id")

);

3.2初始化数据:

在这里只添加两行数据加入:News:

INSERT INTO "News" VALUES (‘1‘, ‘英语四级高频词汇,纯干货,收藏‘, ‘1.alter [‘‘?:lt?] v. 改变,改动,变更2.burst [‘‘b?:ð?n] vi.,n. 突然发生,爆裂3.dispose [dis‘‘p?uz] vi. 除掉;处置;解决;处理(of)4.blast [blɑ:st] n. 爆炸;气流 vi. 炸,炸掉5.consume [k?n‘‘sju:m] v. 消耗,耗尽作者:头条号 / 做全栈攻城狮‘);

INSERT INTO "News" VALUES (‘2‘, ‘推荐几个对Asp.Net开发者比较实用的工具 2‘, ‘推荐几个对Asp.Net开发者比较实用的工具。大家有相关工具也可以在评论区留言,一起努力学习。

作为程序员要有挑战精神,大家可以尝试一下这些工具。‘);

其实和原生的sql语法差不多的啦。随便看看,对于你来说应该问题不大。

二、使用Android代码操作数据库:

1.我们继续做一个新闻发布管理系统:

前台界面效果,很简单的布局操作的。这边我贴一下我的布局,供以参考。

技术分享

2.Sqlite数据库操作:

2.1在onCreate方法中初始化控件:

private EditText editTitle;

private EditText editContent;

@Override

protected void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

editTitle = (EditText) findViewById(R.id.editTitle);

editContent = (EditText) findViewById(R.id.editContent);

}

2.2“保存”按钮绑定后台save方法,获取用户输入的新闻信息:

2.2.1 用户输入信息预处理:

public void save(View v)

{

String title = editTitle.getText().toString().trim();

String content = editContent.getText().toString().trim();

if (TextUtils.isEmpty(title)||TextUtils.isEmpty(content))

{

Toast.makeText(MainActivity.this, "信息填写不完整", Toast.LENGTH_SHORT).show();

return;

}

}

3. 将用户输入的新闻信息保存到数据库:

3.1 新建NewsSqliteHelper 继承自 SQLiteOpenHelper。用以维护和创建数据库。

技术分享

3.2创建News对象,对应News表:

技术分享

3.3 新建操作News表的Dao操作类:

因新闻发布系统,目前只能进行增加新闻,暂时先创建一个添加数据的方法。下节文章讲解:新闻列表展示功能。

技术分享3.4 保存数据到数据库:

News news = new News();

news.setTitle(title);

news.setContent(content);

NewsDao dao = new NewsDao(MainActivity.this);

dao.add(news);

Toast.makeText(MainActivity.this, "添加成功", Toast.LENGTH_SHORT).show();

4.最终效果

技术分享我们通过Android Device Monitor。把生成的数据库文件导出。

打开Android Device Monitor:

技术分享

找到数据库文件导出:

技术分享

用Naviate查看一下数据库数据。

技术分享

至此一个简单的新闻发布系统完成。下节讲解利用Sqlite进行“新闻显示系统”

请点击关注,获取最新教程

今日头条-做全栈攻城狮。

QQ技术交流群号码:538742639

技术分享

以上是关于安卓手机开发,创建SQlite数据库后,默认路径是存储在哪?的主要内容,如果未能解决你的问题,请参考以下文章

在安卓开发中默认的数据库是

安卓项目-利用Sqlite数据库,开发新闻发布系统

安卓开发根目录读写问题

在Android中使用SQLite,用getWritableDatabase()方法创建后,数据库文件在哪儿?

homeassist数据库sqlite在哪

Mac上eclipse安卓开发查看SQLite数据库