【发布时间】:2012-11-15 01:53:25
【问题描述】:
我想得到所有联系人的第一个字母而不重复我不能使用这样的东西:
光标 flc = this.cr.query(ContactsContract.Contacts.CONTENT_URI, Proyection2, null, null, "UPPER("+ContactsContract.Contacts.DISPLAY_NAME+")");
因为内容提供者不允许在代码中使用函数,所以这是我想要的解释:
"选择不同的substr(" + ContactsContract.Contacts.DISPLAY_NAME+", 1、1) 来自“+ContactsContract.Contacts.CONTENT_URI”
我搜索了一种与内容提供商或直接访问 bd 的方法,但我不知道如何。
【问题讨论】:
-
这可能行不通。
ContentProvider不是直接的 SQLite 接口,它只是看起来很相似,并且通常由 SQLite 数据库支持。但是不能保证提供者会以任何方式允许/理解 SQLite 语法。通讯录提供商是有限制的提供商之一。此外,UPPER(...)部分将进入 Projection 参数。
标签: android sql sqlite contacts