Anyone able to help with this? I'm interested in how to do this too. Thanks! :)
On Jan 3, 2:35 am, Flo <flo.schw...@gmail.com> wrote: > Hey there! > > I'm querying the ContactsContract.Data table like the following: > > [...] > Uri contactsURI = ContactsContract.Data.CONTENT_URI; > > String[] projection = new String[] { > ContactsContract.Data._ID, > ContactsContract.Data.CONTACT_ID, > ContactsContract.Data.MIMETYPE, > ContactsContract.Data.DATA1, > ContactsContract.Data.DATA2, > ContactsContract.Data.DATA3, > ContactsContract.Data.DATA4, > ContactsContract.Data.DATA5, > ContactsContract.Data.DATA_VERSION > }; > String where = ContactsContract.Data.MIMETYPE + " = ? > OR " + > ContactsContract.Data.MIMETYPE + " = ? > OR " + > ContactsContract.Data.MIMETYPE + " = ? > OR " + > ContactsContract.Data.MIMETYPE + " = ?"; > > String[] whereArgs = new String[] { > > ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE, > > ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE, > > ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE, > > ContactsContract.CommonDataKinds.Im.CONTENT_ITEM_TYPE > }; > > Cursor contactsTable = managedQuery(contactsURI, projection, > where, whereArgs, null); > [...] > > The problem is that the result is kind of unsorted. It would be best > if I could get the rows sorted by MIMETYPE (basically I need the > StructuredName to come on top) but grouped for each CONTACT_ID. This > means I'd like to get a person's name, then email/phone/im, etc. Then > the next person's name and their email/phone/im and so on.. > > So I thought this would best be achieved if I sorted like > Data.MIMETYPE + " DESC" and group by CONTACT_ID. However, there is no > possibility to use a group by parameter in a query() or managedQuery > (). The only database query I found that does take a group by > parameter is the SQLiteQueryBuilder.query(). However, I can't call > this one for the ContactsContract.Data Table since it doesn't take an > URI but an SQLiteDatabase. > > How would you handle the sorting of the data? Should I perform a > single query for each CONTACT_ID? Wouldn't that be extremely cost > intensive? -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en