以编程方式(Kotlin)在Android中修改和显示联系人的最佳方式?

Posted

技术标签:

【中文标题】以编程方式(Kotlin)在Android中修改和显示联系人的最佳方式?【英文标题】:Best way of modifying and displaying contacts in Android programmatically (Kotlin)? 【发布时间】:2021-01-18 14:03:59 【问题描述】:

我有一个应用程序,您可以在其中获取和显示 SIM 卡中的联系人,并且能够修改该联系人的特定值。

目前我正在使用 ContentResolver 来获取和修改联系人;不幸的是,这意味着性能不是很好,因为每次修改联系人时,都会再次从手机中获取它们,这需要一些时间。

第一次打开应用程序时填充数据库,然后对数据库和手机进行任何修改会更好吗?

这样我猜我只需要在第一次启动应用程序时使用 ContentResolver 加载联系人,这样可以节省切换窗口的时间。或者我可以保留联系人对象并对对象和电话进行更改吗?或者有没有更好的方法?只是想知道最佳做法是什么。

【问题讨论】:

【参考方案1】:

如果用户在您的应用中修改了联系人,我假设该应用具有该联系人的联系人 ID。

如果是这样,您可以简单地刷新该联系人的信息,并保持其余信息不变。

您应该在 Activity 的 onResume 回调中获取所有联系人,以便应用程序在被带到前台时显示新信息。

您使用ContentResolver这一事实并不意味着您必须刷新所有联系人才能显示更新的信息。

【讨论】:

以上是关于以编程方式(Kotlin)在Android中修改和显示联系人的最佳方式?的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式修改 android:exported

SMS Retriever API - 如何以编程方式获取 SMS?

如何在 Android 中以编程方式解压缩文件?

为啥 CheckBox 检查不以编程方式与 Kotlin 一起工作?

如何以编程方式在 Android Q 中打开设置面板?

有没有办法以编程方式使用kotlin更改片段中的文本颜色?