Thing-IF SDK の導入手順

Android Studio 上で Thing-IF を利用するために必要な設定を行います。

SDK の追加

Kii ライブラリー 2 点(Kii Cloud SDK および Thing-IF SDK)をプロジェクトに追加する必要があります。

いずれも、Gradle を使って Maven リポジトリから SDK をダウンロードできます。これにより、リモートに設置された Kii SDK ライブラリーを自動的にダウンロードして組み込むことができます。

Kii Cloud SDK は、開発者ポータルより手動で AAR パッケージファイルをダウンロードして組み込むこともできます。また、Thing-IF SDK はオープンソースのため、ソースコード をダウンロードして自分でビルドすることもできます。

ビルド対象のモジュール配下にある "build.gradle"(デフォルトでは app ディレクトリの直下)に、以下の dependencies を追加します。追加する内容は Android Studio のバージョンによって異なります。

  • dependencies {
      implementation ('com.kii:thing-if-sdk:0.13.0'){
        transitive=true
      }
      implementation ('com.kii:cloud-sdk:XX.YY.ZZ'){
        transitive=true
      }
    }
  • dependencies {
      compile ('com.kii:thing-if-sdk:0.13.0'){
        transitive=true
      }
      compile ('com.kii:cloud-sdk:XX.YY.ZZ'){
        transitive=true
      }
    }

ライブラリーのバージョン部分 2 箇所は以下のように指定します。

  • thing-if-sdk

    Thing-IF SDK は 1.0.0 未満のバージョンを指定します(最新版は 0.13.0 です)。1.0.0 以上は特定案件向けのバージョンであり、本ドキュメントの内容とは仕様が異なるため、指定できません。また、ソースコードを参照する場合も、GitHub のタグ機能を使って以下のように 0.13.0 を指定してください。

    https://github.com/KiiPlatform/thing-if-AndroidSDK/tree/v0.13.0

    Version 0.12.0 未満を指定する場合は、com.kii:thing-if-sdk:XX.XX.XX の代りに com.kii:thing-if-sdk:XX.XX.XX:library@aar と指定してください。Version 0.12.0 未満をすでに利用しており、Version 0.12.0 以降に変更する場合も上記の指定方法を利用してください。Version 0.12.0 以降では com.kii:thing-if-sdk:XX.XX.XX:library@aar という指定方法を利用できません。

  • cloud-sdk

    XX.YY.ZZ 部分は、開発者ポータル の "ダウンロード" のリンクより確認できます。

    Version 2.4.12 未満を使用する場合は、指定方法が異ります。詳しくは Kii Cloud SDK の導入手順 を確認してください。

プロジェクトの設定

以下の手順に従いプロジェクトを設定します。

  1. プロジェクトを同期します。

    Android Studio での設定の反映が必要な場合、"Sync Now" が表示されています。クリックしてプロジェクトの同期を行います。また、モバイルアプリをリビルドします。

    これにより、Kii SDK のシンボルを補完できるようになります。

  2. AndroidManifest.xml を更新し、必要なパーミッションを追加します。

    以下のパーミッションを XML ファイルの manifest 直下に追加します。

    <uses-permission android:name="android.permission.INTERNET" />
    

    Object body のアップロード・ダウンロードにおいてパーミッションが必要な読み込み・書き込み先ファイルを利用する場合は、以下のパーミッションを追加します。READ_EXTERNAL_STORAGE/WRITE_EXTERNAL_STORAGE の詳細については Android の公式ドキュメント を参照ください。

    読み取りアクセスのみが必要な場合は次のパーミッションを追加します。

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    

    読み取りアクセスと書き込みアクセスの両方が必要な場合は次のパーミッションを追加します。

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    

    また、application 要素の name 属性にアプリケーションクラスの名前を指定します。アプリケーションクラスはアクティビティの初期化に先立って実行されるクラスで、この手順では SDK の初期化を行います。ここでは、MobileApp としています。

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme"
        android:name=".MobileApp" >
    

    追加後は以下のようになります。

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.myapp" >
    
        <uses-permission android:name="android.permission.INTERNET" />
    
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme"
            android:name=".MobileApp" >
         ...
    
  3. アプリケーションクラス MobileApp を追加します。

    追加した MobileApp クラスは、初期化コードの実装 で利用します。AndroidManifest.xml のエラーを解消するために、一旦空のクラスを追加しておきます。

    // The MobileApp class should be declared in your mobile app's AndroidManifest.xml.
    public class MobileApp extends Application {
      @Override
      public void onCreate() {
        super.onCreate();
      }
    }
    

Proguard の設定

Kii Cloud SDK に対する Proguard の難読化の設定は、SDK の AAR ファイルに含まれています。特に設定を追加する必要はありません。