熱冷めやらぬうちにAndroidアプリ
先週の第1回名古屋Android勉強会で学んだことを忘れないよう、ここは1つアプリを作っていきましょう。Scalaで。
とりえずの目標は、Android付属デバイスを利用したアプリを動かせるようになる所まで。
前提となる条件は以下のような感じです。
- JDKを入手。
- Scalaを入手。
- Android SDKを入手。
- 統合開発環境のEclipseを導入(お好みでPleiadesも)。
- Android Development Toolsを導入。
- Scala IDE for Eclipseを導入。
- Eclipseで新規Androidプロジェクトを作成。
- 作成したプロジェクトに"Scalaパースペクティブ"から"Scalaネイチャー"を追加する。
- プロジェクトのビルド・パスから"Scala Library"を除去する。
- 外部JARの追加で"scala-library.jar"をAndroid用にカスタマイズしたものをビルド・パスに追加する(「この記事で使用した〜」にある"android-library.jar"がカスタマイズ済)。
- 拡張子".scala"のファイルが無事コンパイルされることを確認する。
- エミュレータを起動し、Scalaで書いたコードが動作することを確認する。
OreOre.scala
package jp.tantack.ooa; import android.app.Activity; import android.os.Bundle; class OreOre extends Activity { /** Called when the activity is first created. */ override def onCreate(savedInstanceState: Bundle) { super.onCreate(savedInstanceState) setContentView(R.layout.main) } }
binディレクトリの下を覗いてみて、アクティビティクラスの".class"と".scala"のファイルが作成されていれば、ビルドは成功しているはずです。おかしいな?と感じた場合、クリーンビルドをしてみるといいかも知れません。
ビルドに成功したので、Androidアプリケーションとして実行するとエミュレータが起動し、プロジェクトのアプリケーションが実行されます。
ただし私の環境下では、エミュレータ起動後のアプリケーション実行時にエラーダイアログが吐かれます。Scalaでコードを書いた場合のみに起こる現象なので、原因はScalaにありそうですが特定には至っていません。
一応Scalaでもエミュレータ上でアプリケーションが動くことは確認できたので、次回以降も基本的にScalaを使ってAndroidアプリを作成していきます。