日复一日的沉闷研发工作,终于有一天被JetBrains激起了一丝涟漪,Kotlin 1.0正式版于2016年2月15日正式发布。可能Kotlin对于大多数Android开发的同学来说很陌生,在这里只提一句,Kotlin被誉为Android世界里的Swift,相信通过这一句话,大家对Kotlin会有一个大概的定位,如果你能够再百度一下,顺便勾起你的兴趣那就再好不过了。
对于Kotlin而言,我也是个新手,在这里抛砖引玉,希望能够把大家对Kotlin的兴趣提起来。关于Kotlin的特性网上可以搜到一大堆,这里就不重复介绍了,直接进入主题,如何在AndroidStudio中配置Kotlin。
Step 1 —— 安装插件
下载插件——进入AndroidStudio设置页面–>Plugin–>Browse Repositories–>搜索“Kotlin”
如上图,安装Kotlin和Kotlin Extensions For Android这两个插件,然后重启AndroidStudio。
Step 2 —— Hello World
正常创建Android的Hello World项目
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Step 3 —— Code–>Convert Java File To Kotlin File
转换之后的MainActivity.kt
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val toolbar = findViewById(R.id.toolbar) as Toolbar
setSupportActionBar(toolbar)
val fab = findViewById(R.id.fab) as FloatingActionButton
fab.setOnClickListener { view -> Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG).setAction("Action", null).show() }
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
// Inflate the menu; this adds items to the action bar if it is present.
menuInflater.inflate(R.menu.menu_main, menu)
return true
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
val id = item.itemId
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true
}
return super.onOptionsItemSelected(item)
}
}
同时,转换之后会出现一个提示,如下:
点击“Configure”
选择Kotlin插件版本,然后OK
重新Build一下项目,So easy!!!不是吗
Now, 开启你的Kotlin之旅吧。
后续会介绍一下我个人比较感兴趣的Kotlin特性,比如:类的扩展,Extentions功能等。
再后边会简单介绍一下基于Kotlin的anko框架使用方法。