Android SQLite“动态”添加联系人

Posted

技术标签:

【中文标题】Android SQLite“动态”添加联系人【英文标题】:Android SQLite adding contacts 'dynamically' 【发布时间】:2015-08-01 12:22:06 【问题描述】:

在我的 android 应用中,Activity 执行查询以获取手机上的联系人并将其存储到 sqlite 数据库中。目前,这在 Activity 的第一次启动期间只执行一次,因为该操作大约需要两秒钟才能执行(这实际上是很多时间)

但是,这种解决方法会带来一个问题:如果手机用户添加了一些联系人,我的应用将永远无法获取它们。然后,我想知道我的应用程序是否可以“监听”该事件并在该事件发生时将联系人添加到数据库中。

这样的事情可能吗?

【问题讨论】:

您是否尝试检查联系人列表中的联系人数量是否更改以及是否更改 - 将最后添加到您的数据库中? 查看此链接。 ***.com/questions/1401280/… 【参考方案1】:

你可以使用ContentObserver来做到这一点。

你必须简单

实现ContentObserver的子类

您必须注册您的 ContentObserver 才能监听更改。

更多细节可以关注这篇文章Use Android’s ContentObserver in Your Code to Listen to Data Changes

【讨论】:

谢谢,这正是我所需要的。我阅读了您提供的文章,但您能否告诉我观察者是否会注意到更改,即使在更改期间应用程序没有运行? 当您的应用程序未运行时,内容观察器的生命周期不会结束。因此,如果您的应用程序关闭,它就无法监听更改。 那很不幸,一个应用程序不应该永远打开。是否有任何解决方法或其他解决方案?

以上是关于Android SQLite“动态”添加联系人的主要内容,如果未能解决你的问题,请参考以下文章

Android:如何将数据与联系人相关联

优化数以千计的 SQLite 查询 android

如何在搜索栏中按名字和姓氏排序 - Sqlite

在 Android 中高效处理动态列表视图项

用于加载联系人的Phonegap Jquery Pagination - 当用户到达最后一页时如何动态添加页面?

Android AlertDialog 在每个请求上动态更改文本