ソースコードの構成
Hello Thing-IF モバイルアプリは以下のソースコードから構成されています。
各ファイルやディレクトリの概要について説明します。各クラスの詳細については、後続のページで順に説明します。
AndroidManifest.xml/HelloThingIF.java
Android のマニフェストファイルとアプリケーションクラスです。
アプリケーションクラス HelloThingIF は、モバイルアプリの起動時に実行されます。これは、AndroidManifest.xml の指定に基づきます。
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme" android:name=".HelloThingIF">
android:name
にクラス名が指定されているため、起動時に HelloThingIF クラスが呼び出されます。MainActivity.java/LoginFragment.java/CommandFragment.java
これら 3 つは、モバイルアプリのユーザーインターフェイスを実装しているクラスです。起動時に MainActivity がアクティビティとして起動するように AndroidManifest.xml で記述されています。その内部では、LoginFragment と CommandFragment を切り替えて動作します。
PromiseAPIWrapper.java
Kii Cloud/Thing Interaction Framework にアクセスする API を JDeferred による Promise で実行するためのラッパークラスです。Promise については次のページで説明します。
command
command ディレクトリには、Thing Interaction Framework のスキーマに基づいたコマンドやステートのクラスがあります。いずれのクラスも JSON との間で変換して、Thing Interaction Framework とやりとりします。
fcm
fcm ディレクトリは、プッシュ通知を FCM 経由で受信する際に使用する実装です。FCM 以外のサンプルには含まれていません。fcm ディレクトリに格納されている実装は、Android (FCM) プッシュ通知設定チュートリアル で解説されている方法に基づいて、プッシュ通知を実装した結果です。AndroidManifest.xml などにも、プッシュ通知関連の実装が作り込んだ状態でソースコードを公開しています。
この実装は、Google 社の FCM チュートリアルと GCM チュートリアルで公開されているサンプルに基づいています。設計の詳細は、プッシュ通知設定チュートリアル をご覧ください。
util
ユーティリティクラスとして、ProgressDialog を表示するための ProgressDialogFragment.java を用意しています。
次は...
サンプルコードの実装に使用している技術について簡単に紹介します。
実装技術の紹介 に移動してください。
これ以降のページでは、ダウンロード済みのソースコードの一部を切り出して解説しています。ソースコード全体での前後関係を確認しながら理解を進めることをおすすめします。