我想要內容提供者的不同記錄。在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