自应用发布以来,我一直在使用Android Studio开发应用。
直到最近,一切都很好,我必须调试和检查数据库文件。由于我不知道如何直接看到数据库,当我调试生成数据库文件时,我不得不将数据库文件从我的手机导出到PC上。
为此,我必须打开DDMS >文件资源管理器。一旦我打开DDMS,我必须重新连接USB,我失去了调试线程。在检查数据库文件之后,我必须关闭DDMS并重新连接USB以回到调试模式。
这太复杂了。有人有更好的方法来做到这一点在Android Studio(我知道它更容易在Eclipse) ?
经过所有的解决方案,我将建议
使用Stethos
让我们看看它有多简单
在构建中添加以下依赖项。gradle文件
implement 'com.facebook.stetho:stetho:1.5.0'
implement 'com.facebook.stetho:stetho-js-rhino:1.4.2'
然后转到mainActivity onCreate方法
添加以下行
Stetho.initializeWithDefaults(this);
这需要你
import com.facebook.stetho.Stetho;
现在在运行应用程序从android工作室,打开Chrome和地址栏类型
chrome: / /检查/
在资源选项卡>web SQL
检查数据库和表
玩它在实时容易
更新:在最近的Chrome版本中,Stethos被打破了。如果遇到问题,请尝试使用Edge开发工具代替Edge://inspect/#devices -参见:https://stackoverflow.com/a/67674265/14232521
最简单的方法是使用Android调试数据库库(GitHub上的7.7k星)。
优点:
快速实现
查看所有数据库和共享首选项
直接编辑、删除、创建数据库值
在给定的数据库上运行任何SQLite查询
在数据中搜索
下载数据库
添加自定义数据库文件
不需要根设备
使用方法:
添加debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'来构建。gradle(模块);
启动应用程序;
找到日志中的调试链接(在LogCat中)(即D/DebugDB:在浏览器中打开http://192.168.232.2:8080,链接会不一样)并在浏览器中打开;
享受强大的调试工具!
重要的是:
不幸的是,它不能与模拟器一起工作
如果您通过USB使用它,请运行adb forward tcp:8080 tcp:8080
你的Android手机和笔记本电脑应该连接到同一个网络(Wifi或局域网)
欲了解更多信息,请访问GitHub上的图书馆页面。
简单和容易的方法来查看Android工作室中的数据库内容。
# Android Studio 4.1 Canary 6及更高版本
你可以使用非常简单的Android Studio的数据库检查器功能。
在这里,您可以使用新的数据库检查器检查,查询和修改应用程序的数据库。例如,你可以通过修改数据库中的值来调试正在运行的应用程序,并在不离开Android Studio的情况下在设备上实时测试这些更改。
首先,将应用程序部署到运行API级别26或更高的设备上,并从菜单栏中选择“查看>工具Windows >数据库检查器”。
# Android Studio 4.0及以下版本
首先,在Android Studio中安装数据库导航插件
第二,重启Android Studio
第三,将数据库保存到默认位置,如:(C:\Users\User .
名称\文档\AndroidStudio\DeviceExplorer\模拟器或设备\数据\数据\包名\数据库)
第四,连接数据库导航器中保存的dbname_db文件
给出第三步中使用的相同的DB文件路径
i.e . (C)
最后,只需测试DB连接和打开控制台,做任何你想做的事情。
如果你想要刷新数据库,请重复步骤2并保存或刷新。
编码快乐! !
通过ADB Shell连接到Sqlite3
我还没有找到任何方法来做到这一点,在Android工作室,但我访问db与远程shell,而不是每次拉动文件。
在这里找到所有信息:
http://developer.android.com/tools/help/adb.html#sqlite
1-在命令提示符中进入你的平台工具文件夹
2-输入命令adb devices获取您的设备列表
C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb devices
List of devices attached
emulator-xxxx device
3-连接一个外壳到您的设备:
C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb -s emulator-xxxx shell
4-导航到包含你的db文件的文件夹:
cd data/data/<your-package-name>/databases/
5-运行sqlite3连接到你的数据库:
sqlite3 <your-db-name>.db
6-运行你喜欢的sqlite3命令,例如:
Select * from table1 where ...;
注意:在下面可以找到更多要运行的命令。
SQLite备忘单
在SQLite数据库中查看表有几个步骤:
列出数据库中的表:
.tables
列出表格的外观:
. schema的表
打印整个表格:
SELECT * FROM tablename;
列出所有可用的SQLite提示命令:
.help
最后,我找到了一个最简单的解决方案,不需要打开DDMS。
实际上,解决方案是基于@Distwo提到的,但它不必那么复杂。
首先,记住数据库文件在设备中的路径,它应该始终相同。
例如我的是:/data/data/com.XXX.module/databases/com.XXX.module.database
其次,执行这个命令,将数据库文件拉到PC上
adb pull /data/data/com.XXX.module/databases/com.XXX.module.database /Users/somePathOnYourPC/
您需要做的就是复制并存储这个命令,然后您就可以一次又一次地使用它。
第三,如果你得到了Permission Denied或类似的情况,只需在前面的命令之前运行adb root。