在Android中查看和管理sqlite数据库

转http://www.cnblogs.com/walkingp/archive/2011/03/28/1997437.html

在Android中查看和管理sqlite数据库

在Android中可以使用Eclipse插件DDMS来查看,也可以使用Android工具包中的adb工具来查看。android项目中的sqlite数据库位于/data/data/项目包/databases中。

使用DDMS导出sqlite数据库。

1、首先打开android项目的调试模式,然后找到显示DDMS:

在Android中查看和管理sqlite数据库_第1张图片

选择DDMS

在Android中查看和管理sqlite数据库_第2张图片

2、切换到DDMS,显示File Explorer窗口,找到/data/data/

在Android中查看和管理sqlite数据库_第3张图片

然后找到程序包的文件夹,打开databases,就能看到sqlite数据库文件了。选择将其导出。

在Android中查看和管理sqlite数据库_第4张图片

这样就把sqlite数据库文件以文件的方式导出来了,然后使用sqlite界面管理工具如sqlite administrator、sqlite man或者firefox插件sqlite manager等打开就可以了。

使用adb工具访问sqlite数据库

Android Debug Bridge(ADB)是Android的一个通用调试工具,它可以更新设备或模拟器中的代码,可以管理预定端口,可以在设备上运行shell命令,我们知道android是基于Linux内核,它的内部文件结构也是采用linux文件组织方式,因此访问它的文件结构需要使用shell。这次我们就会用shell来访问android应用中的sqlite数据库文件。

1、运行cmd,切换到android-sdk目录,运行adb.exe,加上参数shell,出现#号就代表进入了shell命令模式,注意adb要在Android模拟器运行时才能进入shell:

在Android中查看和管理sqlite数据库_第5张图片

2、shell命令记住两个基本命令ls和cd,类似windows命令提示行中的dir和cd,代表列出当前目录下文件列表和进入到指定目录。了解这两个命令之后,就可以找到data/data/项目包名/databases:

在Android中查看和管理sqlite数据库_第6张图片

找到数据库文件:

在Android中查看和管理sqlite数据库_第7张图片

接下来就是使用sqlite管理工具来进行操作了。键入sqlite3 数据库名就进入了sqlite管理模式了。

在Android中查看和管理sqlite数据库_第8张图片

在android的sdk中自带了sqlite3.exe,这是sqlite的官方管理工具,它是一个命令行工具。为了使用方便,将其路径注册到系统环境变量path中,即将;%Android_Home%加在Path中,这样只样运行sqlite3,就能直接打开sqlite管理工具了。

在Android中查看和管理sqlite数据库_第9张图片

sqlite管理数据库篇

sqlite命令行工具默认是以;结束语句的。所以如果只是一行语句,要在末尾加;,或者在下一行中键入;,这样sqlite命令才会被执行。

sqlite常用命令:

.tables--查看数据库的表列表

.exit--退出sqlite命令行

其他命令可随时.help查看帮助。sql命令可直接在此命令行上执行即可:

在Android中查看和管理sqlite数据库_第10张图片

推荐书籍:Android技术内幕:系统篇

绿色通道: 好文要顶 关注我 收藏该文 与我联系
walkingp
关注 - 48
粉丝 - 135
+加关注
3
0
(请您对文章做出评价)
« 博主前一篇: QQ手机浏览器中无法显示密码框的解决办法
» 博主后一篇: 手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单
posted @ 2011-03-28 21:06 walkingp 阅读(7132) 评论(2) 编辑 收藏

2060545
  回复  引用  查看    
#1楼 2011-04-01 10:25 | Devァer、       
有两点需要注明一下:
1. data/data这个目录是需要root权限的;
2. adb shell进入手机后,不是每个手机都能找到sqlite3这个命令的。至少说我们拿到的工程样机里面就没有。

对于程序员,也许可以使用sql命令来查询数据库数据,但是往往,我们需要将AP给QA测试,或者是我们往往只是简单的查看一下表里面的内容,其实可以使用python

 

你可能感兴趣的:(android,数据库,sqlite,shell,工具,Firefox插件)