カレンダーへのアクセス方法

1,007 views
Skip to first unread message

denmushi

unread,
May 31, 2009, 2:51:52 AM5/31/09
to Android-SDK-Japan
はじめまして、android開発初心者です。

androidで動作するカレンダー・アプリを作ってみようと思い勉強中なのですが、SDKを見る限り、標準のカレンダーにアクセスするAPIというも
のが見当たらない気がします。

また、androidなので、Google Calendarにアクセスする標準的な方法が用意されているのかなとも思い調べているのですが、どうも見
当たりません。
ContentPrividerのリファレンスを見ても、ContactとMedia関連のものはあるけど、Calendarはないようですし。

標準的なカレンダーへのアクセス方法について、助言をいただきたいのです。
よろしくお願いいたします。

Hideo Kinami

unread,
Jun 1, 2009, 5:53:15 AM6/1/09
to android-...@googlegroups.com
はじめまして。木南です。

> 標準的なカレンダーへのアクセス方法について、助言をいただきたいのです。

残念ながら、現在、Androidに付属しているカレンダーは、コンテントプロバイダー経由でのアクセスには対応していないようです。
# 内部的には、カレンダープロバイダーは、存在しているようですが、APIとしては公開されていないように見えます。

もし、他にフォローできる人がいれば、よろしくお願いいたします!
--
Hideo

2009/05/31 15:51 denmushi <denm...@gmail.com>:
--
木南 英夫 (http://d.hatena.ne.jp/hkinami/)

がく

unread,
Jun 1, 2009, 7:11:51 AM6/1/09
to Android-SDK-Japan
こんにちは、がくです。

木南さんが言われているように、公式ドキュメントには記載されていません。
ただ、公式ドキュメントには記載されていないが、使用できるコンテントプロパイダーは多く存在します。
ドキュメントが遅れているのか、理由があって公開していないのかは定かではありませんが、私は非公式でも使用しています。(将来的に互換性問題が出るこ
とがありますが、それは覚悟の上で使用しています)

カレンダーアプリですと、Androidのソースをダウンロードしてきて、packages/providers/CalendarProviderプ
ロジェクトもしくは、packages/apps/Calendarあたりを参考にするのが良いかと思います。

私は、CalendarのContentProviderは使用したことはないので確信は持てませんが。。。


On 6月1日, 午後6:53, Hideo Kinami <hkin...@gmail.com> wrote:
> はじめまして。木南です。
>
> > 標準的なカレンダーへのアクセス方法について、助言をいただきたいのです。
>
> 残念ながら、現在、Androidに付属しているカレンダーは、コンテントプロバイダー経由でのアクセスには対応していないようです。
> # 内部的には、カレンダープロバイダーは、存在しているようですが、APIとしては公開されていないように見えます。
>
> もし、他にフォローできる人がいれば、よろしくお願いいたします!
> --
> Hideo
>
> 2009/05/31 15:51 denmushi <denmu...@gmail.com>:

denmushi

unread,
Jun 1, 2009, 10:34:19 AM6/1/09
to Android-SDK-Japan
木南さま、がくさま、はじめまして、回答ありがとうございます。

確かに公式ドキュメントにはありませんよね。
CalendarProviderについての言及には、検索する中で何度かお目にかかったような気がしますので、
もう少し調べてみます。

また一方で、gdata APIをandroidから利用しようとしている人や、
android-gdataというGoogle Groupでは、gdata APIをandoroid用に作成している人もいるようです。

何か新たに分かりましたら、ご報告させていただきます。

denmushi

unread,
Jun 2, 2009, 10:34:17 PM6/2/09
to Android-SDK-Japan
Androidのソースをダウンロードして調べてみました。
packages/apps/Calendarつまりカレンダーアプリでは当然ながらCalendarProviderを介してデータにアクセスしてお
り、
一方CalendarProviderそのものは、SQLite上にデータベースを構築してイベント等を扱っていました。

なぜ現在のSDKにはこれらのパッケージが存在しないのか分かりませんが、実機には実装されている
ということでしょうから、カレンダーにアクセスするなら是非ContentProvider経由でアクセスしたいのですが、
SDKに存在しないため、コードも書きにくいですし、エミュレータ上でも確認できません。

試みに以下のサイトを参考に、CalendarとCalendarProviderのパッケージをmakeして(言葉遣いがおかしかったら指摘してくだ
さい)、Calendar.apkとCalendarProvider.apkをエミュレータにインストールしてみたのですが、カレンダーアプリはイン
ストールはされたものの、実行してもすぐHomeに戻ってしまい正常には動作しませんでした。

http://caustiq.esoteriq.org/nb/archives/2009/01/28/index.html

さてこれからどうしたものか、行き詰ってしまいました。

がく

unread,
Jun 2, 2009, 11:08:44 PM6/2/09
to Android-SDK-Japan
がくです。

こんにちは

> なぜ現在のSDKにはこれらのパッケージが存在しないのか分かりませんが、実機には実装されている
> ということでしょうから、カレンダーにアクセスするなら是非ContentProvider経由でアクセスしたいのですが、
> SDKに存在しないため、コードも書きにくいですし、エミュレータ上でも確認できません。

まったくそのとおりですが、そんな感じとして受け止めておくと今後楽になるかと思います。
こちらでもカレンダーContentProvider経由でのデータ読み込みをやり始めました。
特に問題なく読み込めています。

デバックはDevPhoneを利用しています。
Reply all
Reply to author
Forward
0 new messages