安卓怎么读取sqlite数据库

安卓怎么读取sqlite数据库,第1张

安装SQLite Expert Professional 可以在网上下载,我下载的是试用版,没有找注册码,但是试用不影响使用,反正用几次查看到数据库 *** 作没有错误就不用这个工具了。当然也可以使用Eclipse插件DDMS来查看,也可以使用Android工具包中的adb工具来查看。android项目中的sqlite数据库位于/data/data/项目包/databases中。先介绍使用DDMS导出sqlite数据库的 *** 作和使用adb工具访问sqlite数据库。

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

切换到DDMS,显示File Explorer窗口,找到/data/data/ 如下图1 ,

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

这样就把sqlite数据库文件以文件的方式导出来了,然后使用sqlite界面管理工具如SQLite Expert Professional可以打开该数据库了。其他 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目录,运行adbexe,加上参数shell,出现#号就代表进入了shell命令模式,注意adb要在Android模拟器运行时才能进入shell:如下图

进入数据库所在目录:

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

使用sqlite管理工具来进行数据库 *** 作

键入sqlite3 数据库名就进入了sqlite管理模式了。

如下图

设置sqlite环境变量:

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

如下图:

8

使用sqlite管理数据库:

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

sqlite常用命令:

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

exit--退出sqlite命令行

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

因为数据变化都是在模拟器的系统里面,相当于在另一台机器上,但是因为是模拟器,实际上还是可以通过方法访问到的。具体方法如下:1先把adb放到环境变量中adb程序在sdk的platform-tools中,把这个目录加到path中,这样就可以在命令行中运行adb�0�22连接到模拟器$ adb -s emulator-5554 shell�0�23连接到sqlite# sqlite3 /data/data/comexamplegooglerssrssexample/databases/rssitemsdb�0�24执行想要的 *** 作,查看数据help可以看 *** 作帮助

android读取数据库可以使用sqlite一些api进行读取,实例如下:

/

查找一条数据

@param uid

/

public User find(Integer uid){

SQLiteDatabase db=dbOpenHelpergetReadableDatabase(); //创建数据库辅助类

Cursor cursor =dbrawQuery("select from user where uid=", new String[]{uidtoString()}); //创建一个游标

if(cursormoveToFirst()){ //循环遍历查找数组

int uid2=cursorgetInt(cursorgetColumnIndex("uid"));

String uname=cursorgetString(cursorgetColumnIndex("uname"));

String uaddress=cursorgetString(cursorgetColumnIndex("uaddress"));

User user=new User();

usersetUid(uid2);

usersetUname(uname);

usersetUaddress(uaddress);

return user;

}

cursorclose();

return null;

}

Android一般采用sqlite数据库作为数据存储方案。

通常的数据库有关系型数据如:ms ql ,mysql,oracle等,非关系型nosql数据库 如mongodb,redis

android作为手机端的手机 *** 作系统,是无法直接 *** 作大型的关系型或是no sql类型的数据库的。

你的应用描述中景点等信息都可以选择存储在sqlite中。

但是这些信息还是建议你存储到服务器上,以文件的形式存储。

还有一种方式是在服务器中使用任何的关系型和非关系型数据库存储你的所有数据,但是你的android应用需要通过api去访问你的景点信息。

以上就是关于安卓怎么读取sqlite数据库全部的内容,包括:安卓怎么读取sqlite数据库、如何访问android模拟器中应用的sqlite数据库、android中在怎么获取数据库数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9431415.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存