首页 > 代码库 > 不root的情况下 查看App的数据表
不root的情况下 查看App的数据表
一直以来查看sqlite的数据库都需要root才能查看,但是公司的好多测试机root起来比较麻烦~~~
最近刚好项目上线,略闲,
于是决定写一个library工程便于以后调试代码
关键代码如下
一、查看当前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 = http://www.mamicode.com/c.getString(columnIndex);>
以上代码除了databaseList() 这个方法查了好久以外,其他还相对简单点
其中。查看app表的数据刚开始打算仿照root explorer做一个浏览数据的控件。但是想了一下感觉比较复杂,目前还未实现
工程的链接在此
https://github.com/droidcoffee/yolanda/tree/master/yolanda_Android
注意使用方法,将工程作为一个library工程引入
同时修改主工程的project.properties文件增加如下配置即可。
manifestmerger.enabled=true这样可以使library中AndroidManifest.xml中配置的Activity生效。也就是不用copy到主工程中重新配置了。
遇到问题的大家可以加群299306868
不root的情况下 查看App的数据表
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。