一直以来查看sqlite的数据库都须要root才干查看,可是公司的好多測试机root起来比較麻烦~~~

近期刚好项目上线,略闲,

于是决定写一个libraryproject便于以后调试代码

关键代码例如以下

一、查看当前app的数据库

context.databaseList()

当中databaseList方法是ContextWrapper类中的一个方法定义例如以下

 @Override

    public String[] databaseList() {
return mBase.databaseList();
}

二、查看库中的数据表

SQLiteDatabase db = dbHelper.getWritableDatabase();

Cursor c = db.rawQuery("SELECT name FROM sqlite_master WHERE type='table'", null);
if (c.moveToFirst()) {
while (!c.isAfterLast()) {
tables.add(c.getString(0));//数据表
c.moveToNext();
}
}

三、查看数据表中的数据

	DbHelper db = new DbHelper(getContext(), databaseName);
Cursor c = db.getWritableDatabase().query(tableName, null, null, null, null, null, null);
String[] columnNames = c.getColumnNames();
ArrayList<String> datas = new ArrayList<String>();
StringBuilder sb = new StringBuilder();
if (c.moveToFirst()) {
while (!c.isAfterLast()) {
sb.setLength(0);
for (String columnName : columnNames) {
int columnIndex = c.getColumnIndex(columnName);
String colValue = c.getString(columnIndex);
sb.append(columnName).append(": ").append(colValue).append("\n");
}
datas.add(sb.toString());
Log.d("table_" + tableName, sb.toString());
c.moveToNext();
}
}

以上代码除了databaseList() 这种方法查了好久以外,其它还相对简单点

当中。查看app表的数据刚開始打算仿照root explorer做一个浏览数据的控件。可是想了一下感觉比較复杂,眼下还未实现

project的链接在此

https://github.com/droidcoffee/yolanda/tree/master/yolanda_Android

注意用法,将project作为一个libraryproject引入

同一时候改动主工程的project.properties文件添加例如以下配置就可以。

manifestmerger.enabled=true

这样能够使library中AndroidManifest.xml中配置的Activity生效。

也就是不用copy到主project中又一次配置了。

遇到问题的大家能够加群299306868

不root的情况下 查看App的数据表的更多相关文章

  1. Mysql无法启动情况下,如何恢复数据?

    本文适用于,mysql无法启动,但数据文件未丢失的情况. Mysql因意外情况,导致无法启动,数据库未做备份的情况下,如何将数据迁移至其他数据库中. 原数据库地址:192.168.1.100(以下简称 ...

  2. 创建表空间、新增用户、给用户赋予DBA权限 、删除用户下的上有数据表

    正文原创 一:查询数据库实例有多少用户: [oracle@localhost ~]$ sqlplus / as sysdba; SQL*Plus: Release 11.2.0.3.0 Product ...

  3. 不root手机的情况下查看Android数据库

    最近写Android的时候发现想要读取数据库很不方便,使用adb工具的方法需要root手机,而华为手机root十分麻烦,需要解除密码,一些品牌手机即使root了也没有sqlite3命令,总之十分麻烦. ...

  4. Android手机中怎么样在没root的情况下 修改 hosts 文件

    工具  链接:https://pan.baidu.com/s/1AENluDCQ-2qYDPcE5K6l8g 密码:t7eu  http://bbs.360.cn/forum.php?mod=view ...

  5. 如何在不使用try语句的情况下查看文件是否存在

    如果你要确定文件存在的话然后做些什么,那么使用try是最好不过的 如果您不打算立即打开文件,则可以使用os.path.isfile检查文件 如果path是现有常规文件,则返回true.对于相同的路径, ...

  6. docker默认存储空间用完情况下,做迁移数据

    由于docker默认存放数据路径为/var/lib/docker,但运行了一段时间后,发现/var/lib/docker下的目录文件过大,导致此分区空间不够用.通过以下方法,解决该问题. 如何避免: ...

  7. 在没有spineRunTime情况下手动使用spine数据

    用spine做了一些简单UI动画,结果发现游戏用的cocos2dx版本太低了,无法集成spineRunTime,无奈只好把spine记下的关键帧数据抄到一个txt文件中,然后读取txt,再自己写代码播 ...

  8. 并发insert情况下会发生重复的数据插入问题

    1.背景 用多线程接收推送的订单数据,把接收的订单数据存到一个表中,实现的需求是:如果接收的订单消息在数据库中已经存在,那么执行update操作:如果没有存在,那么执行insert操作代码逻辑: if ...

  9. 查看MYSQL中数据表占用的空间

    由于数据太大了.所以MYSQL需要瘦身,那前提就是需要知道每个表占用的空间大小. 首先打开指定的数据库: use information_schema; 如果想看指定数据库中的数据表,可以用如下语句: ...

随机推荐

  1. .Net 配置文件——继承ConfigurationSection实现自己定义处理类处理自己定义配置节点

    除了使用继承IConfigurationSectionHandler的方法定义处理自己定义节点的类.还能够通过继承ConfigurationSection类实现相同效果. 首先说下.Net配置文件里一 ...

  2. Linux红黑树(二)——访问节点

    核心对红黑树使用两点说明 1.头文件 <Documentation/rbtree.txt> Linux's rbtree implementation lives in the file ...

  3. jquery的ajax提交form表单方式总结

    方法一: function AddHandlingFeeToRefund() { var AjaxURL= "../OrderManagement/AjaxModifyOrderServic ...

  4. OCA读书笔记(4) - 管理数据库实例

    Objectives: •Start and stop the Oracle database and components •Use Oracle Enterprise Manager •Acces ...

  5. Java设计模式之适配器模式(Adapter Pattern)

    Adapter Pattern的作用是在不改变功能的前提下转换接口.Adapter分为两类,一类是Object Adapter, 还有一类是Class Adapter.因为Class Adapter的 ...

  6. Swift - 按钮(UIButton)的用法

    1,按钮的创建 (1)按钮有下面四种类型: UIButtonType.ContactAdd:前面带“+”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果 UIButtonType.DetailDisc ...

  7. Delphi中类的运行期TypeInfo信息结构说明

    Delphi中类的运行期TypeInfo信息结构说明 CnPack 开源软件项目 2007-09-19 21:55:58 Delphi中类的运行期TypeInfo信息结构说明作者:刘啸CnPack开发 ...

  8. android doGet和doPost

    doGet和doPost的差别 get和post是http协议的两种方法,另外还有head, delete等  这两种方法有本质的差别,get仅仅有一个流,參数附加在url后.大小个数有严格限制且仅仅 ...

  9. facebook打开动画pop

    POP源代码:https://github.com/facebook/pop demo相关链接:https://github.com/jxd001/POPdemo/blob/master/README ...

  10. 从零開始制作H5应用(4)——V4.0,增加文字并给文字加特效

    之前,我们分三次完毕了我们第一个H5应用的三个迭代版本号: V1.0--简单页面滑动切换 V2.0--多页切换,透明过渡及交互指示 V3.0--加入loading,music及自己主动切换 这已经是一 ...