Pocket

こんにちは、ohbaです。

前回構築した環境を使って実際にAndroidアプリを作っていきます。
今回二通りの方法を紹介します。

●jberkel/android-pluginを使った方法
こちらは、前回インストールしたgiter8のテンプレートを利用した方法です。
下記のようにしてテンプレートをインストールします。

①jberkel/android-appからプロジェクト作成。

$g8 jberkel/android-app

そうすると、以下のように対話的にプロジェクトを作っていきます。

Template for Android apps in Scala

package [my.android.project]:
name [My Android Project]: androidScalaHello
main_activity [MainActivity]:
scala_version [2.9.2]:
api_level [10]: 16
useProguard [true]:
scalatest_version [1.8]:

これで、プロジェクトの雛形ができました。

②プロジェクトのビルド
作成されたプロジェクトディレクトリに移動して、sbtを起動します。

$cd androidscalahello
$sbt

sbtのプロントに下記コマンドでビルドします。

> android:package-debug

③アプリの起動
ビルドが成功したら。アンドロイドエミュレータを起動した状態で、
下記コマンドでアンドロイドエミュレータからアンドロイドアプリを起動します。
> android:start-emulator

そうすると、エミュレータにひな形のアンドロイドアプリがインストールされます。

説明するとそこそこ簡単そうなのですが、これがjava,sbt,android-pluginのバージョンに組合せによって色々と障害が出るようです。
私は、

・Java : 1.7.0_07
・sbt : 0.12.0
・android-plugin:0.6.2
で実行できました。

●pfn/android-sdk-pluginを使った方法。
こちらは、上記で紹介したjberkel/android-pluginから派生したひな形になります。

利用方法は事前にAndroidプロジェクトを作成した状態から手を加えていきます。

①Androidプロジェクトの作成
今回はコマンドラインから作成します。もちろんEclipse等から作成しても構いません。

$android create project -t android-16 -p ./androidScalaHello2 -k com.android.project -a MainActivity

②plugins.sbtの作成

作成したプロジェクトディレクトリ直下にprojectディレクトリを作成し、そこにplugins.sbtを作成ます。

$mkdir project

③build.propertiesの作成

projectディレクトリに作成します。

④build.sbtの作成

プロジェクト直下に作成します。

⑤sbt起動

sbtを起動することで、pfn/android-sdk-pluginが作成されます。

$cd androidScalaHello2

$sbt

⑥ビルド

エミュレータを起動した状態でsbtから下記コマンドを実行します。

>android:package-debug

これで、動作が確認できます。

⑦javaからscalaに書き換え

実は、⑥の状態はJavaで書かれたソースコードが実行されいます。

それを、scalaコードに差し替えます。

この状態で再度ビルドしてScalaバージョンのアプリが起動します。

如何でしたでしょうか?私はScalaでAndroid開発の敷居はまだまだ高いと感じましたが、これからもっと使いやすくなってくれば面白くなってくると思います。

それではまた。