第1章 ネイティブ Android

1.1. ダウンロード

1.2. スタート

この SDKにより、Android M (バージョン 6.0、API level 23) までの Android アプリで RHMAP API を使用することができます。

RHMAP Android SDK は、Github の FeedHenry Android SDK リポジトリーでホストされるオープンソースプロジェクトです。ご自由にプロジェクトのフォークを行い、このプロジェクトに貢献してください。

この SDK を使用する前に、Android SDK または Android Studio がインストールされていることを確認してください。これらは、公式の Android 開発者ポータルからダウンロードできます。

1.2.1. 新規アプリ

サンプルアプリをダウンロードし、すでに RHMAP SDK が組み込まれている新規のネイティブ Android アプリケーションを使って開始します。

1.2.2. 既存アプリ

build.gradle ファイルで以下の依存関係を宣言します。

compile 'com.feedhenry:fh-android-sdk:3.0.0'

Gradle を使用していない場合は、JAR の SDK をその依存関係と共に手動でダウンロードできます。詳細は、SDK の Github リポジトリーの README ファイルにある「Usage」セクションを参照してください。

1.2.3. セットアップ

SDK には、INTERNET パーミッションが必要です。パーミッションがまだ追加されていない場合は、アプリの AndroidManifest.xml に追加してください。

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

最後に、アプリが RHMAP サーバーと通信できるようにするプロパティーを定義する必要があります。assets フォルダーに以下の内容の fhconfig.properties という新規ファイルを作成します。括弧内の参照部分はプロジェクトの値に置き換えます。

host = <RHMAP Core host>
projectid = <Project ID>
connectiontag = <Connection tag>
appid = <Client App ID>
appkey = <Client App API key>

クライアントアプリとクラウドアプリ間の通信についての詳細は、「Projects - Connections」を参照してください。

1.2.4. 初期化

RHMAP SDK からのクラウド要求を呼び出す前に、まず、以下のように初期化する必要があります。

FH.init(this, new FHActCallback() {
  public void success(FHResponse pRes) {
    // Init okay, free to use FHActRequest
  }

  public void fail(FHResponse pRes) {
    // Init failed
    Log.e("FHInit", pRes.getErrorMessage(), pRes.getError());
  }
});

1.3. 互換性

アプリが Android M (API Level 23) をターゲットにする場合、バージョン 3.x 以上 (可能であれば最新バージョン) の RHMAP Android SDK を使用する必要があります。SDK の 3.x バージョンは、Apache HTTP クライアント (org.apache.http パッケージ) が Android M の時点で Android SDK と共に配布されなくなるという Android SDK の大幅な変更を主な理由に導入されました。RHMAP SDK は、HTTP クライアントとして代わりに cz.msebera.android:httpclient を使用しています。

既存のアプリをターゲットの Android M にアップグレードする場合、新規 HTTP クライアントを使用できるようにアプリをアップグレードする必要もあります。Gradle を使用していない場合、RHMAP SDK と共に配布され、かつリポジトリーの deps フォルダーから利用できる HTTP クライアントの JAR ファイルを使用できます。

1.4. API ドキュメント

  • API Docs: すべてのクライアント API についてのドキュメント
  • Javadoc: Android RHMAP SDK のクラスおよびメソッドについての生成ドキュメント