如何在Android手机上开发数据库?

我在手机上开发时遇到数据库问题。 每当我执行

cd /data/data/com.mycompck/databases

然后运行ls我得到: "opendir failed, Permission denied"

或者每当我键入sqlite3我得到: "sqlite3: permission denied"

我究竟做错了什么?

是否有一些应用程序可以帮助我获得内容parsing器值和/或SQLite数据库的人性化视图?

Solutions Collecting From Web of "如何在Android手机上开发数据库?"

要回答你的问题的第一部分,看看这个答案 。 基本上,您的手机需要具有root用户访问权限,并且您需要以root用户模式运行adb(使用“adb root”)。

至于第二部分,我使用SQLite数据库浏览器来查看我的SQLite数据库 (虽然这只是当数据库是在我的电脑;不知道任何设备上的浏览器)。 我不知道有什么方法可以获得内容parsing器的人性化视图。

检查我的答案从以下线程: 为什么我使用adb时访问被拒绝到数据文件夹?

从API级别8(Android 2.2)开始,如果将应用程序构build为可debugging应用程序,则可以使用shell run-as命令作为特定的用户/应用程序运行命令或可执行文件,或切换到应用程序的UID ,可以访问它的data目录。

所以基本上你需要做一个debugging版本(当你从Android Studio启动应用程序,除非你请求发布版本,这是自动生成的 ),并运行以下命令:

 run-as com.mycompck cd /data/data/com.mycompck/databases ls sqlite3 ./yourdatabase.db 

但是请注意, sqlite3二进制文件在许多手机上默认不存在。 因此,您可能需要将其下载到某处(例如,从http://shortfuse.org/上的SuperOneClick存档),然后保存在SD卡上并使其可执行(尽pipe如此,这有点棘手),例如:

 run-as com.mycompck cd /data/data/com.mycompck/ cat /sdcard/sqlite3 >./sqlite3 chmod 744 ./sqlite3 ./sqlite3 ./databases/yourdatabase.db 

您必须是root才能访问任何数据库文件。 所以,你可以在你的手机上获得root权限(在Google上查找信息),或者从模拟器debugging数据库(总是给你root权限)。

再见!

查看和pipe理你的android应用程序数据库的最好方法是使用这个库https://github.com/sanathp/DatabaseManager_For_Android

它是一个单独的java活动文件,只需将java文件添加到源文件夹中,即可查看应用程序数据库中的表格,更新,删除,向您的表格中插入行。

开发完成后,从src文件夹中删除java文件即可。

它帮了我很多,希望它也能帮助你。

您可以在这里查看1分钟演示:http: //youtu.be/P5vpaGoBlBY

我已经读了这一点,并访问您的数据库文件的移动似乎相当麻烦。

看看这个。 有了这个,你可以查看你的应用程序内的数据库。 数据库pipe理器

对我来说这工作得很好。 这也取决于你打算做什么。

希望能帮助到你。