首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android内容提供者-使用查询方法插入、删除和更新

问Android内容提供者-使用查询方法插入、删除和更新
EN

Stack Overflow用户
提问于 2018-10-27 22:56:26
回答 1查看 281关注 0票数 0

我一直在通过阅读Android开发人员基本原理(第1版)来研究内容提供商。

在"11.1通过内容提供者共享数据“/”查询()方法“一节中,有一个说明

注意:为了方便和清晰,提供了插入、删除和更新方法。从技术上讲,查询方法可以处理所有请求,包括要插入、删除和更新数据的请求。

如何使用查询方法插入/删除/更新数据?查询方法具有以下签名,不接受自定义SQL字符串。

代码语言:javascript
复制
public Cursor query(Uri uri, String[] projection, String selection,String[] selectionArgs, String sortOrder){}

我一直未能找到任何资源来说明如何做到这一点。所有这些似乎都利用了所提供的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-27 23:04:57

坦率地说,在培训指南中,这是一份非常糟糕的工作。它只会迷惑人们。

我猜想他们的意思是,query()没有什么神奇的东西可以强迫它只执行SELECT语句。ContentProvider是一个外观--您可以使用它来存储和检索任何您想要的东西,而不仅仅是SQLite。

因此,您可以使用您的query()方法:

  • 检查Uri
  • 寻找它的形式content://your.authority/something/insert/put/data/here
  • 解析Uri以获取put、data和here值
  • 将这些列插入表中某些预先确定的列下。
  • 返回空的MatrixCursor

或者,它可以:

  • 检查Uri
  • 寻找它的形式content://your.authority/something/insert
  • 使用列的projection和selectionArgs作为要放入这些列的值插入一行
  • 返回空的MatrixCursor

我不知道为什么会有人这样做,但这当然是可能的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53026982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档