ContentResolver 和“where”条件中的“IN”语句

2023-12-31

我正在尝试根据联系人的 id 获取光标以获取联系人列表。我不太确定如何将“IN”语句与参数数组一起使用。我目前所拥有的会导致错误。

public Cursor GetContacts(String[] ids)
{
    ContentResolver cr = getContentResolver();

    try
    {
        Uri uri = ContactsContract.Contacts.CONTENT_URI;

        String[] projection = new String[] {
                ContactsContract.Contacts._ID,
                ContactsContract.Contacts.DISPLAY_NAME,
                ContactsContract.Contacts.HAS_PHONE_NUMBER
        };

        String where = ContactsContract.Contacts._ID + " IN ?";

        String[] selectionArgs = ids;

        String sortOrder = ContactsContract.Contacts.DISPLAY_NAME;

        return cr.query(uri, projection, where, selectionArgs, sortOrder);
    }
    catch (Exception ex)
    {
    String message = ex.getMessage();
    Log.e("mine", "Error: " + message, ex);

    return null;
    }

错误:“?”附近:语法错误(代码 1):,编译时: SELECT _id, display_name, has_phone_number FROM view_contacts WHERE ((1)) AND ((_id IN ?)) ORDER BY display_name


我没有对此进行测试,但我认为您需要将 id 压缩为单个逗号分隔的字符串,以便将其插入到您的查询中。

public Cursor GetContacts(String[] ids)
{
    ContentResolver cr = getContentResolver();

    try
    {
        Uri uri = ContactsContract.Contacts.CONTENT_URI;

        String[] projection = new String[] {
                ContactsContract.Contacts._ID,
                ContactsContract.Contacts.DISPLAY_NAME,
                ContactsContract.Contacts.HAS_PHONE_NUMBER
        };

        String where = ContactsContract.Contacts._ID + " IN (?)";

        String[] selectionArgs = {StringUtils.join(ids, ", ")};

        String sortOrder = ContactsContract.Contacts.DISPLAY_NAME;

        return cr.query(uri, projection, where, selectionArgs, sortOrder);
    }
    catch (Exception ex)
    {
    String message = ex.getMessage();
    Log.e("mine", "Error: " + message, ex);

    return null;
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ContentResolver 和“where”条件中的“IN”语句 的相关文章

  • 很好地处理数据库约束错误

    再一次 它应该很简单 我的任务是在我们的应用程序的域对象中放置一个具有唯一约束的特定字段 这本身并不是一个很大的挑战 我刚刚做了以下事情 public class Location more fields Column unique tru
  • PhoneStateListener 不调用

    这是我的完整代码 广播示例 java package com example broadcast gt import android app Activity import gt android content Context import
  • HERE 地图:更改路线已行驶部分的颜色

    导航时可以改变路线的颜色吗 具体来说 我希望路线中已行驶的部分的颜色与即将行驶的部分的颜色不同 现在都是同一个颜色 将 MapRoute 对象的 TravelColor 变量设置为透明对我来说很有效 mapRoute color Resou
  • Javafx过滤表视图

    我正在尝试使用文本字段来过滤表视图 我想要一个文本字段 txtSearch 来搜索 nhs 号码 名字 姓氏 和 分类类别 我尝试过在线实施各种解决方案 但没有运气 我对这一切仍然很陌生 所以如果问得不好 我深表歉意 任何帮助将不胜感激 我
  • 如何在 Viewpager 中禁用预加载下一页? [复制]

    这个问题在这里已经有答案了 如何在 Viewpager 中禁用页面预加载 I tried viewPager setOffscreenPageLimit 0 但它不起作用 用这个viewPager setOffscreenPageLimit
  • Netty:阻止调用以获取连接的服务器通道?

    呼吁ServerBootstrap bind 返回一个Channel但这不是在Connected状态 因此不能用于写入客户端 Netty 文档中的所有示例都显示写入Channel从它的ChannelHandler的事件如channelCon
  • 按钮 - 单击时更改背景颜色

    我的活动中有 8 个按钮 我正在寻找的是 按钮具有默认背景 单击按钮时 背景颜色应更改为其他颜色 这部分非常简单 但是 当我单击任何其他按钮时 第一个按钮的背景颜色应该变回默认颜色 我知道这将使用 选择器状态 来完成 但我不太确定如何实现它
  • 如何在android asynctask中使用inputstream作为参数?

    我正在制作一个 Android 应用程序来跟踪股票详细信息 我将通过 csv 雅虎财经 检索数据 据我所知 在android 4 0中 网络连接无法在主线程上完成 因此 我将使用 asynctask 来建立连接 但是 我在参数方面遇到了一些
  • HQL Hibernate 内连接

    我怎样才能在 Hibernate 中编写这个 SQL 查询 我想使用 Hibernate 来创建查询 而不是创建数据库 SELECT FROM Employee e INNER JOIN Team t ON e Id team t Id t
  • 将 Azure AD 高级自定义角色与 Spring Security 结合使用以进行基于角色的访问

    我创建了一个演示 Spring Boot 应用程序 我想在其中使用 AD 身份验证和授权 并使用 AD 和 Spring Security 查看 Azure 文档 我执行了以下操作 package com myapp contactdb c
  • 在 KitKat 4.4.2 中获取 SDard 路径和大小

    我在 Google Play 上有一个设备信息应用程序 在该应用程序中我有存储信息 我知道 Android 4 4 在访问外部 SD 卡方面发生了一些变化 内部似乎没有给我带来问题 我的问题是 如何可靠地获取 KitKat 上 SD 卡的大
  • Android 中循环事件的星期几和时间选择器

    我想创建一个控件 允许用户在我的 Android 活动中选择一周中的某一天 星期一 和一天中的某个时间 下午 1 00 找不到任何关于此的好帖子 好吧 我想我已经明白了 我只是不喜欢这个解决方案 因为我在一周中的某一天使用的微调器与时间选择
  • Java中的Object类是什么?

    什么是或什么类型private Object obj Object http download oracle com javase 6 docs api java lang Object html是Java继承层次结构中每个类的最终祖先 从
  • javafx android 中的文本字段和组合框问题

    我在简单的 javafx android 应用程序中遇到问题 问题是我使用 gradle javafxmobile plugin 在 netbeans ide 中构建了非常简单的应用程序 其中包含一些文本字段和组合框 我在 android
  • 为什么这个作业不起作用?

    我有课Results which extends ArrayList
  • hashcode 的默认实现为以相同方式构造的对象返回不同的值

    我在这里编写一个示例代码 public class Test private int i private int j public Test TODO Auto generated constructor stub public Test
  • 在Android Studio gradle项目中使用NDK和STL

    我在将 stlport 链接到 Android Studio 中的 gradle 项目时遇到问题 使用 NDK 的 Eclipse Android 项目迁移到 Android Studio 该项目使用 STL 我有包含内容的 android
  • ServletContainer 类未找到异常

    我无法再编译我的球衣项目 并且出现以下异常 GRAVE Servlet Project API threw load exception java lang ClassNotFoundException com sun jersey spi
  • 如何在片段中实现 onBackPressed() 和意图?

    我知道 onBackPressed 是活动中的一种方法 但是 我想在片段中使用该功能 以便当按下后退按钮时 它会通过 Intent 重定向到另一个活动 有什么办法解决这个问题吗 public class News Events fragme
  • 带有 Maven Wrapper 的 Java 17 导致无法识别的 VM 选项“MaxPermSize=512m”

    I use OpenJDK 17 https jdk java net 17 使用 Maven Wrapper 3 8 2 从春季初始化 https start spring io Maven项目 JAR打包 Java 17 Spring

随机推荐

  • ASP.NET vNext 可以使用非 vNext 引用吗?

    所以我在 VS 14 CTP 中有一个 ASP NET vNext 项目 我的目标是 NET Framework 4 5 1 我添加了对 NuGet 包的引用 该包没有特定于 vNext 的构建 Visual Studio 现在在编辑器 I
  • 视频无法在 iPad/iPhone 上播放

    我正在建立一个网站 daratogaincontrol com 在该网站上 我使用 videolightbox 来播放视频 这些视频无法在 iPad 或 iPhone 上播放 该网站在台式机 Mac 和 PC 上运行良好 videoligh
  • 存储 1 到 1000 素数的链表

    正如您将在以下程序的注释中看到的那样 我应该创建一个列表来存储从 1 到 1000 的所有素数并释放节点 其中只有两个功能是我的工作 然而 我很长时间都没有弄清楚为什么这个程序不能编译 你们看到错误了吗 这是已经交的作业 仅供我个人参考 i
  • 防止创建配置文件

    我正在尝试构建一个包 其中包含一些文件 etc那些不是配置 它们包含在conffiles即使我创建一个空的也自动package conffiles in the debian目录 我怎样才能停下来dh installdeb这样做 我不确定我
  • 在 Eclipse 中设置自定义语法突出显示的快速方法

    我知道我不是第一个需要这个的人 我正在开发一个内部创建的代码库 我想在 Eclipse 中对其应用突出显示 在 Notepad 中 我可以为我正在查看的文件设置语言 有什么办法可以为 Eclipse 做到这一点吗 我正在编写的代码将使用与
  • 如何在 Python 中编写一个函数将 csv 的每一行翻译成另一种语言?

    如何在 Python 中编写一个函数 将 csv 文件的每一行翻译为另一种语言 并使用 pandas 将翻译作为另一列添加到同一 csv 中 我的输入文件如下所示 我希望我的输出是这样的 我是这样开始的 from googletrans i
  • ActionController::UrlGenerationError,没有路由匹配

    我已经阅读了我能找到的所有类似问题 但仍然无法找出我的问题 routes rb Rails application routes draw do resources lists only index show create update d
  • 将装饰器列表应用于可调用对象?

    给定一系列装饰器方法 如何将它们应用于可调用对象 例如 因为 foo bar def baz pass 是相同的 def baz pass baz foo bar baz 人们会假设有一个装饰器列表 foo bar 它们可以应用于baz动态
  • ms-access:数据库引擎找不到输入表或查询

    这是查询 SELECT FROM SELECT Occurrence Number Occurrence Date 1 0 Preanalytical Before Testing Cup Type NULL as 2 0 Analytic
  • 找不到“id”=sign_out 的用户

    我正在 Rails 中使用设备 但现在无法注销我的用户 当我使用 users log out 页面时 出现以下错误 ActiveRecord RecordNotFound in UsersController show Couldn t f
  • 为ggmap创建base_layer无法识别data.frame

    我正在尝试使用 ggmap 在地图上绘制位置 因为我想使用分面 所以我必须提供base layer论证ggmap 我也试图将其包装在一个函数中 我有定义地图边界框的变量 long range lt c 71 5 67 5 lat range
  • cakephp 2.0 smtp 电子邮件

    我正在尝试使用 CakePhp 2 0 发送电子邮件 在我的控制器中我使用这个代码 我知道它很好 我从烹饪书 http book cakephp org 2 0 en core utility libraries email html Ap
  • Python 中从右到左的字符串替换?

    我想在 Python 中进行字符串替换 但只执行从右到左的第一个实例 在理想的世界中我会 myStr mississippi print myStr rreplace iss XXX 1 gt missXXXippi 鉴于此 最好的方法是什
  • Sublime 就像 HTML5 中的多个光标

    您知道如何在浏览器中使用 Sublime 或 Cloud 9 之类的多光标功能吗 我想要多个光标textarea 可能在多个文本区域中 应该可以使用 HTML5 但在网络上没有找到任何内容 谢谢你 正如巴洛普所说王牌编辑有多个光标 如果你想
  • VB6 - Foxpro 2.6 XP 上没有 isam 错误

    老板给了我一些相当古老的遗留代码 全部用 VB6 完成 安装 Visual Studio 6 和其他一些东西后 我终于能够打开该项目并实际编译 运行它 我的新问题来自这行代码 Set db DBEngine Workspaces 0 Ope
  • 为什么在 Ruby 中捕获命名组会导致“未定义的局部变量或方法”错误?

    我在 Ruby 2 0 中的正则表达式中的命名捕获方面遇到问题 我有一个字符串变量和一个内插正则表达式 str hello world re w
  • 使用VBA检查下面的单元格是否为空

    如何在 Excel 中使用 VBA 检查下面的单元格是否为空 我想对特定范围内的所有值求和 但前提是下面的单元格不为空 通过 VBA 或任何其他方式可以实现这一点吗 Example 4 2 3 2 1 2 3 1 总和为 4 3 2 9 尝
  • 涉及 sin() 的两个非常相似的函数表现出截然不同的性能 - 为什么?

    考虑以下两个程序 它们以两种不同的方式执行相同的计算 v1 c include
  • SQL Loader - 多个文件和抓取文件名

    我有一个包含超过 400K txt 文件的文件夹 名字像 deID RESUL 12433287659 txt 234323456 txt deID RESUL 34534563649 txt 345353567 txt deID RESU
  • ContentResolver 和“where”条件中的“IN”语句

    我正在尝试根据联系人的 id 获取光标以获取联系人列表 我不太确定如何将 IN 语句与参数数组一起使用 我目前所拥有的会导致错误 public Cursor GetContacts String ids ContentResolver cr