1

我用 PHP 构建了一个 CalDAV/CardDAV 服务器。下一步是创建一个 Android 客户端(不能使用现有的)。

我以前从未为 Android 开发过,所以我正在为这类项目寻找最佳方法。

我已经阅读了http://developer.android.com,但还是有点模糊。我最大的问题是:在 Android 中重用现有的日历/联系人应用程序或自己动手是否有意义?

  • 我希望从与日历/联系人相同的屏幕访问我的同步功能/设置。 这可能与默认日历/联系人应用程序(即某种插件)
  • 简短的故事是从 CalDAV/CardDAV 服务器检索/推送到的数据将采用 .ics 和 .vcf 格式。 我有点不清楚这将如何与“内容提供者”一起使用。

因此,在同步时,是否会从 .ics/.vcf 中的服务器中提取数据,映射到“内容提供程序”并保存?或者反之,新保存到Content Provider的数据会不会被转换成.ics/.vcf,然后推送到服务器?

4

1 回答 1

2

在 Android 中重用现有的日历/联系人应用程序或自行开发是否有意义?

当然,如果您不重复使用这两个应用程序,用户可能不会选择安装您的应用程序。

这可能与默认日历/联系人应用程序(即某种插件)

是的,有可能,读/写日历有两种权限。

android.permission.READ_CALENDAR
android.permission.WRITE_CALENDAR

WRITE_CALENDAR 允许应用程序写入用户的日历数据。

将这些权限放入您的 AndroidManifest.xml。然后,您将能够操作默认日历应用程序使用的内容提供程序。

calanderURL = "content://com.android.calendar/calendars";  //Calendar
calanderEventURL = "content://com.android.calendar/events";  //Events
calanderRemiderURL = "content://com.android.calendar/reminders"; //Reminders

有很多教程,如使用 Android 日历,介绍如何使用日历。

对于接触,它是相似的。两个权限:

android.permission.READ_CONTACTS
android.permission.WRITE_CONTACTS

内容提供商:

ContactsContract.RawContacts.CONTENT_URI

教程:

联系人提供者

简短的故事是从 CalDAV/CardDAV 服务器检索/推送到的数据将采用 .ics 和 .vcf 格式。我有点不清楚这将如何与“内容提供者”一起使用。

您需要将这两个内容提供程序中的数据导出为您的 .ics 和 .vcf 格式。以联系人为例: 如何为android中的所有联系人创建一个.vcf文件

于 2013-02-20T03:39:43.627 回答