android 查看本地数据库「建议收藏」

android 查看本地数据库「建议收藏」本片播客主要想给大家介绍一下我当时在学习sqlite数据库的时候,不能打开目录,查看不了数据表的问题。(没有代码的逻辑,纯操作!!)如果使用模拟器的话,一般不会出现这个问题。由于我(可能很多人)用的是真机,所以碰到了这个问题。去网上搜索了各种解决方案,有的说命令行,有的说Re管理器,反正我没处理好,最后突然另辟蹊径,解决了,而且效率不错。再次分享给大家。

大家好,又见面了,我是你们的朋友全栈君。

转载请说明出处,欢迎转载。http://blog.csdn.net/robin_java/article/details/51536223

本片播客主要想给大家介绍一下我当时在学习sqlite数据库的时候,不能打开目录,查看不了数据表的问题。(没有代码的逻辑,纯操作!!)

如果使用模拟器的话,一般不会出现这个问题。由于我(可能很多人)用的是真机,所以碰到了这个问题。去网上搜索了各种解决方案,有的说命令行,有的说Re管理器,反正我没处理好,最后突然另辟蹊径,解决了,而且效率不错。再次分享给大家。

本片博客你将学习到如下内容:

1.代码中创建数据表如何查看它?

2.文件的权限,即rwx是什么鬼?

3.我去搜索如何查看sqlite数据库,怎么到最后一步在FileExplore中数据库权限都对了,还是导出数据表有问题?(一般会在下面的console里面出现红色的log,总之就是导不出来。)

(声明,我使用的开发环境:android studio2.1.1,测试机:小米4C ,rom版本:MIUI7 6.5.26|开发版 基于android5.1.1)


进入正题。首先如果创建了一张数据表,不关你是用原生的sqlite还是某些三方库(比如XUtils)其实都一样,

第一步:你要打开Android Device Monitor 如下图(红框里面的机器人)

android 查看本地数据库「建议收藏」

第二步:这是会出现如下的界面注意红框内容

android 查看本地数据库「建议收藏」

第三步:如果你的手机没有root,data目录将打不开,赶紧去root,怎么root?第三方呗,向root大师,刷机精灵之类的。可能大神看不上这种第三方,反正我是小白,用起来感觉不错,这里提示一下,用root大师的时候,root过程中最好不要拔下数据线,当时小米4C刚拿到手的第一天直接插上,root,这个时候卡住了,我就拔下了数据线,直接不能开机,然后就去了售后,售后说,你第一天的新手机就送售后也是没谁了。扯了一点闲话,接下来继续。

第四步:这个时候如果你发现你的手机已经root了,但是还是打不开,为啥呢?因为你可以看一下data文件后面的访问权限drwxrwx–x,稍微懂一点Linux的都知道第一位便是文件类型,d就是目录,后面9位分成三组,三位一组,第一组为文件所有者的权限,第二组为组用户的权限,第三组为其他用户的权限。rwx分别是可读可写可执行(-表示没有该权限),所以现在drwxrwx–x权限是打不开data目录的,这时候需要一个叫做RE管理器的神器来修改文件权限,直接取下载,这个app必须要root才能正常使用。

第五步:RE管理器下载  打开RE管理器,找到如下目录data,长按弹出一个dialog,在这里可以修改该目录的权限,点击权限设定,直接改成rwx的(可能时间有点长),如下图

android 查看本地数据库「建议收藏」

如果长时间该是没有完成,这是可以手动只修改需要修改的目录,方法同上。那么问题来了,那些目录需要修改呢?在这里先给出一条正常能打开的目录,即data–>data–>(你的项目包名我的是com.robin.tiantianplayer)–>databases–>(你的数据库名,我的是db_tiantianplayer)要修改的目录就是前面这个路径的节点,一个一个的修改就可以了。

第六步:重点来了,选中数据库,点击右上角的导出图标

android 查看本地数据库「建议收藏」

选择导出到那里,满怀激动的点击了确定,然后准备去找PC端的第三方工具查看数据库了,等了很长时间,我的数据库呢?再导出一遍,WTF!!

android 查看本地数据库「建议收藏」

android 查看本地数据库「建议收藏」(可能会是别得报错,反正就是导出有问题)

这又是什么鬼!!!伤心至极,这时候我突然想到了一个办法,可不可以在手机上查看数据库呢?打开RE管理器,沿着路径上面红色的路径,这是点击数据库后边的方框,再点击文件图标,如下图

android 查看本地数据库「建议收藏」android 查看本地数据库「建议收藏」android 查看本地数据库「建议收藏」android 查看本地数据库「建议收藏」

android 查看本地数据库「建议收藏」

android 查看本地数据库「建议收藏」

跟着走完了是不是发现成功了呢?

haha,需要刷新数据库只要返回再打开就可以了,其实这个方法我感觉比电脑导出数据库在查看还快,真事无心插柳柳成荫~~

这里提一嘴,手机中每一个app都有清除缓存,清除数据,这里说一下,清除缓存是吧上面红色的路径于database并列的一个文件夹叫做cache的内容清除掉,一般缓存内容会放到这里面,清除数据会把上面红色路径项目包名路径下的所有文件都清除掉。如果,你在代码中创建了一个文件夹在你的存储卡里面,那么不关你事清楚数据还是卸载app,这个你创建的文件夹是不会删除的。

最后感谢大家,喜欢请点赞,有疑问,可以回复交流,有错误,请指出。Thx。

转载请说明出处,欢迎转载。http://blog.csdn.net/robin_java/article/details/51536223

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138398.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 回归分析详解及matlab实现[通俗易懂]

    回归分析详解及matlab实现[通俗易懂] 回归分析方法 想要资源的请关注公众号:在一起的足球自动获取资源和数十种经典算法,帮助各位提升自己之前留的是自己的qq号感觉好多资源都不能让大家自行选择本着开源的精神,在公众号挂了百度云链接,这样晚上就不用被吵醒了当人们对研究对象的内在特性和各因素间的关系有比较充分的认识时,一般用机理分析方法建立数学模型。如果由于客观事物内部规律的复杂性及人们认识程度的限制,无法分析实际对象内在的因果关系,…

    2022年10月26日
  • Java保留两位小数的几种写法总结[通俗易懂]

    Java保留两位小数的几种写法总结[通俗易懂]相信大家在平时做项目时,可能会有这样的业务需求:页面或界面上展示的数据保留小数点后两位。那么这篇文章小编就和大家分享了利用Java保留两位小数的几种写法,文章给出了详细的示例代码,对大家的学习和理解很有帮助,有需要的朋友们下面来一起学习学习下吧。本文列举了几个方法:    1.使用java.math.BigDecimal     2.使用java.text.DecimalFormat …

  • document.activeElement_加载xml错误

    document.activeElement_加载xml错误<html><head></head><bodyonload="loadFun()"><divid="myDiv"></div><scriptlanguage="javascript"><!–   functionloadFun(

    2022年10月14日
  • Linux的DNS配置[通俗易懂]

    Linux的DNS配置[通俗易懂]一,配置实验环境1,安装DNS服务yuminstallbind利用yum将DNS服务下载下来2,关闭防火墙3,重启DNS服务4,netstat-antlpe|grepnamed查看53接口是否打开,下图表示53接口未对本机打开:5,vim/etc/named.conf编辑dns配置文件,将接口打开:6,systemctlrestartnamed重启服务让修改生效7,netstat-ant…

  • matlab h5文件_matlab读取二进制文件

    matlab h5文件_matlab读取二进制文件1、把两个h5文件合并为一个。h5Splicing(h5NameSou,‘/’,h5NameDst,cellNum,1);functionh5Splicing(singleCellFileName,currentGroupName,multiCellsFileName,currentCellName,upDown)info=h5info(singleCellFil…

  • python进制转换函数

    python进制转换函数一:二,八,十六进制转十进制注意2进制对应的数值范围只能是0和1,超过范围会报错,8进制和16进制同理。print(int(‘100′,2))#二进制转十进制,int(’20’,2)会报错print(int(’30’,8))#八进制转十进制,int(’80’,8)会报错print(int(‘f0’,16))#十六进制转十进制,int(‘g0’,16)会报错二:十进制转二进制、八进制、十六进制。内置函数bin、oct、hex得到的进制前面会分别带有’0b’,‘0o’,’0x’字符。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号