我刚开始开发android并且目前只使用惊人的应用程序AIDE直接在我的设备(galaxy nexus和nexus 7)上编码。
在这里看到有很多关于使用adb将数据库拉到计算机上的答案,但我没有使用计算机。
我看到了在可调试模式下构建应用程序并使用“run-as”的答案,但我得到了一个无权限错误。我没有root,也不是完全厌恶它,但想确保没有非root方法来做到这一点。
我正在使用connectbot尝试运行。
提前致谢
答案 0 :(得分:1)
http://sourceforge.net/projects/asqlitemanager/之类的工具可以读取和写入位于SD卡上的本地sql文件。 (没有生根电话)
在root用户手机上,很多应用程序甚至可以读/写系统数据库。
我建议不要在没有加密的情况下将任何重要数据放在本地数据库上
编辑:
如果我理解正确,您有一个SQLite应用程序,并且您想从应用程序外部(但在您的设备上)访问您的 sqlite数据库
如果是这种情况,我会尝试在我的应用程序(仅适用于调试版本)上设置“秘密”选项,该选项将从external sqlite browser application
启动活动。
或者,您可以进行将数据库复制到SD卡上的文件夹的活动,您可以在其中轻松编辑它
但你真正需要的是什么?
您是否只需要查看值?
你需要检查结构吗?
您是否需要对数据库进行完全编辑?
您可能只需要转储(写入SD卡上的txt文件)数据而无需处理完整的sqlite编辑器(根据您对这些问题的回答)
答案 1 :(得分:0)
我没有root,并不是完全厌恶它,但想确保没有非root方法来做到这一点。
如果没有工作,没有非root方法可以做到这一点。一个应用程序(例如,AIDE)无权访问另一个应用程序(例如,您的)的内部存储空间。
非root选项包括:
向您的应用添加备份功能,将数据库复制到外部存储,此时您可以使用上一篇文章中提到的aSQLiteManager等应用程序(也可用directly on the Play Store)。
在开发过程中暂时将某种SQLite编辑器放入您的应用中,并在投入生产时将其删除。