AlarmManager 或 CalendarProvider,像 Keep 或 Evernote 这样的应用应该使用什么?

AlarmManager or CalendarProvider, What should be used for an app like Keep or Evernote?

我正在开发一个 android 应用程序,就像 Google Keep 和 Evernote 一样。现在我想一次添加许多提醒或警报并重复。我有两种选择,但我很困惑。

我曾经遇到过这个问题。您问题的答案取决于两件事:

1.你有多少时间?

2. 您对 ContentProvider 的总体感觉如何?

您可以通过三种方法解决此问题:

1. 使用 AlarmMangerService 并滚动您自己的 SQLite 数据库。这是最快最简单的方法。

2. 使用 CalendarProvider 这将利用其内部的 Service 和数据库机制。这将需要属于用户的有效 Google 帐户,而且用户还可以独立于您的应用程序创建/修改/删除警报。

3. 创建自定义 ContentProvider,它有自己的内部 Services 和自己的 SQLite 数据库 CRUD操作。这是最复杂、最耗时的方法,但您会学到很多东西。这种方法的优点(除了获得的知识之外)是 ContentProvider 可以通过定义明确的界面与 phone 上的其他应用程序共享其数据。

AlarmManager 适用于您想要控制在未来某个时间做某事的情况,例如使用 Notification 进行事件提醒。

CalendarProvider 适用于您想要向用户的日历添加内容的情况(例如,大多数 Android 设备上的 Google 日历)。你没有得到控制权,用户可以删除事件等