java - Android中BaseColumns有什么用

标签 java android database sqlite

在Android中从BaseColumns实现一个类有什么用?

最佳答案

BaseColumns接口(interface)为非常常见的 _ID_COUNT 列提供名称。

使用通用名称使 Android 平台(以及开发人员)能够以统一的方式处理任何数据项,而不管其整体结构(即其他非 ID 列)如何。在接口(interface)/类中为常用字符串定义常量可避免代码中出现重复和拼写错误。

CursorAdapter 需要使用名为 _id 的列(BaseColumns._ID 的常量值) , ContentProvider 的实现以及您将 Cursor 交给 Android 平台为您做事的其他地方。例如,ListView 的适配器使用 _ID 列为您提供在 OnItemClickListener.onItemClick() 中单击的列表项的唯一 ID。 ,而不必每次都明确指定 ID 列是什么。

是否实现只包含常量的接口(interface)或引用它们的全名,即BaseColumns._ID是一个问题品尝。我个人更喜欢后者,因为 _ID 的来源更明显,而前者感觉像是滥用继承。

关于java - Android中BaseColumns有什么用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7899720/

相关文章:

java - 谷歌应用程序引擎用户服务登录和注销java

java - 为什么在syncedList()或Vector已经同步的情况下,为什么我们仍然需要外部同步?

android - IBM 蓝调 : make POST request from Android and how to handle it in NodeJS

mysql - SELECT * FROM 表名 WHERE 列名 like %value% IN (SELECT ...?

java - 如何在 JDBC 调用 MySQL 数据库时指定毫秒超时?

java - 为什么我的代码不能输出一组工作的所有子集?

安卓工作室 : breakpoints in static methods are ignored

java - 使用 Volley MultiPart 上传 PDF、文档、视频

MYSQL 查询待处理 `Purchase Order`

java - AlertDemo 类型的 getSystemService(String) 方法未定义