このエントリの内容は全部、昨日のScala@東北の内容についてです。Viewerが少なかったのがもったいないので、エントリにおこしておきました。
sbt-android-plugin
sbt-android-pluginを使ったAndroid開発の方法は、id:papamitraさんがまとめてくださってます。
Android SDK for Scalaでは手作業でファイルコピーなどが必要でしたが、sbtではそういうのは一切不要で簡単。
これを使って、私のテキトーで途中で投げ出したテトリス実装Scalandrisを、ymnkさんがビジュアルのかっこいい完成版を作ってくださいました!
→完全版 Scalandris
以下、sbt-android-pluginを実際に使ってみます。
create_project シェルを持ってくる。(sbt-android-pluginの本体はsbtで取得するので不要)
http://github.com/jberkel/android-plugin/raw/master/script/create_project
Unix系のOSなら、
※--platformの値は、ANDROID_SDK_HOME/platforms/にある、いずれかに合わせる。
Windowsなら(Cygwin使っても動かなかった。。)、create_projectをちょっと直して、Scalaオブジェクトにしてしまえばよい。
として、
とすれば動きます。object版のcreate_projectはこちらのgistに貼っておきました。
Android SDK for Scalaで紹介した方法とは異なり、最初からScalaのソースコードを準備してくれるところが良いです。
sbtをダウンロードして、環境に合わせてシェルやバッチファイルを作成。
環境変数 $ANDROID_SDK_HOME を設定したら、
> sbt update package-debug
を実行して、必要なjarをかき集める。sbt-android-pluginもこの時点でインストールされます。
> sbt
sbt> compile
sbt> install-emulator
などと開発できます。
※Windowsで動かしてるとちょっとsbtが不安定かもしれない。。
Scala版のRクラス(レイアウト定義)を生成してくれて、Scalaでレイアウト操作する記述がラクでタイプセーフになる機能です。気が利いている。
使い方:
papamitra : sbt-android-pluginで型安全にリソース取得
もちろんAndroid SDK for ScalaにはAndroidサンプルのScala翻訳版が付属してるので大変参考になると思いますが、AndroidもScalaも理解してきたら、Scalaユーザーにとってはこちらのsbt-android-pluginの方が手に馴染む感じです。
Scala+Androidの開発環境としてはこちらが本命になるかもしれません。
ここまで書いててふと気がついたのですが、Scala IDE for Eclipseとの併用はどうやるといいでしょうかね。。
Androidプロジェクト作って、フォルダ構成をsbtルールに直して・・・とか、めんどうなことになりそうなので、今回はパス。