无论如何使用Android编程使用URI来放置JOIN条件?
Posted
技术标签:
【中文标题】无论如何使用Android编程使用URI来放置JOIN条件?【英文标题】:Is there anyway to put a JOIN conditions using URIs using Android Programming? 【发布时间】:2012-01-30 10:40:10 【问题描述】:我实现了一个小应用程序,它会列出收件箱中的所有短信,并显示联系人号码和姓名。
我必须使用两个 URI,一个是获取 SMS,另一个是获取与该 SMS 相关的联系信息。
这种方法在列出所有带有联系人姓名的 SMS 时存在很多性能问题。我的 600MHz android 手机需要很长时间才能安静下来。
但我的原生 SMS 应用程序在几分之一秒内启动。我真的不知道如何实现这一点。
我正在考虑在两个 URI 上使用 JOIN 条件的一种方式,因为我不知道如何在 Content://SMS/inbox 和联系人数据上使用 rawQuery。
任何帮助将不胜感激。在此先感谢..
【问题讨论】:
ContentProvider/ContentResolver API 仅公开在提供程序本身中显式声明的 JOIN - 这些 JOIN 通常仅在该提供程序的 SQLite 数据库中 - 如果您需要来自两个提供程序的信息,您将必须在 sw 中进行,例如使用可怕的错误 CursorJoiner(不知道他们是否愿意修复那个)。 【参考方案1】:但我的原生 SMS 应用程序在几分之一秒内启动。我真的不知道如何实现这一点。
他们可以直接访问自己的数据库,因此可以直接使用 JOIN。您不能在 ContentProviders
之间表达 JOIN。
【讨论】:
以上是关于无论如何使用Android编程使用URI来放置JOIN条件?的主要内容,如果未能解决你的问题,请参考以下文章
如何从用户手机获取联系人 URI 并在 android 中使用 glide 加载
Android Google Maps URL 查询 - 离线放置标记
PHP:正则表达式,如何验证 android 和 ios 深层链接 URI