如何将光标中的值存储到android中的字符串中

Posted

技术标签:

【中文标题】如何将光标中的值存储到android中的字符串中【英文标题】:how to store value from cursor into string in android 【发布时间】:2015-07-16 12:58:23 【问题描述】:

我正在创建可以从号码中检索联系人姓名的应用程序。在谷歌搜索时,我从这篇文章中得到了这段代码: Getting contact name from number in android 2.3.4

public static String getContactName(String num, ContentResolver cr) 

    Uri u = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI Uri.encode(num));
    String[] projection = new String[]  ContactsContract.Contacts.DISPLAY_NAME;

    Cursor c = cr.query(u, projection, null, null, null);

    try 
        if (!c.moveToFirst())
            return number;

        int index = c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
        return c.getString(index);

     finally 
        if (c != null)
            c.close();
    

我可以在函数中成功将 Number 作为 String num 发送, 但不知道如何将联系人姓名存储到字符串中。我不熟悉 Android 中的 Cursor

如果我错了,请纠正我。

【问题讨论】:

你已经通过返回一个字符串来完成它。所以现在你想做什么?你的问题很不清楚。 【参考方案1】:

试试这个:

String name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));

【讨论】:

您是否在清单中设置了读取联系人的权限? --> 是的,我已经添加了权限,请提出其他解决方案,谢谢@jlopez 我在“ if(cursor.moveToFirst()) ”中编写了这段代码,现在它正在工作@jlopez

以上是关于如何将光标中的值存储到android中的字符串中的主要内容,如果未能解决你的问题,请参考以下文章

单击Android Studio中的提交按钮后,如何将输入的值存储到变量并在屏幕上显示?

如何使回车键将光标移动到 Android Studio 中的行尾,就像在 Eclipse 中一样

将从数据库中检索的值设置为字符串到android中的评分栏

如何将光标设置到 Internet Explorer 中文本 INPUT 字段的字符串值中的特定位置?

如何从Android中的数据库中获取数据?通过光标 c= db.query?

如何将 Select2 SelectList 中的值存储为字符串