调试手机中数据库的福音:Android-Debug-Database

目前在"浏览器"中调试App越来越流行.

比如Facebook开源的一个工具Stetho让Chrome调试Android.

本文介绍了一个开源项目"Android-Debug-Database".

他可以在浏览器中调试DB

涉及到"取数据-起服务-远程调用", 希望对大家有用哦

前言

一般,我们调试手机中的数据库是很麻烦的,通常来说是如下几种方式:

将手机中的SQLite数据库导出到电脑,通过电脑端的软件来查看这个数据库,执行相关的SQL语句,看结果如何。

Root手机,在手机上安装RE文件管理器,进入应用程序的包下,找到你的数据库的文件,然后再查看数据库中。

Android Studio有相关的插件,方便操作,但是有的需要收费,使用起来也不是很爽。

现在,AMIT SHEKHAR开源了Android-Debug-Database,利用这个库,我们可以通过浏览器方便的查看的数据库啦,并且可以执行SQL语句,岂不是很爽!

特色

  1. 可以查看你的应用中所有的数据库。
  2. 可以查看你的应用中所有的shared preferences(额外福利)。
  3. 对你指定的数据库执行SQL语句。
  4. 对你指定的数据库中的数据进行可视化的编辑。
  5. 将数据库直接下载下来。

如何使用

在你的build.gradle添加如下:debugCompile 'com.amitshekhar.android:debug-db:1.0.0' debugCompile的作用:只在你debug编译时起作用,当你release的时候就没必要使用它了。

这就完了,你不需要任何其他的代码啦。

下面当你在App启动的时候,你要注意查看下你的logcat,会有这么一行:D/DebugDB: Open http://XXX.XXX.X.XXX:8080 把它复制到你电脑的浏览器,你就可以看到你的App中的数据库,和shared preferences

界面如下:

原理

整体结构如下:

DebugDB为你的应用程序开启了一个线程:

这个线程不断的处理浏览器发过来的请求(Socket形式)

根据Socket发过来的内容,它进行判断:根据不同的请求,处理,返回不同的结果:

其他: 浏览器中的内容从哪里来的?为啥它能发送请求数据? debug-db将具有交互性的html发送给了浏览器:

浏览器有的交互能力,基于html js 这些设计到了前端知识,有时间再聊呗~~

作者:linheimx

来源:51CTO

时间: 2024-09-30 12:28:09

调试手机中数据库的福音:Android-Debug-Database的相关文章

Android 下调试手机截屏的方法

Android 下调试手机截屏的方法 Android开发过程中,难免会需要对手机进行截屏.以前截屏时一直到处找截屏软件,操作复杂. 今天刚发现,原来ADT是自带截屏功能的,而且操作简单. 打开DDMS视图,在Device框的右上角有一个照相机的小图标按钮,此按钮即可实现截屏功能,如图. 点击该按钮时,弹出如下对话框: 然后就可以将截屏图片保存或复制了! 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Android 的apk重新打包签名后,安装成功后,手机中转屏(横竖屏切换)软件强行自动关闭了

问题描述 Android 的apk重新打包签名后,安装成功后,手机中转屏(横竖屏切换)软件强行自动关闭了 Android 的apk重新打包.签名后,安装成功后,手机中转屏(横竖屏切换)软件强行自动关闭了什么情况,我用apktool打包签名的. 解决方案 最好是接上调试,看看出错时的 logcat 的输出.如果是所有手机都出错,还比较好解决的,就怕重现不了. 解决方案二: 这种情况应该是不支持或不兼容. 解决方案三: activity在转屏的时候会执行onResume(),你可能是有一些变量在转屏

javascript中5个常用web debug调试插件介绍

在前端开发中,调试技术是必不可少的技能,本文将介绍五种前端开发必备的调试技术. Weinre移动调试 DOM 断点 debugger断点 native方法hook 远程映射本地调试 Weinre 在移动上面开发调试是很复杂的,所以就有了weinre.安装weinre可以实现pc来调试手机页面,所以对于移动开发调试是很重要的哦~ 安装weinre weinre可以通过npm来安装:  代码如下 复制代码 npm install -g weinre 安装完之后,可执行下面的命令来启动:  代码如下

Android编程实现下载图片及在手机中展示的方法

本文实例讲述了Android编程实现下载图片及在手机中展示的方法.分享给大家供大家参考,具体如下: 在项目开发中从互联网上下载图片是经常用到的功能,再次总结一下 1.普通的下载方式 布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android

adb command-如何读取Android手机中的DRAM的制造商信息

问题描述 如何读取Android手机中的DRAM的制造商信息 当前需要提供一个Adb Command,在Factory Test时用来读取Android中的RAM 制造商信息(VendroID 或者Manufacturer ID),类似在linux中用lshw -C memory得到的信息中的Verdor查找了些资料,没什么头绪,请指点一二,thank you.

网页-Android debug模式下调试和直接运行的问题

问题描述 Android debug模式下调试和直接运行的问题 我再使用webview控件加载一个webview的时候出现了白屏的现象 W/webcore﹕ skip viewSizeChanged as w is 0 这个警告 我使用debug模式下调试不会现象网页正常显示 直接运行和打成apk包的时候就会出现网页加载完成而页面不显示

android程序怎样控制手机中通知中心的开关?

问题描述 android程序怎样控制手机中通知中心的开关? 我要通过app设置里的推送开关来控制手机通知中心app是否接收通知,代码怎么写? 解决方案 这里的通知中心的管理应该是系统设置里面的吧?**_如果是,那就系统的行为,APP无法控制_**.比如某款APP产生了通知,你可以在这里禁止它弹出通知消息. 这里的只是权限的管理,系统允不允许你产生通知的控制中心而已.如果只是简单的要产生使用通知栏产生一条消息,你可以参考如下代码(该代码的功能是点击通知栏后跳转某个Activity,里面一些参数根据

解决办法Android中Error generating final archive: Debug certificate expired on

原文:http://blog.csdn.net/faye0412/article/details/6727845 分享: 开发Android或者jee或者其他java应用时,如果eclipse中的项目前有个红叉叉,但是src下有没有任何提示错误但是又不能通过编译的时候如何找到项目工程的错误根源呢?方法如下: 打开eclipse的problem视图(如果关闭了可以在window->show view下找到problem视图),然后在视图中就可以看到项目的根源问题何在了,呵呵. 言归正传,回到我遇到

每16台Android手机中,就有一台受BadKernel漏洞的影响

安全研究专家在Google的V8 JavaScript引擎中发现了一个安全漏洞(BadKernel),该漏洞将会间接影响到Android智能手机的安全性.据估算,每十六台Android手机中,就会有一台受到BadKernel漏洞的影响.不仅如此,目前大部分热门手机中都存在这个漏洞,例如LG.三星.摩托罗拉和华为等. 漏洞情况 实际上,安全研究专家在很久以前就发现了这个漏洞,并且这个漏洞在2015年的夏天也已经得到了修复.根据安全研究专家透露的信息,这个漏洞可以影响v3.20至v4.2版本的Goo