Back

利用Eclipse+Scala搭建android开发环境

1、安装JAVA SDK

到官网(http://www.oracle.com/technetwork/java/javase/downloads/index.html )下载最新的javase sdk,推荐安装1.6版。安装完成后,在windows环境变量中添加[JAVA_HOME],并把路径指向java sdk的安装根目录。

2、安装Scala

从scala官网(http://www.scala-lang.org/downloads )下载windows版的压缩包,推荐2.8.1 final版,直接解压到相应目录中,假设为c:\scala-2.8.1.final\,再添加下面两个环境变量:

  • 新增环境变量SCALA_HOME,并设为c:\scala-2.8.1.final

  • 在已有环境变量Path中,追加值c:\scala-2.8.1.final\bin

通过win->run-cmd打开命令行,输入scala,能输出版本信息证明已安装成功

3、安装Eclipse

到Eclipse官网(http://www.eclipse.org/downloads/)下载,直接解压就能使用,推荐下载Eclipse Classic/Eclipse For Java。

4、安装Android SDK

到android开发社区(http://developer.android.com/sdk/index.html)下载安装。安装后进入开始 > 所有程序 > Android SDK > SDK Manager程序,软件会提示一些可安装的更新,大家可以根据需要选择安装,建议安装下面图中所示的:

之后是漫长的等待…

装ADT Plugin for Eclipse 等待android sdk安装好后,打开Eclipse,进入菜单Help > Install New Software….,点击**Add,**添加链接

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

勾选所有项目,然后点击Next安装。

安装完成并重启Eclipse后,进入菜单Window > Preferences > Android,点击Browser,把路径指向android sdk的安装目录,然后点击Apply

6、安装Scala IDE Plugin 打开Eclipse,进入菜单Help > Install New Software….,点击**Add,**添加链接

http://download.scala-ide.org/releases-28/2.0.0-beta

勾选安装下面两项:

JDT weaving For scala

**Scala IDE for Eclipse **

7、安装Treesaker ** 打开Eclipse**,进入菜单**Help** > **Install New Software…**.,点击**Add,**添加链接

http://treeshaker.googlecode.com/svn/trunk/update_site/

勾选treeshaker,点击Next安装。

treeshaker是一个开源的辅助插件,详细可以访问项目地址:http://code.google.com/p/treeshaker/

8、简单的helloworld

Eclipse中打开File > New > Project > Android Project创建一个新的android工程项目:

按下面的步骤把java的项目转为scala的项目:

1、把src文件夹重命名为_src(右键src > Refactor > Rename) 2、右键HelloWorld项目 > Configure > Add Scala Nature 3、右键HelloWorld项目 > Add/Remove Treeshaker 4、打开菜单Project > Properties > Builders,确保builder的顺序和如下一样:

  • Android Resource Manager

  • Android Pre Compiler

  • Scala Builder

  • Treeshaker

  • Android Package Builder

5、打开res\layout\main.xml,把下面的内容替换中的内容:

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello"
    android:id="@+id/text"
/>
<Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Click me"
/>

5、删除_src下的源文件HelloWorldActivity.java 6、创建新的scala代码文件,右键包com.test,选择New > Other > Scala Class Name设为HelloWorldActivty,Superclass设为android.app.Activity 7、修改HelloWorldActivity.scala文件: 增加导入:

import android.os.Bundle
import android.view.View
import android.widget.TextView
import android.widget.Button
import R._

HelloWorldAcitvity类中增加代码:

override def onCreate(savedInstanceState: Bundle) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.main)

        val textView = findViewById(R.id.text).asInstanceOf[TextView]
        val button = findViewById(R.id.button).asInstanceOf[Button]

        button.setOnClickListener((v: View) => textView.setText("Hello Scala"))
}

implicit def func2OnClickListener(func : (View) => Unit) : View.OnClickListener = {
        return new View.OnClickListener() {
                override def onClick(v: View) = func(v)
        }
}

8、通过菜单Run > Run,应该能正常编译并在android模拟器中运行了

扩展阅读:

CreateNewScalaProject

ScalaでAndroidアプリ開発 

Building Android Apps with Scala - IntelliJ 

Exploring Android With Scala