ProjectionMap的用处java
在Contentprovider中,通常须要定义database,要定义Table, 也要定义各类字段 在定义字段的时候,能够把这些字段存到一个Map里,也就是ProjectionMap中, 在调用者以ContentResolver query()方式传入 String[] projection时,就能够对它进行检查,是否传入字段合法? public final Cursor query (Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)ide
ProjectionMap 具体是保存在SQLiteQueryBuilder的private Map<String, String> mProjectionMap中,经过setProjectionMap()来设置 合法性检查在SQLiteQueryBuilder.buildQuery() -->computeProjection() 若是不合法,则会抛出exception --java.lang.IllegalArgumentExceptionui