SimpleStetho

SimpleStetho 一款基于Stetho 为Android应用程序提供数据库、LOG日志信息调试桥梁简单工具库。开发人员可以使用 MQTT 框架使用它的功能。

Set-up

Download

Gradle:

compile 'com.roogle.simple.stetho:stetho-mqtt:3.1.1'

or Maven:

<dependency>  <groupId>com.roogle.simple.stethogroupId>  <artifactId>stetho-mqttartifactId>  <version>3.1.1version>  <type>pomtype>dependency>

不过,你项目中已有 MQTT 也可以单独使用stetho:

compile 'com.roogle.simple.stetho:stetho:3.1.1'

Using

SimpleStetho 保留了database 相关大部分api,提供了DatabaseProvider 访问数据库, LogcatProvider 访问日志信息, 初始化 SimpleStetho class:

val simpleStetho = SimpleStetho(this)//开启收集Logcat日志、建议Application Create 时收集simpleStetho.logcatProvider.startGatherLogcatInfo()//通过数据库名获取表信息simpleStetho.databaseProvider.getTableNamesTableText("dbName")

当然也可以使用StethoMqttClient :

StethoMqttClient(simpleStetho, serverUri, clientId, "topic/client/${clientId}", "topic/server/${clientId}")stethoMqttClient.connect()               

具体用法参见Demo.

SimpleStetho 作用

SimpleStetho 应用在物联网各种设备上如TV/车载/贩卖机等,十分便利获取你所需的信息:

采用 MQTT 与设备(client端)通信.

服务端订阅主题以及发布消息主题

topic/server/paho-30505377805850topic/client/paho-30505377805850

设备端订阅主题以及发布消息主题

topic/client/paho-30505377805850topic/server/paho-30505377805850

服务器发送查询指令

查询数据库指令格式 (query_database)
{    "action": "query_database",    "message": {        "sql": "sql 语句"    }}

默认返回表格形式的字符串。可以根据个人需求重写数据库查询返回

|=============================================================================================||  _id  |  uuid                              |  name             |  updated                   ||=============================================================================================||  1    |  4af98cdb0a8b4bdd84abf5005ef0d42c  |  呦呦奶茶(原味) |  2017-12-28T04:30:24.028Z  ||---------------------------------------------------------------------------------------------||  2    |  72979b7d6e094dbf92c0e6cb5a6fb8bf  |  士力架           |  2017-12-28T04:30:24.094Z  ||---------------------------------------------------------------------------------------------||  3    |  d5f0dd29fba642aa80d7fb16f9828010  |  伊利纯牛奶       |  2017-12-28T04:30:24.114Z  ||---------------------------------------------------------------------------------------------|
  • 执行成功直接返回Table表格信息
  • 执行失败直接返回错误信息(SQL 语法错误不返回)
查询Logcat指令格式(query_logcat)
{    "action": "query_logcat",    "message": {        "begin": "UTC string(2018-01-03T03:02:55.011Z)",        "end": "UTC string"    }}

接收到 query_logcat 命令并处理成功时

2017-05-27.txt日志文本信息...
查询anr 日志指令格式(query_logcat_anr)
{"action":"query_logcat_anr"}
  • 需要有读取 /data/anr/traces.txt 权限

NOTE

1. 执行**query_database** 查询返回row 限制每页 250 条2. 执行**query_logcat** 查询返回日志文本大小最大限制 1MB ,begin end超过一天的,直接返回错误。3. 另外只保存30天日志文件在`/sdcard/Android/data/com.baoda.vending.youzi/files/logs` 目录下

走得更远

自定义查询数据相关指令

直接用sql 语句作为查询,并 不安全。你可以使用DatabaseProvider 中api 完全实现新的指令

改善 SimpleStetho!

欢迎提出问题!

MQTT 工具

mqtt 工具有很多

  • eclipse-paho
  • mqttfx

效果图

License

Stetho is BSD-licensed. We also provide an additional patent grant.

更多相关文章

  1. Android(安卓)中使用MediaRecorder进行录像详解(视频录制)
  2. Android(安卓)Bitmap保存为.bmp格式,图像转化为黑白图片
  3. 74.格式化xml脚本
  4. Spring Boot使用MongoDB
  5. Android中一些常见文件格式分析
  6. Android逆向之旅---SO(ELF)文件格式详解
  7. android listview 连续调用 getview问题分析及解决。
  8. android基于ffmpeg本地视频、在线视频、直播播放器 支持rtmp、rt
  9. android 如何将WPS文档转成PDF

随机推荐

  1. 解决IE apk变成zip:Android(安卓)手机应用
  2. PhoneGap入门经典——理解PhoneGap应用程
  3. Android系列教程之三:Android项目的目录结
  4. Android绘图Canvas十八般武器之Shader详
  5. [Android(安卓)特效] Android(安卓)通过
  6. 【Android(安卓)NDK 开发】Android.mk 配
  7. android中导入开源项目,常出现的导致编译
  8. 接口的使用,以及在异步任务中的使用
  9. Android(安卓)吸入动画效果实现分解
  10. Android(安卓)Studio上使用GBK编码