当前位置: 首页 > 面试题库 >

不建议使用的ManagedQuery()问题

董胡非
2023-03-14
问题内容

我有这种方法:

public String getRealPathFromURI(Uri contentUri) {
    String[] proj = { MediaStore.Images.Media.DATA };
    Cursor cursor = managedQuery(contentUri, proj, null, null, null);
    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
    cursor.moveToFirst();
    return cursor.getString(column_index);
}

不幸的是,编译器向我显示了以下问题:

Cursor cursor = managedQuery(contentUri, proj, null, null, null);

因为managedQuery()已弃用。

不使用该如何改写此方法managedQuery()


问题答案:

您可以用context.getContentResolver().query和替换它LoaderManager(您需要使用兼容性包来支持API版本11之前的设备)。

但是,您似乎只使用了一次查询:您甚至可能不需要它。也许这行得通吗?

public String getRealPathFromURI(Uri contentUri) {
    String res = null;
    String[] proj = { MediaStore.Images.Media.DATA };
    Cursor cursor = getContentResolver().query(contentUri, proj, null, null, null);
    if(cursor.moveToFirst()){;
       int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
       res = cursor.getString(column_index);
    }
    cursor.close();
    return res;
}


 类似资料:
  • 问题内容: 我有以下代码将JasperReprot导出到XLS: 升级到 JasperReports 5.6, 所有setParameter都标记为“已弃用”,我找不到适合此代码的文档。 如何使用 JasperReports 5.6 将报告导出到xls ? 问题答案: JRExporter在5.6中已弃用。他们引入了新的接口Exporter,并对所有的Exporter进行了改造,使其具有Expor

  • 问题内容: 今天,由于扩展程序出现问题,我不得不重新启动浏览器。重新启动时发现,我的浏览器(Chromium)自动更新为不再允许同步AJAX请求的新版本。引用: 不赞成在主线程上使用同步XMLHttpRequest,因为它会对最终用户的体验产生不利影响。如需更多帮助,请访问http://xhr.spec.whatwg.org/。 我需要node.js应用程序的同步AJAX请求才能工作,因为它们通过

  • 问题内容: 我最近一直在使用Hibernate 3.5和Spring 3进行一些工作,但是我对Hibernate还是比较陌生,并认为Spring中的类使将Hibernate与我的域类一起使用变得容易且容易。 但是,在搜索一个不相关的问题时,我看到有人提到,这不是使用Spring和Hibernate的最佳方法。任何人都可以阐明以下几点: 为什么不推荐? 整合Hibernate和Spring的最佳方法

  • 问题内容: 我正在使用jQuery 1.7,并且已将其用于AJAX记录,但是我了解到该功能已被弃用。 我需要使用回调,但这不起作用: HTML: 问题答案: 继续评论:当您似乎不需要 回调时 ,您似乎对它有些痴迷!:) 对现有代码的简单更改是丢弃并简单地将代码放入ajax调用的成功部分:

  • 查看的谷歌文档,它们显示了下面关于如何获取的示例代码: 当使用最新的依赖项时,没有这样的类。 转到的文档,我看到一条评论说: 这个类在API级别1.1.0中被弃用。使用ViewModelProvider。Android模型工厂 问题是,当尝试使用,找不到方法的等效

  • 问题内容: 我切换到PHP 5.6.0,现在到处都收到以下警告: 很好,我依靠一些不推荐使用的功能。除了 我不知道! 我从未在任何脚本中使用过此变量。老实说,我什至不知道它甚至存在。 显示我已设置为0(禁用)。那么发生了什么? 我不想通过将此值设置为-1来“避免警告”。这只会隐藏警告,而我仍将弃用配置。我想从根本上解决问题,并且知道PHP为什么认为填充已打开。 问题答案: 事实证明,我对错误消息的