ネイティブ Android 開発の開始
学習の目的
この単元を完了すると、次のことができるようになります。
- Mobile SDK for Android の 2 つの主要な機能を説明する
- Mobile SDK for Android をインストールする
- Android アプリケーションを作成し、アプリケーションオプションを指定する
- Android Studio でアプリケーションをインポートおよびビルドする
Android ネイティブアプリケーションの開発
Mobile SDK for Android には、世界で最も人気のあるモバイルプラットフォームである Android 向けに Salesforce 対応アプリケーションを構築するために必要なツールとリソースが揃っています。このモジュールでは、Android ネイティブ SDK の基本機能について学習します。
- OAuth2 認証フローの自動化。これにより、プロセスをアプリケーションに統合しやすくなります。
- Salesforce REST API へのアクセス。アクセスを簡略化するユーティリティクラスが使用されます。
では始めましょう。この単元の先に進む前に、「Set Up Your Mobile SDK Development Environment (Mobile SDK 開発環境の設定)」プロジェクトを完了する必要があります。まだ完了していない場合には、そのプロジェクトに移動して、開発環境を正しく設定してください。先に進む準備が整ったら、最初に簡単なネイティブ Android アプリケーションを作成します。内部のしくみを簡単に学習した後、アプリケーションの REST 操作とユーザーインターフェースを変更して Android 開発スキルにさらに磨きをかけます。
接続アプリケーションの作成
Salesforce サービスに接続するには、すべてのモバイルアプリケーションに Salesforce 接続アプリケーションが必要です。接続アプリケーションは、アプリケーションが Salesforce と通信を行い、Salesforce API に安全にアクセスするための認証を行います。
- [コールバック URL] と [コンシューマー鍵] の値をコピーします。これらの値はアプリケーションの認証設定に使用します。
- Mobile SDK アプリケーションではコンシューマーの秘密は使用しないため、この値は無視できます。
Android プロジェクトの作成
Android 開発環境を設定し、Salesforce 接続アプリケーションを作成したので、最初の forcedroid アプリケーションを作成する準備が整いました。
- コマンドプロンプトで、プロジェクトを保存するディレクトリに変更し、次のように入力します。
forcedroid create
- forcedroid は次の値の入力を促します。
- Application type (アプリケーション種別): native (ネイティブ)
- Application name (アプリケーション名): MyTrailNative
- Package name (パッケージ名): com.mytrail.android
- Organization name (組織名): MyApps, Inc.
- Output directory (出力ディレクトリ): TrailAndroidApps
一連のログメッセージの後、成功のメッセージが表示され、コマンドプロンプトに戻ります。お疲れさまでした。新しいアプリケーションが実行できる状態になりました。
新しい Android アプリケーションの実行
forcedroid によって作成されたプロジェクトは、すぐに実行できる状態になっています。多くの処理は行いません。簡単な SOQL クエリを実行し、名前の表を表示するだけですが、少なくともアプリケーションとしてのまとまりがあり、目的の処理を実行する準備ができています。では、実際に確認してみましょう。
forcedroid では、ネイティブアプリケーションを作成するときに、コンシューマー ID とコールバック URI に汎用値が代入されます。どのアプリケーションも、Salesforce サーバーおよびデータに接続するためにこれらの値が必要です。アプリケーションを公開する前に、汎用設定を独自の接続アプリケーションの値に置き換える必要があります。忘れないためにも、この時点で置き換えておきましょう。
- UTF-8 に準拠しているテキストエディターで、プロジェクトディレクトリから app\res\values\bootconfig.xml を開きます。(Windows でのヒント: notepad.exe の ANSI 文字コード (ファクトリーデフォルト) は機能しません。ただし、メモ帳の [別名で保存] ダイアログボックスで UTF-8 文字コードを選択できます。)
- remoteAccessConsumerKey 値を接続アプリケーションからのコンシューマーキーに置き換えます。
- 同様に、oauthRedirectURI 値を接続アプリケーションからのコールバック URL に置き換えます。
- ファイルを UTF-8 文字コードで保存します。
- Android Studio を起動します。
- ようこそ画面から [プロジェクトをインポート (Eclipse ADT、Gradle など)] を選択します。または、Android Studio がすでに実行されている場合は、 を選択します。
- ターゲットディレクトリ (TrailAndroidApps) を参照して、[OK] をクリックします。
Android Studio によってワークスペースが自動的に作成されます。このプロセスに数分かかることがあります。ステータスバーに「Gradle build successful (Gradle のビルドに成功しました)」と表示されていれば、プロジェクトを実行できます。
- をクリックするか、SHIFT+F10 キー (Windows) または ^R キー (Mac) を押します。
- Android SDK API 23 以降 (Android 10 (API 29) 以前) を実行するエミュレーターまたは接続デバイスを選択します。
Android Studio によってエミュレーターまたは接続されている Android デバイスにアプリケーションが起動します。