0

在查看其中ContentProviders大多数示例时,都包含一个BaseColumns界面。在比较不同的实现时,每个实现都有不同数量的内部方法。什么是最好放在BaseColumns界面中的东西,什么是你不应该放进去的?

接口示例BaseColumns

 public static interface LentItems extends BaseColumns {

   public static final Uri CONTENT_URI = LentItemsProvider.CONTENT_URI;

   public static final String NAME = "name";

   public static final String CATEGORY = "category";

   public static final String BORROWER = "borrower";

   public static final String CONTENT_PATH = "items";

   public static final String CONTENT_TYPE = ContentResolver.CURSOR_DIR_BASE_TYPE + "/vnd.cpsample.lentitems";

   public static final String CONTENT_ITEM_TYPE = ContentResolver.CURSOR_ITEM_BASE_TYPE + "/vnd.cpsample.lentitems";

   public static final String[] PROJECTION_ALL = {_ID, NAME, CATEGORY, BORROWER};

   public static final String SORT_ORDER_DEFAULT = NAME + " ASC";
 }

另一个例子

 public class Note {

  public Note() {
  }

  public static final class Notes implements BaseColumns {
    private Notes() {
    }

    public static final Uri CONTENT_URI = Uri.parse("content://"
            + NotesContentProvider.AUTHORITY + "/notes");

    public static final String CONTENT_TYPE = "vnd.android.cursor.dir/vnd.jwei512.notes";

    public static final String NOTE_ID = "_id";

    public static final String TITLE = "title";

    public static final String TEXT = "text";
    }

}
4

1 回答 1

0

BaseColumns一个只提供两个字段_IDCOUNT. 它通常被实现,因为不同的小部件(如 )至少需要_ID( ) 字段才能出现在它们的适配器使用的 中。_idListViewCursor

您可以实现/扩展该接口以使该字段添加除此之外的任何内容(使其与类相关)。

放在 BaseColumns 界面中的最好的东西是什么?

您没有在 中放置任何内容BaseColumns,而是扩展/实现它以使用其字段。除此之外,您在那里看到的任何内容都来自编写LentItems接口或Note类的开发人员。

于 2013-05-08T07:47:30.333 回答