코코아를 좋아하는 프로그래머입니다 ;)
Kotlin이 M11이 되면서 안드로이드 개발이 수월해 졌다. M11부터 여러개의 생성자를 만들 수 있어 커스텀뷰를 만드는데 아무런 불편함이 없다. 너무나 편리한 Kotlin. AndroidStudio에서 사용하려면 어떻게 해야할까? Kotlin의 개발사인 IntelliJ의 IDE 기반이라서 너무나도 쉽게 Kotlin으로 안드로이드 개발을 시작할 수 있다.
AndroidStduio를 실행한다.
Cofigure -> Plugins 를 선택한다.
app 모듈의 build.gradle 파일로 이동하여 Command + Shift + A 를 누른다.
Configure Kotlin in Project 를 선택한다. 그러면 build.gradle 파일을 kotlin을 지원하도록 설정해 준다.
apply plugin: 'com.android.application' apply plugin: 'kotlin-android' android { compileSdkVersion 22 buildToolsVersion "21.1.2" defaultConfig { applicationId "kr.pe.burt.hellomykotlin" minSdkVersion 14 targetSdkVersion 22 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } sourceSets { main.java.srcDirs += 'src/main/kotlin' } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.0.0' compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" } buildscript { ext.kotlin_version = '0.11.91' repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } repositories { mavenCentral() }
package kr.pe.burt.hellomykotlin import android.support.v7.app.ActionBarActivity import android.os.Bundle import android.view.Menu import android.view.MenuItem public class MainActivity : ActionBarActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } override fun onCreateOptionsMenu(menu: Menu?): Boolean { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().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!!.getItemId() //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true } return super.onOptionsItemSelected(item) } }
Kotlin이 M11 버전이 되면서 kotlin 파일을 kotlin 디렉토리로 옮기지 않아도 된다. 하지만 관례상 kotlin 폴더를 만들고 옮겨주는 것이 좋다.