Kotlin에서 안드로이드
환경
시도하는 환경은 다음과 같습니다.
Android Studio에 Kotlin 플러그인 설치
먼저 Android Studio에 Kotlin 플러그인을 설치하여 Kotlin의 개발 환경을 조정합니다.
1. 기본 설정에서 플러그인을 선택한 다음 "Install JetBrain plugin..."버튼 대화 상자 닫기
2. "Browse JetBrains Plugins"화면에서 "kotlin"을 검색하면 "Kotlin"플러그인이 표시됩니다.플러그인 설치 버튼을 클릭하여 플러그인을 설치합니다.
3. 다운로드 및 설치 확인 대화 상자를 표시하고 [예] 버튼을 클릭합니다.
4. 다운로드 시작
5. 다운로드가 완료되면 대화 상자가 닫히고 "Restart Android Studio"버튼을 클릭하여 Android Studio를 다시 시작합니다.
6. 재부팅 확인 대화 상자를 표시하고 "Restart"버튼을 클릭하여 Android Stusio를 재부팅합니다.
샘플 항목 만들기
예제 항목을 만듭니다.일반적인 Android 응용 프로그램과 같은 절차를 밟아 Kotlin 파일로 변환합니다.
1. Starta new Android Studio 프로젝트에서 "BlankActivity"만들기
2. [코드] > [Convert Java File to Kotlin File]을 선택하여 Java를 Kotlin으로 변환합니다.
변환된 코드는 다음과 같습니다.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)
}
}
환경을 Kotlin으로 만들기
예제 항목을 만듭니다.일반적인 Android 응용 프로그램과 같은 절차를 밟아 Kotlin 파일로 변환합니다.
1. Starta new Android Studio 프로젝트에서 "BlankActivity"만들기
2. [코드] > [Convert Java File to Kotlin File]을 선택하여 Java를 Kotlin으로 변환합니다.
변환된 코드는 다음과 같습니다.
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)
}
}
환경을 Kotlin으로 만들기
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "jp.co.opst.kotlinsample"
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
}
변경된build.gradle(Module: app)apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "jp.co.opst.kotlinsample"
minSdkVersion 16
targetSdkVersion 23
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'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}
buildscript {
ext.kotlin_version = '1.0.0-beta-3595'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
repositories {
mavenCentral()
}
의존 관계나 구축할 때의 클래스 경로 등을 추가했습니다.예제 응용 프로그램 실행
응용 프로그램이 정상적으로 실행됩니다.
움직여!
Kotlin 스타일 코드 시도
에반젤리스터 씨의 자료를 보고 많은 시도를 하고 싶었지만 시간이 없어서 함수 확장만 시도했다
이만걸 리스트 직전!기존 제품에 Kotlin#jjug_ 사용ccc #jjug #jkug // Speaker Deck
확장 시도 함수
에반젤리스터 씨의 자료를 보고 많은 시도를 하고 싶었지만 시간이 없어서 함수 확장만 시도했다
이만걸 리스트 직전!기존 제품에 Kotlin#jjug_ 사용ccc #jjug #jkug // Speaker Deck
확장 시도 함수
package jp.co.opst.kotlinsample
import android.content.Context
import android.widget.Toast
fun Context.toast(message: String, duration:Int = Toast.LENGTH_SHORT) {
Toast.makeText(this, message, duration).show()
}
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// (省略)
toast("Hello, Kotlin!")
}
응용 프로그램을 시작하면 토스트를 표시합니다!Reference
이 문제에 관하여(Kotlin에서 안드로이드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/miyatay/items/be86dacde66716e8f24a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)