抽像类DatabaseColumn实现了BaseColumns接口。BaseColumns定义了_id,_count两个字符串常量。用于定义表结构SQL。
DatabaseColumn属性:
AUTHORITY:定义内容提供者
DATABASE_NAME:数据库名称
DATABASE_VERSION:数据库版本
SUBCLASS(字符串数组常量):子类名称
DatabaseColumn方法:
getTableCreateor():或取生成数据表的SQL语句,该方法调用getTableName()与getTableMap()抽像方法,因此,子类需实现这两个方法用于生成SQL语句。
getSubClasses():跟据SUBCLASS生成子类数组。
getTableCreator(String tableName,Map<String, String> map):跟据提供的表名,表结构映射生成建表语句。
abstract public String getTableName();表名
abstract protected Map<String, String> getTableMap();表结构映射,key为列名,value为列类型及其它条件定义。
abstract public Uri getTableContent();返回表Uri路径。
实现类:
BlogColumn,DetailColumn,ImageCacheColumn,NewsColumn,RequestCacheColumn
这些子类除继承DatabaseColumn和BaseColumns的一些属性及方法外,因各数据表不同,需定义自已的CONTENT_URI,TABLE_NAME,mColumnMap(表结构映射)属性。并实现反回这三个属性的方法。
手太新,请不吝赐教。