Discuss New Concept,New Technic,New Tools, Including EAI,BPM,SOA,Tibco,IBM MQ,Tuxedo, Cloud,Hadoop,NoSQL,J2EE,Ruby,Scala,Python, Performance,Scalability,Distributed,HA, Social Network,Machine Learning.
Jun 082012
 
 [repost ]在Eclipse中用Scala语言开发Android应用  June 8, 2012  Posted by on June 8, 2012 at 2:45 pm Android, Eclipse-Scala, Scala-Tools Tagged with: , ,  No Responses »

original:http://my.oschina.net/noahxiao/blog/61495

1、下载安装 Eclipse Classic 3.7.2
注:下载JDK与Android SDK的事我就不详述了,有问题可以问我
2、安装Android ADT Plugin
安装地址:https://dl-ssl.google.com/android/eclipse/
3、安装Scala IDE
安装地址:http://download.scala-ide.org/releases-29/milestone/site/
4、安装AndroidProguardScala
安装地址:https://androidproguardscala.s3.amazonaws.com/UpdateSiteForAndroidProguardScala
5、创建Android Project
6、Add Scala Nature
在android项目上点右键,Configure->Add Scala Nature
7、Add AndroidProguardScala Nature
在android项目上点右键,Add AndroidProguardScala Nature
8、调整Java Build Path顺序(重要)
注意把两个scala的lib,移动到Android上方
9、把Java的Activity类替换为scala的Activity类
01    package org.noahx.scalaandroid
02
03    import android.app.Activity
04    import android.os.Bundle
05    import android.widget.Button
06    import android.widget.TextView
07    import android.view.View
08
09    class ScalaAndroidActivity extends Activity {
10
11     override protected def onCreate(savedInstanceState: Bundle) = {
12        super.onCreate(savedInstanceState)
13
14        setContentView(R.layout.main)
15
16        val text = findViewById(R.id.text1).asInstanceOf[TextView]
17        val button = findViewById(R.id.button1).asInstanceOf[Button]
18
19        button.setOnClickListener(new View.OnClickListener() {
20
21          def onClick(v: View) = {
22            text.setText(“hello scala!!!”)
23          }
24
25        })
26      }
27
28    }
注:修改完layout,把project clean一下
10、运行效果