1

PHPでCalDAV/CardDAVサーバーを構築しました。次のステップは、Androidクライアントを作成することです(既存のクライアントは使用できません)。

私はこれまでAndroid向けに開発したことがないので、この種のプロジェクトに最適なアプローチを探しています。

http://developer.android.comを読みましたが、まだ少しあいまいです。私が持っている最大の質問は、Androidで既存のカレンダー/連絡先アプリケーションを再利用するのは理にかなっていますか、それとも自分でロールするのは理にかなっていますか?

  • カレンダー/連絡先と同じ画面から同期機能/設定にアクセスできるようにしたい。 これは、デフォルトのカレンダー/連絡先アプリケーション(つまり、ある種のプラグイン)で可能ですか?
  • 簡単に言うと、CalDAV / CardDAVサーバーから取得/プッシュされるデータは、.icsおよび.vcf形式になります。 これが「コンテンツプロバイダー」でどのように機能するかについては、少しわかりません。

したがって、同期時に、データは.ics / .vcfのサーバーからプルされ、「コンテンツプロバイダー」にマップされ、保存されますか?またはその逆の場合、コンテンツプロバイダーに新しく保存されたデータは.ics / .vcfに変換されてから、サーバーにプッシュされますか?

4

1 に答える 1

2

Androidで既存のカレンダー/連絡先アプリケーションを再利用すること、または自分でロールすることは理にかなっていますか?

間違いなく、これら2つのアプリを再利用しない場合、ユーザーはアプリのインストールを選択しない可能性があります。

これは、デフォルトのカレンダー/連絡先アプリケーション(つまり、ある種のプラグイン)で可能ですか?

はい、可能です。カレンダーの読み取り/書き込みには2つの権限があります。

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カレンダーの操作のような多くのチュートリアルがあります。

連絡についても同様です。2つの権限:

android.permission.READ_CONTACTS
android.permission.WRITE_CONTACTS

コンテンツプロバイダー:

ContactsContract.RawContacts.CONTENT_URI

チュートリアル:

連絡先プロバイダー

簡単に言うと、CalDAV / CardDAVサーバーから取得/プッシュされるデータは、.icsおよび.vcf形式になります。これが「コンテンツプロバイダー」でどのように機能するかについては、少しわかりません。

これら2つのコンテンツプロバイダーのデータを.icsおよび.vcf形式にエクスポートする必要があります。連絡先を例にとる と、Androidのすべての連絡先に対して1つの.vcfファイルを作成する方法

于 2013-02-20T03:39:43.627 に答える