Sau*_*ron 43 sqlite android android-studio
我已经测试了在我的应用程序数据库中创建,插入和检索数据,并且通过使用Log语句知道它的工作原理.
但是,我希望加快测试并使用Android设备监视器.但是,尽管存在db并且存储了数据,但在下面访问时,该data
文件夹为空:
为什么会这样呢?如何配置它来显示db文件和内容?
Zen*_*ulz 40
该文件夹/data
可能为空,因为您缺少适当的权限.要解决它,我必须执行以下命令.
adb shell
su
Run Code Online (Sandbox Code Playgroud)
这些命令在模拟器中启动shell并授予您root权限.该命令adb
位于platform-tools
Android SDK 的文件夹中,通常安装在~/Library/Android/sdk/
MacOS上.
chmod -R 777 /data
Run Code Online (Sandbox Code Playgroud)
修改文件夹(和递归子文件夹)的权限,/data
以使它们出现在工具A ndroid Device Monitor中.
adb root
Run Code Online (Sandbox Code Playgroud)
最后,此命令adb
以root身份重新启动.要小心,它只适用于开发版本(通常是模拟器版本).
之后,您可以看到文件夹的内容/data
并传输位于的文件.您也可以在控制台中使用adb pull <remote> <locale>
,例如:
adb pull /data/data/<app name>/databases/<database> .
Run Code Online (Sandbox Code Playgroud)
小智 8
如果有人遇到所述问题,请在终端窗口中按照以下步骤操作:
而已.问题解决了.
如果要浏览设备数据 (data/data) 文件夹,有两种方法。
ADM 位置 - (YOUR_SDK_PATH\Android\sdk\tools)
adb root
如果您只想查看您的数据库和表,那么最简单的方法是使用Stetho
. 对于每个使用SQLite
buit by 的Android 开发人员来说,非常酷的工具Facobook developed
。
Steps to use the tool
'编译'com.facebook.stetho:stetho:1.4.2'
Run Code Online (Sandbox Code Playgroud)@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Stetho.initializeWithDefaults(this); setContentView(R.layout.activity_main); }
现在,构建您的应用程序 & 当应用程序运行时,您可以通过在 url 中打开 chrome 来浏览您的应用程序数据库:
chrome://inspect/#devices
Run Code Online (Sandbox Code Playgroud)
相同的截图如下_
ChromeInspact
你的数据库
希望这对大家有帮助!:)
在开发期间将数据库存储在公用文件夹中可能更容易.
或者你可以看到这篇文章:
归档时间: |
|
查看次数: |
51276 次 |
最近记录: |