java - 如何在不使用 SQLiteOpenHelper 内容提供程序插入数据的情况下获取 URI?(安卓)
问题描述
我正在制作一个带有 MainActivity、Content Provider 和 4 个片段的 Android 应用程序。我需要检查 SqlLite 数据库中是否存在用户名和密码,然后将具有该用户名和密码的行的 URI 发送到函数。但是,我不明白如何在不插入数据库的情况下访问 URI(返回插入行的 URI)。如何访问现有行的 URI?
解决方案
许多提供程序允许您通过将 ID 值附加到 URI 的末尾来访问表中的单行。例如,要从用户字典中检索 _ID 为 4 的行,可以使用以下内容 URI:
val singleUri: Uri = ContentUris.withAppendedId(UserDictionary.Words.CONTENT_URI, 4)
它适用于所有标准化的内容提供商(至少是 Google 提供的那些)。它适用于所有遵循由基于行的数据存储支持的内容提供者的设计指南的内容提供者。
查看详情 Android 中的内容提供程序
推荐阅读
- java - 根据规范,在以毫秒为单位的日期上,evaluatePreconditions 的正确行为是什么?
- reactjs - React 如何破坏构造函数中的深层道具?
- python - 计算有多少不同的单词恰好有两次字母“o”
- javascript - 为什么 eslint 考虑 JSX 或一些反应 @types undefined,因为将 typescript-eslint/parser 升级到版本 4.0.0
- google-apps-script - 如何在 Data Studio 中使用 GraphQL 等库?
- ios - 为什么我在钥匙串中看不到我保存的登录名/密码?
- c# - 无法访问通过 docker 在 Postman 的 80 端口上运行的 API
- php - 如何在 for 循环中向数组添加元素,PHP - Laravel
- android - 同时从多个 WorkerThreads 调用 AccountManager#getAuthTokenByFeatures
- python - 发送在 Python 中压缩的 zip 存档但尝试在 Rust 中解压缩的问题