---
title: "MobileTogetherとの連携による、モバイルアプリのカレンダー機能"
date: "2018-03-27"
categories: 
  - "app-development"
  - "mobile"
  - "mobile-development"
  - "mobiletogether"
tags: 
  - "calendar-integration"
  - "mobile-development"
  - "mobiletogether"
description: MobileTogetherを活用したクロスプラットフォーム開発において、モバイルアプリのカレンダー連携機能を実装する方法を解説します。これにより、イベントの管理と同期をシームレスに行うことが可能になります。
---
Status: #blog

Tags:  #calendar-integration #mobile-development #mobiletogether

Categories: [mobile-development](/blog/ja/category/mobile-development.md) | [mobile-development](/blog/ja/category/mobile-development.md) | [mobile-development](/blog/ja/category/mobile-development.md) | [mobile-development](/blog/ja/category/mobile-development.md)
# MobileTogetherとの連携による、モバイルアプリのカレンダー機能

MobileTogetherは、開発者がAndroid、iOS (iPhone、iPad)、Windows 8 & 10、Windows Phone 10、およびHTML5ブラウザといった様々なプラットフォームで、ネイティブアプリをクロスプラットフォームで展開するための、モバイルデバイスが持つ豊富な機能を包括的に利用できる環境を提供します。MobileTogetherで作成されたアプリは、単一のデザインから作成されるにもかかわらず、モバイルデバイスのカメラ、メッセージング、GPS、オーディオ、メール機能にシームレスにアクセスでき、さらにモバイルアプリのカレンダー機能との連携も可能です。

MobileTogetherは、視覚的なドラッグ＆ドロップによるUIデザインと、データ選択のための分かりやすい関数型プログラミングを組み合わせているため、あらゆるプログラマーやウェブ開発者が、あらゆるプラットフォームに対応した、高度なカレンダーイベントの読み書きを行うアプリケーションを容易に開発できます。例えば、大規模な分散型ユーザーベース向けのモバイルスケジュールアプリは、すべてのユーザーが簡単にカレンダーを同期できるよう支援することができます。

[![電子書籍リーダー](/blog/images/shutterstock_160560011.jpg)](shutterstock_160560011.jpg)

<!--more-->

従業員が広く分散している企業向けの、休暇スケジュール管理アプリについて見ていきましょう。多くの企業が、自社のニーズに合わせたカスタマイズされた人事アプリを開発しており、その中で休暇スケジュールの管理機能が、より大規模な人事アプリの一部として提供されることがあります。

以下は、Androidスマートフォンで利用できる、新しいデザインのライトテーマで表示される祝日カレンダーです

[![人事管理アプリにおける、モバイルアプリのカレンダー連携機能（祝日スケジュール）](/blog/images/holiday-schedule-app.png)](holiday-schedule-app.png)

このアプリは、画面中央にスクロール可能な表形式で、アメリカおよびEUのすべての祝日を表示します。ユーザーは、個別に選択した祝日や、まとめてグループ単位でカレンダーを更新できます。画面左上にある表のヘッダーにあるチェックボックスを使用すると、一度クリックするだけで、すべての祝日を選択または選択解除できます。

祝日の一覧は、外部ファイルに保存されており、年ごとに簡単に更新できます。以下は、開発者がMobileTogether Designer上で確認できるデータ構造の一例です

[![モバイルアプリのカレンダー連携に使用するデータソース](/blog/images/mobiletogether-page-sources.png)](mobiletogether-page-sources.png)

画面下部のボタンをクリックすると、ホリデー スケジュール アプリから、ユーザーのモバイルデバイスにインストールされているカレンダーアプリが起動します。これらのボタンの機能は、特定のデバイスに依存しない、MobileTogetherのAction Treeによって定義されています。Action Treeを使用することで、開発者は、モバイルオペレーティングシステムごとに異なるAPIやSDKの詳細を考慮することなく、あらゆるデバイスで同じように動作する、高度なイベントハンドラ、制御フロー、および操作を構築できます。

以下に、選択された祝日に関するアクションツリーを示します

[![モバイルアプリのカレンダー連携機能における操作例](/blog/images/action-tree.png)](action-tree.png)

このアクションツリーは、まず、祝日リストを反復処理するためのループから始まります。ループ内では、if-then文を使って、その祝日が選択されているかどうかを確認し、選択されている場合は、Write Calendarアクションが、そのイベントをモバイルデバイスの標準カレンダーアプリに送信します。

アクションツリーは、アクションダイアログの左側にあるアクションをドラッグしてアクションツリーの領域に配置し、必要に応じてパラメータを追加することで作成されます。また、アクションツリーはアクショングループに保存することで、簡単に再利用することができます。

[![カレンダー連携機能を備えたモバイルアプリを開発するための、完全な操作手順解説](/blog/images/actions-dialog.png)](actions-dialog.png)

ユーザーがモバイルデバイス上でホリデー スケジュール アプリを実行し、「選択した祝日」ボタンをクリックすると、新しいイベントが作成され、デフォルトのカレンダーアプリが起動し、そのイベントが確認のために表示されます。ユーザーは、新しいイベントをカレンダーに追加したり、追加する前に編集したり、キャンセルしたりすることができます。以下に、Androidを搭載したSamsungのスマートフォン上で、S Plannerアプリに表示されるイベントの確認画面のスクリーンショットを示します

[![Androidスマートフォンで新しいカレンダーイベントを追加する方法](/blog/images/android-new-event.png)](android-new-event.png)

そして、iPhoneの「カレンダー」アプリでは：

[![iPhoneで新しいカレンダーイベントを追加する方法](/blog/images/iPhone-new-event.png)](iPhone-new-event.png)

イベントが追加されると、ユーザーが手動で追加する他のイベントと同様に、カレンダーに表示されます

[![](/blog/images/iPhone-calendar.png)](iPhone-calendar.png)

モバイルアプリのカレンダー連携を完全に実現するには、カレンダーのイベント情報を読み取る必要があります。例えば、アプリがスケジュール上の競合を解決するために、カレンダーのイベント情報を読み取る必要がある場合があります。MobileTogetherの「イベントの読み込み」機能を使用すると、開発者はどのイベント情報を読み取るかを指定できます。以下にその例を示します

[![](/blog/images/read-calendar.png)](read-calendar.png)

検索されたイベントは、自動的に作成される「$MT_CALENDAR」というページソースとして、ツリー構造で保存されます。カレンダーのイベントは、他の構造化データと同様に、アプリ内で自由に操作できます。

[![モバイルアプリのカレンダー連携機能で読み込まれるイベントの例](/blog/images/event-tree.png)](event-tree.png)

クロスプラットフォームに対応したモバイルアプリケーションを開発できます。モバイルアプリのカレンダー連携機能なども含まれます [さらに高度な機能が多数搭載されています](https://www.altova.com/ja/mobiletogether/features) 無料で利用できます [MobileTogether デザイナー](https://www.altova.com/ja/mobiletogether/download)!
