Titanium Mobileで作る! iPhone/Androidアプリ

第19回 Android のカレンダーを操作してみる

この記事を読むのに必要な時間:およそ 3 分

イベントの追加

カレンダーを指定して,イベントを追加することもできます。

win.activity.onCreateOptionsMenu = function(e) {
    var menu = e.menu;
    var menuItem = menu.add({ title: "Add Event" });
    menuItem.addEventListener("click", function(e) {
        var now = new Date();
        var end = new Date(now.getTime() + 3600 * 1000);
        calendar.createEvent({
            title: 'test',
            description: 'test event',
            begin: now,
            end: end
        });
    });
};

イベント一覧を表示していたevent_list.jsの末尾にこのようなコードを加えます。これで,menuボタンを押すとAddEventというメニューが現れるので新たにイベントを生成することができます。入力欄の表示を省略していますので,testというイベントが現在時間を起点に作成されます。実機でテストしたあとは,GoogleカレンダーをWeb上で確認するとイベントが追加されていることがわかります。

Reminderの設定

イベントにはReminderを設定することができます。Reminderを設定しておくと指定時間にSMS,E-mail,Alertでイベントが近づいていることをユーザーにお知らせすることができます。

var eventObj = calendar.createEvent({
    title: title,
    description: description,
    begin: begin,
    end: end
});
eventObj.createReminder({
    minutes: 10,
    method: Ti.Android.Calendar.METHOD_EMAIL
});

作成したイベントオブジェクトからさらにcreateRemindeメソッドを呼ぶことでReminderがセットできます。

この例だと,10分前に,メールでイベントが通知されます。通知方法を設定するmethodパラメタに設定する値はTi.Android.Calendarオブジェクトの定数で定義されています。

まとめ

今回はAndroidのカレンダーに対する操作について解説しました。サンプルで扱ったコードはgithubにありますのであわせてご覧ください。Android特有の機能はほぼ解説し終わったので,次回以降はFacebookやYQLなどの外部サービス呼び出しなど,今までの記事で解説しきれなかった便利な機能について解説していきたいと考えています。

著者プロフィール

倉井龍太郎(くらいりゅうたろう)

株式会社はてな アプリケーションエンジニア。

スマートフォンアプリからSQLチューニングまで幅広く格闘中。好きな言語はRuby。

URLhttp://d.hatena.ne.jp/r_kurain/
Twitter@kurain