如果我有一个包含列的表:
COMPANION_ID
COMPANION_NAME
COMPANION_TYPE
我需要做什么
uriMatcher.addURI(AUTHORITY,"COMPANION/#",COMPANION_ID);
uriMatcher.addURI(AUTHORITY,"COMPANION/*",COMPANION_NAME);
uriMatcher.addURI(AUTHORITY,"COMPANION/*",COMPANION_TYPE);
或我这样做:
uriMatcher.addURI(AUTHORITY,"COMPANION/COMPANION_ID/#",COMPANION_ID);
uriMatcher.addURI(AUTHORITY,"COMPANION/COMPANION_NAME/*",COMPANION_NAME);
uriMatcher.addURI(AUTHORITY,"COMPANION/COMPANION_TYPE/*",COMPANION_TYPE);
答案 0 :(得分:0)
我觉得你对UriMatchers有点困惑。使用投影获取查询中的列,使用UriMatchers来区分内容提供商中的路径。
要通过id获得伴侣,我会使用你的第一个uri matcher
之后,我会使用投影:
识别每列//查询用户词典并返回结果 mCursor = getContentResolver()。query( yourUri,// COMPANION表的内容URI,带有您的ID mProjection,//每行返回的列 mSelectionClause //选择标准 mSelectionArgs,//选择标准 mSortOrder); //返回行的排序顺序
看看这里澄清:https://developer.android.com/guide/topics/providers/content-provider-basics.html