LoginSignup
32
31

More than 5 years have passed since last update.

ScalaでAndroidアプリ開発環境を構築する

Last updated at Posted at 2013-06-16

参考
http://engineering.linkedin.com/incubator/technology-behind-eatin-android-apps-scala-ios-apps-and-play-framework-web-services

Scalaを使って、Androidアプリ開発環境を構築することを考えた場合、

1.Eclipse + Google ADTプラグイン + scala-plugin
2.Scala-IDE(これもEclipseの派生)
3.sbt + android-plugin

などの方法があります。

最近では、2のScala-IDEが使いやすいと思ったので、
そのインストール手順を説明します。

1と2はある意味同じものと言えるが(scala-pluginがScala-IDEの開発元が開発したものなので)、
scala-pluginのバージョンより、Scala-IDEのバージョンのほうが新しい(と思われる)せいか使い勝手がいいように感じる。

前提

以下のものがすでにインストール済み。

・Scala
・Android SDK

私が使用しているPCはMac

Scala-IDEをインストールする

まずはじめに、Scala-IDEをhttp://scala-ide.org/download/sdk.htmからダウンロードして解凍します。
解凍した中身は、ほぼEclipseそのものです。

スクリーンショット 0025-06-16 21.44.49.png

AndroidProguardScalaプラグインのインストール

上記フォルダの中の、Eclipse.Appを起動します。
メニューの

"Help" -> "Install New Software…"

スクリーンショット 0025-06-16 21.48.15.png

で、"Work with:"の欄に

https://androidproguardscala.s3.amazonaws.com/UpdateSiteForAndroidProguardScala

を入力して「Add…」ボタンをクリック。
Name:には適当に AndroidProguardScala とでも入れておきます。

スクリーンショット 0025-06-16 21.50.20.png

「OK」を押し、ちょっと待つとリストに"AndroidProguardScala - Scala development on Android"が表示されますので、チェックボックスにチェックして"Next"。

スクリーンショット 0025-06-16 21.52.33.png

もう1回、"Next"を押すと、ライセンスが表示されますので承諾して"Finish"。
Warningが出たりしますが、各自の責任で"OK"してください。

インストールが終わったら再起動です。

Google ADTプラグインのインストール

メニューの、"Help" -> "Install New Software…"を選択して、"Work with:"欄に

https://dl-ssl.google.com/android/eclipse/

を入力して、以下同様にインストールします。

AndroidProguardScalaとGoogle ADTをインストールする順番は
どちらが先でも構わないと思います。

プロジェクトを作成してみる

Fileメニューから、"New" -> "Other…"を選択します。

スクリーンショット 0025-06-16 21.57.37.png

"Android Application Project"を選択して"Next"。

スクリーンショット 0025-06-16 22.08.24.png

Applicationの名前などを入力して、プロジェクトを作成します。
このとき、アイコンやメインのActivityを変更できますが、最初は何もしないでデフォルトのままでいいと思われます。

無事にプロジェクトが作成されると、以下のような画面になります。

スクリーンショット 0025-06-16 22.11.24.png

"Run" -> "Debug As …" -> "Android Application"で、実機(あるいはエミュレータ)で動作確認してみましょう。

スクリーンショット 0025-06-16 22.13.39.png

Scalaのプロジェクトに変更する

このままでは、Javaのプロジェクトになっていますので、これをScalaのプロジェクトに変更しましょう。

Package Explorer でプロジェクトを選択して、右クリック->"Configure" -> "Add Scala Nature" でScalaプロジェクトだと認識させることが出来ます。
このとき一緒に、右クリック->"Add AndroidProguardScala Nature"もしておきましょう。

メインのActivityをScalaで書き直す

srcフォルダを開くと、MainActivity.java というファイルがあります。

スクリーンショット 0025-06-16 22.12.02.png

もう一度、拡張子を見直してみます。

".java" ですね。

Scalaでアプリを作りたいのに、".java"では興ざめです。
これを、Scalaで書き直してみます。
とりあえず、"MainActivity.java"は削除してしまいます。

新たに、"File" -> "New" -> Scala Class"で、クラス名を"MainActivity"にして新しいScalaのクラスを作成します。
コードは以下。

MainActivity.scala
import android.os.Bundle
import android.app.Activity
import android.view.Menu

class MainActivity extends Activity {

    override protected def onCreate(savedInstanceState: Bundle) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }

    override def onCreateOptionsMenu(menu: Menu): Boolean = {
        getMenuInflater().inflate(R.menu.main, menu)
        true
    }

}

もう一度、"Run" -> "Debug As …" -> "Android Application"で、実機(あるいはエミュレータ)で動作確認してみましょう。

sbtを使っている人にはおなじみのTypedActivityは使えなさそうです。
また、TRクラスも存在しないようです。Javaと同じようにRクラスで我慢しましょう。

32
31
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
32
31