2014-08-27 69 views
0

我想要内容提供者的不同记录。在Android中查询现有内容提供者的DISTINCT记录

我当前的代码:

String[] projection= {"_id","address"}; 
Cursor address = getContentResolver().query(android.provider.Telephony.Sms.Inbox.CONTENT_URI,projection, null, null,"address ASC"); 
+2

的名称前使用DISTINCT。如果你实现你自己的'ContentProvider',欢迎你公开一个特殊的'Uri'模式,它将返回'DISTINCT'结果。但是,ContentProvider的使用者不能强制ContentProvider实现支持DISTINCT。 – CommonsWare 2014-08-27 19:01:59

回答

-1

可以在投影列名称添加DISTINCT关键字。例如

String[] projection= {"DISTINCT _id"}; 

希望这会对你有帮助。

+3

这不适用于内容提供商。抛出错误说 java.lang.IllegalArgumentException:无效列DISTINCT _id – JaydeepW 2015-03-24 06:07:41

-1

//这是不支持列

String[] projection= { "DISTINCT _id", "DISTINCT address"}; 

Cursor address = getContentResolver().query(android.provider.Telephony.Sms.Inbox.CONTENT_URI,projection, null, null,"address ASC"); 
+1

这给出了以下错误消息java.lang.IllegalArgumentException:无效的列DISTINCT – 2015-11-10 22:47:34