カレンダーの洗い出し

カレンダーから1件だけ予定を抜き出してくるということをやろうとしてみたら、意外と面倒だったわけですが…。
getContentResolver().query()の書式さえわかれば、あとはなんとかなりました。

↓コードが見づらくてすいません。

Uri eventUri = Uri.parse(“content://calendar/events”);
Cursor eventCursor = getContentResolver().query(eventUri,new String[]{“dtstart”,”title”},”dtstart > ” + System.currentTimeMillis(),null, “dtstart asc”);

直近のイベントを降順で取り出す。
「SELECT dtstart,title FROM (データベース名) WHERE dtstart > (現在のミリ秒) ORDER BY dstart asc」です。

ほんとは、LIMIT 1とかつけないとダメでしょうけど。

この前にどんだけカレンダーがあるかを探してくる処理もあるんですが、それはmanagedQueryを使えばいいようです。

しかし…これ、ふつーにアプリで使っていいんだろうか。
カレンダーアプリはいくつか出てるから気にしなくてもいいのかな。

広告

About sato_c

小学生の頃にインベーダーゲームやPC-8001やApple][といったものを知ってしまい、それ以降ずーっとゲーム好き。でも、あんまりうまくはありません。 仕事は当初はゲーム関係のプログラムやサウンドをやっていましたが、WEB関係を通ったあと、遊技機関係のプログラムやサウンドをやっています。あまり節操がないのか。 現在はJavaですてきなコードを書けるように勉強中。

2 responses to “カレンダーの洗い出し”

  1. 山田 says :

    おかげで カレンダーから予定を取り出す方法がわかりました。 ありがとうございます。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。