Scala on Android 基于Eclipse开发环境的搭建--用Scala开发Android

    随着近几年函数式语言的回归,Scala越来越受到程序员的关注,2013年4月TIOBE排行榜,Scala再次上升,位列29位,挤进前30名,成为呼声最高的“取代JAVA语言的JVM语言”。既然是基于JVM的语言,就使得用Scala开发Android程序成为可能。相比Java,Scala有太多的优点,它结合了函数式风格和指令式风格编程思想,也可以让Java程序员以很小的学习成本就可以使用Scala代替Java。Scala相比Java的优点不是本文叙述的对象,事实上很多文章都谈及了这个问题,本文不再赘述。

    初次接触Scala的时候,我就在考虑如何使用Scala开发Android程序。首先面临的就是开发环境的搭建。起初我认为任何开发环境的搭建都是程序员的基本功,应该没什么难度,事实是在我进行了大量的搜索以后证明了我有多么幼稚。之所以觉得开发环境搭建是件简单的事情,是因为我们目前搭建的环境都是基于前人的工作之上,有成熟的开发工具,比如Java的开发,你要做的只是安装JDK,配置环境变量,其余的IDE会帮你完成;比如Android,你可以在官网下载到开发工具(ADT),只需简单的步骤就可以进行开发了。假如没有这些工具,我们只能用命令行——比如用android命令加各种参数,手动建立文件结构,手动编译,运行——事实上,早先的前辈们确实是这么做的,早先的开发环境和工具都是很简陋的,就像石器时代。现在想象这个过程,是一种煎熬,但是这样确实比使用自动为你完成一切的IDE和开发工具更能锻炼程序员的能力,你将理解开发的每个细节。

    我们就处在Scala开发Android的石器时代,我们羡慕使用Java开发Android的工业革命的完成。

    如果你愿意,你完全可以使用这种带有野性美的原始方法:使用Android命令行构建文件结构,使用Scala编写代码,使用Scalac编译成.class文件,再用android转换成.dex文件,最后打包成.apk。当然这是一个极度简化了的流程,不排除会有崇尚原始美的程序员,但大部分程序员一定会为此头疼。

    事实上,两年前就有人在探索Scala开发Android的环境搭建,我搜索到的文章大部分都是那时候完成的,都是英文资料,也有一些简单的翻译文章。一些工具现在已经有些过时了,那时的步骤其实很繁琐的。

    直到偶然的一次在Scala-ide官网的发现以及它介绍的工具,将我们带入了铜器时代。这是一个Eclipse插件,有了它我们可以方便快速的完成Scala on Android 环境的搭建。原文链接在这里。这是一个在Github上的开源项目。本文剩余的部分,将介绍如何使用它。

 

    假设你已经完成了Eclipse,JDK,Android SDK,ADT以及Scala语言的安装。(scala语言的安装很简单,只需到Scala官网下载合适的版本安装,配置环境变量就可以,也有msi版本的,自动配置环境变量)。下面是Scala-ide插件的安装。

    你可以到Scala-ide官网下载页找到适合你的Scala以及Eclipse版本的插件安装,推荐使用Eclipse在线安装,只需在Help-Install New Software中添加地址链接就可以,比如对于Eclipse 4.2 版本,根据你的Scala版本,在Eclipse中添加如下链接:Scala on Android 基于Eclipse开发环境的搭建--用Scala开发Android 

然后安装AndroidProguardScala插件:同样在Eclipse中添加下面的插件地址链接即可。

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

 

到此为止开发环境就搭建好了,很简单。下面试用一下。新建一个Android 项目,在项目名称上右击,如图所示,添加Scala特性——Add Scala Nature。

Scala on Android 基于Eclipse开发环境的搭建--用Scala开发Android

然后再次右击,如上图Add AndroidProguardScala Nature。等待完成后就可以使用Scala编写代码了。

我们看到在项目里多了一些Scala的库。

下面把SRC里的Java类文件删掉,新建一个Scala类文件MainActivity.scala,将Android代码用Scala编写如下:


运行如下:

Scala on Android 基于Eclipse开发环境的搭建--用Scala开发Android

 

    现在看来,在Eclipse下搭建Scala on Android 开发环境也成为极其方便的事情了。

    遗憾的是,该插件并没有对应的Intellij Idea版本。如果需要在IDEA下开发,只能使用一些繁琐的步骤设置。对此,Leo L.Cao的一篇文章Windows下Scala编程环境的构建:Scala on Android开发 详细分析和介绍了IDEA下Scala on Android 环境的搭建,即使使用Eclipse开发的人也值得一读。

 

    最后,还是希望更多的大牛们参与进来,完善Scala on Android的开发环境。

转载于:https://www.cnblogs.com/LeopardWang/archive/2013/04/21/3034648.html