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