こんにちは、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開発の敷居はまだまだ高いと感じましたが、これからもっと使いやすくなってくれば面白くなってくると思います。
それではまた。