Entity
public final class Entity extends Object
Class Overview
A representation of a item using ContentValues. It contains one top level ContentValue plus a collection of Uri, ContentValues tuples as subvalues. One example of its use is in Contacts, where the top level ContentValue contains the columns from the RawContacts table and the subvalues contain a ContentValues object for each row from the Data table that corresponds to that RawContact. The uri refers to the Data table uri for each row.
个人感觉,这个就是一个值的集合,有一个顶级的值,然后还包括一系列的子数组集,它跟list的区别就在于,它这有一个总的值的集合,然后还包括其他的子值,子值是由Uri跟ContentValues组成的,可以不断的向里边add,但是不可以remove。
其中一个例子就是联系人,每个联系人可以表示成Entity,顶级的值就是RawContacts表中的数据,包括联系人id、账户信息、铃声等,是整个联系人的共同信息,然后子值就是Data表中的具体数据,每一个子值就是一行Data表数据,保存了数据类型(包括 电话号码、email等)、数据详情(就是具体的号码等信息),对应的Uri就是对应的data表中这一行的uri。
这个类就是由两部分构成的,第一部分就是一个ContentValues 用mValues来表示,
第二部分是一个ArrayList<NamedContentValues>,里边保存着所有的子值,用mSubValues表示,
其中NamedContentValues是Entity的内部类,同样是从Object类继承来的,包括两部分:Uri和一个ContentValues,用来表示地址跟值。构造方法就是传入这两个值:
public NamedContentValues(Uri uri, ContentValues values) {}
没有其他任何方法(Object的除外,所有的类都有Object的方法)。
Entity适用于:一批 有一部分共同值,还有一部分不同的值的数据集合,比较适用于与数据库相结合,两个表连接,一个表存共性的值,另外个表存详细的值,最明显的例子就是联系人。