自应用发布以来,我一直在使用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
事实上,我很惊讶没有人给出这个解决方案:
看看Stetho。
为了不同的目的(其中之一是数据库检查),我在多个场合使用过Stetho。在实际的网站上,他们还讨论了网络检查和查看视图层次结构的功能。
它只需要一个小小的设置:1个gradle依赖项添加(你可以注释掉生产构建),几行代码来实例化Stetho,和一个Chrome浏览器(因为它使用Chrome devtools来做所有事情)。
更新:
您现在可以使用Stetho查看Realm文件(如果您使用Realm而不是SQLite DB): https://github.com/uPhyca/stetho-realm
更新2:
现在可以使用Stetho查看Couchbase文档:https://github.com/RobotPajamas/Stetho-Couchbase
更新# 3:
Facebook正致力于将Stetho的所有功能添加到其新工具Flipper中。Flipper已经具备了Stetho的许多功能。
所以,现在可能是做出改变的好时机。https://fbflipper.com/docs/stetho.html
通过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