利用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,把下面的内容替换<LinearLayout>中的内容:
<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