Android 一键直接查看Sqlite数据库数据
转自:http://www.cnblogs.com/trinea/archive/2012/11/16/2773656.html
本文主要介绍Android开发中如何一键直接查看sqlite数据库中的数据以及sqlite3的常用命令。
1、原始查看sqlite数据方法
Eclipse菜单Window - Open Perspective - DDMS进入DDMS视图。然后File Explorer View中依次展开路径/data/data/package_name/databases/,将其中的db文件pull from device保存到电脑上,再使用navicat、SQLiteSpy或其他软件打开查看,整个过程相当复杂,而且数据变动一次又需要重新操作一次。
那么能不能窗口模式下实时查看sqlite中数据呢,不能,不过我们可以在命令行模式下实时查看sqlite中数据,如下:
2、实时查看sqlite数据
嘿嘿,不必每次敲几十个字符,只需一个批处理文件每次运行即可进入数据库,新建文件enterDb.bat,内容为
adb shell sqlite3 /data/data/package_name/databases/dbName
表示先执行adb shell进入shell模式,再执行sqlite3 /data/data/package_name/databases/dbName进入dbName这个数据库,是不是一键就完成了,^_*。
下面详细进行各个命令的介绍
(1) 进入AVD的shell模式
打开命令行,输入
adb shell
进入shell模式,如果adb未绑定到path中,则到android-sdk的platform-tools目录下运行此命令。
如果同时存在多个AVD,那么需要指定设备号。可通过
adb devices adb -s emulator- shell
adb devices表示查看当前所有设备,adb -s emulator-5554 shell指定设备,其中emulator-5554为设备id

(2) 进入数据库目录查看数据库
cd /data/data/package_name;ls
其中的package_name为应用的包名,即AndroidManifest.xml中manifest节点的package属性值。
(3) 操作数据库
sqlite3 dbName
进入sqlite命令行模式,输入.tables查看所有表,输入select * from tabelName查看某个表的所有数据,如下

3、sqlite3的常用命令
.tables 显示所有表
.schema 显示数据库的schema
.schema table_name 显示表的schema
.headers on 显示标题栏,即字段名栏,如在查看数据中数据时,默认select * from table_name不显示字段名。
alter table 修改表。改变表名 - ALTER TABLE 旧表名 RENAME TO 新表名;增加一列 - ALTER TABLE 表名 ADD COLUMN 列名 数据类型 限定符
select * from sqlite_master where type="table"; 显示所有表的结构
select * from sqlite_master where type="table" and name="table_name"; 显示某个表的结构
drop table table_name 删除表
.quit 退出
.read FileName 执行FileName中的sql
标准的sql语句也可以用,但必须用分号结束,如下
select语句;
delete语句;
update语句;
insert语句;
Android 一键直接查看Sqlite数据库数据的更多相关文章
- Android开发之利用SQLite进行数据存储
Android开发之利用SQLite进行数据存储 Android开发之利用SQLite进行数据存储 SQLite数据库简单介绍 Android中怎样使用SQLite 1 创建SQLiteOpenHel ...
- android:Android中用文件初始化sqlite数据库(zz)
很多时候在应用安装初始化时,需要创建本地数据库,同时为数据库添加数据,之后再从数据库中读取数据. 这里有2个思路 1.先在本地创建一个能支持android使用的sqlite数据库文件,启动时, ...
- android开发之使用SQLite数据库存储
http://blog.csdn.net/jason0539/article/details/16360835 SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且 ...
- 在Android 开发中使用 SQLite 数据库笔记
SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PH ...
- android:Android中用文件初始化sqlite数据库
很多时候在应用安装初始化时,需要创建本地数据库,同时为数据库添加数据,之后再从数据库中读取数据. 这里有2个思路 1.先在本地创建一个能支持android使用的sqlite数据库文件,启动时,用现成的 ...
- Android虚拟机中的sqlite数据库文件
Android虚拟机中的sqlite数据库文件 ①
- 通过adb shell操作android真机的SQLite数据库
要通过命令行直接操作android真机上的SQLite数据库,可以直接通过adb shell来完成,不过,前提是必须获得root权限. 另外,android系统其实就是linux的shell,这个应该 ...
- Android Studio 查看SQLite数据库存储位置及文件
前言: 之前开发的一个记账本APP,用的是SQLite数据库,会有一些网友问如何查看数据库,这篇博文对此进行一个说明. 操作: 1.通过DDMS(Dalvik Debug Monitor Servic ...
- Android下创建一个SQLite数据库
数据库:SQLite(轻量级,嵌入式的数据库) 大量的相似结构的数据的储存,快速的查询.特殊的文件(按照一定的格式生成) 数据库的创建 创建文件 1.声明文件对象,文件是不会被创建出来的. File ...
随机推荐
- Striiv Myland 攻略
推荐一款IOS平台上的运动APP:Striiv.可以记录平时的步数,路程,卡路里,运动时间.如果购买相应的硬件,还可以记录每天爬了多少台阶(这是专门为爬楼者用的么...). 其中比较吸引我的是里面有个 ...
- CC2540开发板学习笔记(二)——按键
一.实验内容 用按键S1控制LED1的亮和灭 二.实验过程 1.电路原理: 可以看出,当S按下P0.0和P0.1接地,反之则接高电压. 2.寄存器使用: 依旧应该首先进行3个基本寄存器的设定,对LED ...
- throw和throw ex的区别
之前,在使用异常捕获语句try...catch...throw语句时,一直没太留意几种用法的区别,前几天调试程序时无意中了解到几种使用方法是有区别的,网上一查,还真是,主要是区别在堆栈信息的起始点不同 ...
- easyui提交表单数据的时候如何防止二次提交
在前端提交数据的时候有时候可能会由于网络延迟等原因,我们在等待的时候会多次点击保存按钮,这可能会导致我们一次输入的数据多次提交,导致数据重复.最近在做项目的时候碰到了这个问题,先说一点,这个问题的解决 ...
- 系统启动时,spring配置文件解析失败,报”cvc-elt.1: 找不到元素 'beans' 的声明“异常
现象:spring加载配置文件applicationContext.xml出错,抛出nested exception is og.xml.sax.SAXParseException; lineNumb ...
- POJ1191 棋盘分割(DP)
化简一下那个方差得到:$$\sqrt\frac{(\Sigma_{i=1}^nx_i)-n\bar x^2}{n}$$ 除了$\Sigma_{i=1}^nx_i$这部分未知,其余已知,而那部分显然越大 ...
- BZOJ3837 : [Pa2013]Filary
当m取2时,k至少为$\frac{n}{2}$ 所以在最优解中每个数被选中的概率至少为$\frac{1}{2}$ 每次随机选取一个位置i,计算出其它数与$a_i$的差值,将差值分解质因数 所有质因数中 ...
- BZOJ3249 : [ioi2013]game
线段树套Treap 外层的线段树需要动态开节点 内层Treap需要注意的是,相同y坐标的点不一定是同一个点,所以需要再次离散 空间$O(n\log n)$ 时间$O(n\log^2n)$ #inclu ...
- BZOJ1185 : [HNOI2007]最小矩形覆盖
求出凸包后,矩形的一条边一定与凸包的某条边重合. 枚举每条边,求出离它最远的点和离它最左最右的点,因为那三个点是单调变化的,所以复杂度为$O(n)$. 注意精度. #include<cstdio ...
- BZOJ3476 : [Usaco2014 Mar]The Lazy Cow
旋转坐标系后转化为正方形,$x'=x+y$,$y'=x-y+1000001$,$k'=2k-1$ 两根扫描线从左往右扫 f[i]表示y坐标下边界为i时的价值和 每次加入/删除一个点等价于一段区间加减 ...