我正在研究一个应该处理用户的 Android 联系人并与 SQL 数据库交互的类,您可以将手机的联系人移动到其中(数据库中的信息将显示为 ListView)。我制作了一个函数,该函数应该按名称检索 Android 联系人并返回该联系人的所有信息。我的功能如下:
public Cursor getContactByName(String name)
{
Uri uri = ContactsContract.Data.CONTENT_URI;
String[] projection = null;
String selection = Data.DISPLAY_NAME + "=?";
String[] selectionArgs = new String[]{name};
String sortOrder = null;
return managedQuery(uri, projection, selection, selectionArgs, sortOrder);
}
所以想法是这将被另一个函数调用,它首先检查联系人是否存在。此函数将返回一个仅包含该联系人信息的游标。首先,我想知道我是否正确返回包含联系人信息的光标,还是应该创建一个存储此信息的类并返回该类的对象?或者我应该返回一个字符串?请记住,我要返回的是我打算移动到我的数据库中的联系人,我觉得返回 Cursor 不是我的目标。作为一个附带问题,是否有任何理由使用 ContentResolver.query 而不是 managedQuery 来达到我的目的?