我知道如果我不使用名为_id的字段作为我在Android中的主键,那么像CursorAdapter这样的某些东西将无法工作,但是_id列是否需要是一个自动增量int?我可以使用Guid作为键,只要它被称为_id,并且CursorAdapter仍然有效吗? 最佳答案 storageguide中的黄色框说:AndroiddoesnotimposeanylimitationsbeyondthestandardSQLiteconcepts.Wedorecommendincludinganautoincrementvaluekeyfieldt
我知道如果我不使用名为_id的字段作为我在Android中的主键,那么像CursorAdapter这样的某些东西将无法工作,但是_id列是否需要是一个自动增量int?我可以使用Guid作为键,只要它被称为_id,并且CursorAdapter仍然有效吗? 最佳答案 storageguide中的黄色框说:AndroiddoesnotimposeanylimitationsbeyondthestandardSQLiteconcepts.Wedorecommendincludinganautoincrementvaluekeyfieldt
在Android中从BaseColumns实现一个类有什么用? 最佳答案 BaseColumns接口(interface)为非常常见的_ID和_COUNT列提供名称。使用通用名称使Android平台(以及开发人员)能够以统一的方式处理任何数据项,而不管其整体结构(即其他非ID列)如何。在接口(interface)/类中为常用字符串定义常量可避免代码中出现重复和拼写错误。CursorAdapter需要使用名为_id的列(BaseColumns._ID的常量值),ContentProvider的实现以及您将Cursor交给Android
在Android中从BaseColumns实现一个类有什么用? 最佳答案 BaseColumns接口(interface)为非常常见的_ID和_COUNT列提供名称。使用通用名称使Android平台(以及开发人员)能够以统一的方式处理任何数据项,而不管其整体结构(即其他非ID列)如何。在接口(interface)/类中为常用字符串定义常量可避免代码中出现重复和拼写错误。CursorAdapter需要使用名为_id的列(BaseColumns._ID的常量值),ContentProvider的实现以及您将Cursor交给Android
我正在浏览Google的源代码IOSchedApp并注意到以下代码fragment作为其ContentProvider实现的一部分:公共(public)静态类Blocks实现BlocksColumns、BaseColumns。据我所知BaseColumns只是两个常量的接口(interface):_COUNT和_ID。我有两个问题:与直接在类中拥有私有(private)字段_ID相比,实现BaseColumns的优点/缺点是什么?常量_COUNT有什么作用? 最佳答案 根据AndroidDeveloperGuide,Note:Apr
我正在定义我的用户SQLite数据库表,为此,我创建了以下UserContract和UserEntry类:classUserContractprivateconstructor(){classUserEntryprivateconstructor():BaseColumns{companionobject{valTABLE_NAME="users"valCOLUMN_DISPLAY_NAME="display_name"valCOLUMN_EMAIL="email"//...}}}我面临的问题是我无法访问BaseColums实现提供的_ID属性:valcolumnDisplayName
我正在定义我的用户SQLite数据库表,为此,我创建了以下UserContract和UserEntry类:classUserContractprivateconstructor(){classUserEntryprivateconstructor():BaseColumns{companionobject{valTABLE_NAME="users"valCOLUMN_DISPLAY_NAME="display_name"valCOLUMN_EMAIL="email"//...}}}我面临的问题是我无法访问BaseColums实现提供的_ID属性:valcolumnDisplayName