我想要内容提供者的不同记录。在Android中查询现有内容提供者的DISTINCT记录
我当前的代码:
String[] projection= {"_id","address"};
Cursor address = getContentResolver().query(android.provider.Telephony.Sms.Inbox.CONTENT_URI,projection, null, null,"address ASC");
我想要内容提供者的不同记录。在Android中查询现有内容提供者的DISTINCT记录
我当前的代码:
String[] projection= {"_id","address"};
Cursor address = getContentResolver().query(android.provider.Telephony.Sms.Inbox.CONTENT_URI,projection, null, null,"address ASC");
可以在投影列名称添加DISTINCT关键字。例如
String[] projection= {"DISTINCT _id"};
希望这会对你有帮助。
这不适用于内容提供商。抛出错误说 java.lang.IllegalArgumentException:无效列DISTINCT _id – JaydeepW 2015-03-24 06:07:41
//这是不支持列
String[] projection= { "DISTINCT _id", "DISTINCT address"};
Cursor address = getContentResolver().query(android.provider.Telephony.Sms.Inbox.CONTENT_URI,projection, null, null,"address ASC");
这给出了以下错误消息java.lang.IllegalArgumentException:无效的列DISTINCT – 2015-11-10 22:47:34
的名称前使用DISTINCT。如果你实现你自己的'ContentProvider',欢迎你公开一个特殊的'Uri'模式,它将返回'DISTINCT'结果。但是,ContentProvider的使用者不能强制ContentProvider实现支持DISTINCT。 – CommonsWare 2014-08-27 19:01:59