当前位置: 首页 > news >正文

Android ContentProvier

ADB 调试

通过adb调试应该是最简单的场景。

adb shell content query --uri content://com.xxx.xxx.xxx/xxx/123

下面是常见操作的参考

adb shell content <操作> --uri <ContentProvider的Uri> [参数]

列出设备上所有可用的 ContentProvider

adb shell dumpsys package providers

输出中包含所有 ContentProvider 的 authority、权限、进程等信息,可用于确认目标 Uri 是否正确。

过滤特定应用的 ContentProvider

adb shell dumpsys package providers | grep "com.example.channelprovider"

查询数据(query)

通过Uri 中携带路径参数

adb shell content query --uri content://com.example.provider/channel/100  # 100 是路径参数

获取所有数据:

adb shell content query --uri content://com.example.channelprovider/channel

指定查询列(--projection):

adb shell content query --uri content://com.example.channelprovider/channel \--projection "_id,channel_name,channel_num"

添加查询条件(--where):

adb shell content query --uri content://com.example.channelprovider/channel \--projection "channel_name,channel_num" \--where "channel_num > 50"

按条件排序(--sort):

adb shell content query --uri content://com.example.channelprovider/channel \--sort "channel_num ASC"
2. 插入数据(insert)

通过 --bind 指定字段值(格式:字段名:类型:值,类型可选 s字符串 /i整数 /l长整数等):

adb shell content insert --uri content://com.example.channelprovider/channel \--bind "channel_name:s:测试频道" \--bind "channel_num:i:100" \--bind "intent:s:intent://test#Intent;end"
3. 更新数据(update)
adb shell content update --uri content://com.example.channelprovider/channel \--bind "channel_name:s:更新后的测试频道" \--where "channel_num = 100"
示例:更新带参数的数据

将 channel_num=20 的频道名称改为 “NBA 篮球频道”,携带参数:

bash

adb shell content update \--uri content://com.example.channelprovider/channel \--bind "channel_name:s:NBA篮球频道" \  # 携带参数:要更新的字段值--where "channel_num = 20"            # 携带参数:更新条件
4. 删除数据(delete)
adb shell content delete --uri content://com.example.channelprovider/channel \--where "channel_num = 100"
示例:删除带参数的数据

删除 channel_num < 10 的频道,携带条件参数:

adb shell content delete \--uri content://com.example.channelprovider/channel \--where "channel_num < 10"  # 携带参数:删除条件
http://www.dtcms.com/a/535837.html

相关文章:

  • uni-app OCR图文识别
  • 二叉树的多种遍历方式
  • Vue3 + Electron + Node.js 桌面项目完整开发指南
  • 【Node.js】Node.js 模块系统
  • 古籍影文公开古籍OCR检测数据集VOC格式共计8个文件
  • 网站的对比哪些网站是做免费推广的
  • 网站建设的整体流程有哪些?建筑工程网站建站方案
  • 区块链的密码学基石:沙米尔秘密共享(SSS)数学原理详解
  • 单例模式详解:从基础到高级的八种实现方式
  • 改版网站收费wordpress国人主题
  • web3.0是什么
  • 计网:网络层
  • git学习3
  • HarmonyOS图形图像处理与OpenGL ES实战
  • SunX:以合规正品,重塑Web3交易信任
  • nacos 使用oceanbase(oracle模式)作为数据源
  • 网站排名优化策划网站一个人可以做吗
  • 基于springboot的民宿在线预定平台开发与设计
  • 脚本探索--Spatial HD进行CNV分析
  • 介绍一下Hystrix的“舱壁模式”和“熔断状态机”
  • 基数排序(Radix Sort)算法简介
  • 【C++项目】基于设计模式的同步异步日志系统(前置基础知识)
  • JDK8时间相关类,时间对象都是不可变的
  • Java内存模型(JMM)与JVM内存模型
  • h5响应式网站模板如何做公司自己的网站首页
  • CentOS7 使用 centos-release-scl-rh yum库安装 devtoolset
  • UI自动化测试:Jenkins配置
  • 软件开发公司网站模板网站开发工程师绩效
  • c++中list详解
  • 杨凌美畅用 TDengine 时序数据库,支撑 500 条产线 2 年历史数据追溯