Hello Kotlin
在前段時間舉辦的Google I/O 2017上,Google宣布Kotlin成為Android官方的開發語言,這個最初發布於2011年的語言在短短的時間內就吸引了大量的開發者,而Google使得它進入了更多人的視線。
環境配置
對於大部分的安卓開發者而言,都是使用Android Studio(或IDEA)進行開發,當然也有很小一部分人仍然堅持使用eclipse,Kotlin對他們都進行了支持,甚至是可以只是用控制台進行編譯。本文主要介紹Android Studio下的配置。 在Android Studio的歡迎頁中,點擊右下角的"Configure",選擇"Plugin"進入插件管理界面。然後點擊“Install JetBeans Plugin..”,查找Kotlin插件,點擊Install即可安裝,成功後需要重啟Android Studio
package com.steveyg.hellokotlin;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
轉換之後的代碼MainActivity.kt:
package com.steveyg.hellokotlin
import android.os.Bundle
import android.support.design.widget.FloatingActionButton
import android.support.design.widget.Snackbar
import android.support.v7.app.AppCompatActivity
import android.support.v7.widget.Toolbar
import android.view.View
import android.view.Menu
import android.view.MenuItem
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
在轉換之後,Android Studio會提示Kotlin not configured,此時雖然可以編譯成功,但是kotlin是無效的,點擊Configure,根據自己的需要選擇需要配置的module即可
之後點擊Sync Now進行同步

apply plugin: 'kotlin-android-extensions'然後在布局文件中添加一個TextView,設置其id為textview
<TextView android:id="@+id/textview" android:layout_width="wrap_content" android:layout_height="wrap_content" />回到MainActivity中,增加對於布局文件的引用(比如此處我使用的是content_main.xml)
import kotlinx.android.synthetic.main.content_main.*之後會發現,在onCreate裡面可以直接對id進行操作(比ButterKnife綁定還方便有木有),我們設置textview的內容為Hello world,編譯
textview.text = "hello world";
兼容Java
package com.steveyg.hellokotlin.java;
public class Demo {
public String getType(){
return "Java";
}
}
然後在MainActivity.kt中使用對這個類型的對象進行操作var demo = Demo(); textview.text = demo.type;能夠看到,kotlin能夠直接使用java的內容,同時還對getset方法進行了處理,雖然在Demo對象中沒有type這個屬性,但是檢測到了getType方法,就自動處理為type這個屬性,其他的方法名(不含getset)能夠正常使用不會處理。

package com.steveyg.hellokotlin.kotlin
class KotlinDemo {
fun getType(): String{
return "Kotlin";
}
}
再在上文的Java類(Demo.java)中增加一個方法,用於調用kotlin
public String getKotlinType(){
return new KotlinDemo().getType();
}
然後再在MainActivity中進行調用textview.text = demo.kotlinType;再次編譯,結果見下圖
可以看到,內容變成了Kotlin,說明調用成功。
其他本文代碼:http://xiazai.jb51.net/201706/yuanma/helloKotlin-master(jb51.net).rar
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!