qhkdh 2016-06-23 08:42 采纳率: 50%
浏览 1062
已采纳

关于android 联系人查询的代码

遇到一个难题,请大家帮帮忙。是这样的一段代码:
public static String findNameByNumber(Context ctx, String number) {
String name = null;

    Uri uri2 = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, number);

    Cursor cursor = ctx.getContentResolver().query(uri2,
            new String[] { "display_name" }, null, null, null);
    if (cursor.getCount() == 0) {
        return null;
    } else {
        // cursor 返回时,默认指向的是 第一行的上一行,即 -1 行 ,而所有的数据是从 第 0行开始的。
        cursor.moveToNext();
        name = cursor.getString(0);// cursor 仅查询一列内容,所以取的时候,列的索引值为 0
    }
    return name;
}

这个代码中 Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, number),我看出来是对uri进行的拼接,拼接好了之后,应该是这样的:content://com.android.contacts/phone_lookup/""这是字符串 。很明显查的是contact2数据库中的表phone_lookup表。然后到下面这段,我就怎么也搞不明白了,
Cursor cursor = ctx.getContentResolver().query(uri2,new String[] { "display_name" }, null, null, null); 他查询的是“dispaly_name”字段,但是这个phone_lookup表中并没有这个叫做"dispaly_name"字段呀。请问这是怎么回事呀

  • 写回答

1条回答 默认 最新

  • 恋恋西风 2016-06-23 08:50
    关注

    你可以看一下返回的内容 cursor 中是否有这个字段,应该是有的,你的代码应该从别的地方抄来的;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)