我一直在通过阅读Android开发人员基本原理(第1版)来研究内容提供商。
在"11.1通过内容提供者共享数据“/”查询()方法“一节中,有一个说明
注意:为了方便和清晰,提供了插入、删除和更新方法。从技术上讲,查询方法可以处理所有请求,包括要插入、删除和更新数据的请求。
如何使用查询方法插入/删除/更新数据?查询方法具有以下签名,不接受自定义SQL字符串。
public Cursor query(Uri uri, String[] projection, String selection,String[] selectionArgs, String sortOrder){}我一直未能找到任何资源来说明如何做到这一点。所有这些似乎都利用了所提供的方法。
发布于 2018-10-27 23:04:57
坦率地说,在培训指南中,这是一份非常糟糕的工作。它只会迷惑人们。
我猜想他们的意思是,query()没有什么神奇的东西可以强迫它只执行SELECT语句。ContentProvider是一个外观--您可以使用它来存储和检索任何您想要的东西,而不仅仅是SQLite。
因此,您可以使用您的query()方法:
Uricontent://your.authority/something/insert/put/data/hereUri以获取put、data和here值MatrixCursor或者,它可以:
Uricontent://your.authority/something/insertprojection和selectionArgs作为要放入这些列的值插入一行MatrixCursor我不知道为什么会有人这样做,但这当然是可能的。
https://stackoverflow.com/questions/53026982
复制相似问题