adb shell调试contentprovider相关命令-千里马android framework

Posted Android高级知识分享官

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了adb shell调试contentprovider相关命令-千里马android framework相关的知识,希望对你有一定的参考价值。

hi,经常在做android系统应用开发,或者framework时候其实都少不了和contentprovider打交道,这里contentprovider其实也算android四大组件中非常重要的一个组件。经常如果涉及到数据库操作和跨进程一些通信,如果我们需要测试contentprovider写的是否正确,可以 被客户端调用正常主要有2种方法 :
1、自己写一个demo来 专门访问contentprovider方式,这种方式当然是ok的,但是每次需要访问contentprovider接口等 都需要对代码进行修改,编译运行,其实效率 相对比较低

2、使用adb shell相关的命令进行contentprovider的操作访问,这种方式 其实是最为方便的,不需要写任何代码,只需要adb shell几个命令既可以搞定,但是 奈何很多同学又不知道相关命令,所以 这里对相关命令进行 一个详细记录,也方便日后自己查询使用,
这里其实我们完全使用:adb shell content -h就可以看到所有操作细节及案例,非常详细:

usage: adb shell content [subcommand] [options]

usage: adb shell content insert --uri <URI> [--user <USER_ID>] --bind <BINDING> [--bind <BINDING>...]
  <URI> a content provider URI.
  <BINDING> binds a typed value to a column and is formatted:
  <COLUMN_NAME>:<TYPE>:<COLUMN_VALUE> where:
  <TYPE> specifies data type such as:
  b - boolean, s - string, i - integer, l - long, f - float, d - double
  Note: Omit the value for passing an empty string, e.g column:s:
  Example:
  # Add "new_setting" secure setting with value "new_value".
  adb shell content insert --uri content://settings/secure --bind name:s:new_setting --bind value:s:new_value

usage: adb shell content update --uri <URI> [--user <USER_ID>] [--where <WHERE>]
  <WHERE> is a SQL style where clause in quotes (You have to escape single quotes - see example below).
  Example:
  # Change "new_setting" secure setting to "newer_value".
  adb shell content update --uri content://settings/secure --bind value:s:newer_value --where "name='new_setting'"

usage: adb shell content delete --uri <URI> [--user <USER_ID>] --bind <BINDING> [--bind <BINDING>...] [--where <WHERE>]
  Example:
  # Remove "new_setting" secure setting.
  adb shell content delete --uri content://settings/secure --where "name='new_setting'"

usage: adb shell content query --uri <URI> [--user <USER_ID>] [--projection <PROJECTION>] [--where <WHERE>] [--sort <SORT_ORDER>]
  <PROJECTION> is a list of colon separated column names and is formatted:
  <COLUMN_NAME>[:<COLUMN_NAME>...]
  <SORT_ORDER> is the order in which rows in the result should be sorted.
  Example:
  # Select "name" and "value" columns from secure settings where "name" is equal to "new_setting" and sort the result by name in ascending order.
  adb shell content query --uri content://settings/secure --projection name:value --where "name='new_setting'" --sort "name ASC"

usage: adb shell content call --uri <URI> --method <METHOD> [--arg <ARG>]
       [--extra <BINDING> ...]
  <METHOD> is the name of a provider-defined method
  <ARG> is an optional string argument
  <BINDING> is like --bind above, typed data of the form <KEY>:b,s,i,l,f,d:<VAL>

usage: adb shell content read --uri <URI> [--user <USER_ID>]
  Example:
  # cat default ringtone to a file, then pull to host
  adb shell 'content read --uri content://settings/system/ringtone > /mnt/sdcard/tmp.ogg' && adb pull /mnt/sdcard/tmp.ogg

usage: adb shell content gettype --uri <URI> [--user <USER_ID>]
  Example:
  # Show the mime-type of the URI
  adb shell content gettype --uri content://media/internal/audio/media/



csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论

android跨进程通信实战视频课程

(一定记得加群:422901085 获取优惠)

以上是关于adb shell调试contentprovider相关命令-千里马android framework的主要内容,如果未能解决你的问题,请参考以下文章

查看Activity 堆栈情况的命令:adb shell dumpsys activity

Android 常用adb shell 命令(转)

使用Adb shell dumpsys检测Android的Activity任务栈

利用shell命令实现Eeclipse对Android的远程调试

adb shell 命令详解

手机无法进入adb shell