처음 kotlin 간단한 앱 만들기 (운세)

Kotlin은 Java의 통합 개발 환경 인 IntelliJ IDEA로 유명한 JetBrains가 개발 한 객체 지향 프로그래밍 언어입니다. 언어 구문 자체는 Java와 호환되지 않는 독자적인 방식입니다만, 컴파일된 코드는 Java VM(가상 머신)상에서 동작하기 때문에, 지금까지의 Java 자산의 대부분을 유용할 수 있다고 하는 특징을 가지고 있습니다.

Google I/O 2017의 키노트에서는 Android 팀이 Kotlin을 공식적으로 지원한다는 발표가 있었습니다. 또한 최근 출시된 Android Studio 3.0에서는 Kotlin 개발용 플러그인이 처음부터 내장된 등 주목을 받고 있습니다.

이 기사에서는 kotlin의 입문편으로서 간단한 Android 앱의 작성에 대해 소개합니다.



위 이미지처럼 화면이 표시되고 버튼을 누르면 오늘의 운세적인 것이 표시되는 간단한 앱입니다.



kotlin은 java와 마찬가지로 레이아웃 파일과 작동 kotlin 파일의 두 가지로 앱을 정의합니다.
다음은 동적 kotlin 파일입니다.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="todays"
        android:textSize="50sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="onButton"
        android:text="check today"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.821" />


</androidx.constraintlayout.widget.ConstraintLayout>




운세가 출력되는 부분이 화면의 중심에 오도록 설정하고 있습니다.
중심에 오도록 지정하고 있는 부분은 다음과 같습니다.
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />

또한 다음 프레임 워크와 구별하여 버튼 기능을 부여합니다.
<Button>

</Button>

이상 굉장히 해설입니다.

또한 kotlin 파일에 대해서는 다음과 같습니다.
package com.example.check_today

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import kotlinx.android.synthetic.main.activity_main.*
import java.util.*


class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }

    val s = arrayOf("大凶", "凶", "吉", "大吉")
    fun onButton(v: View) {
        val r = Random().nextInt(4)
        tv.text = s[r]
    }
}

움직임의 해설에 대해서는 생략합니다만, 이하의 부분에서 레이아웃 파일과 kotlin 파일의 연결을 실시하고 있습니다.
override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }

아래에서는 버튼 동작을 지정합니다.
fun onButton(v: View) {
        val r = Random().nextInt(4)
        tv.text = s[r]
    }

또 레이아웃 파일의 id(이번에서 말하는 점의 결과의 가변 부분)를 이하와 같이 지정함으로써, 레이아웃 파일의 텍스트를 동적으로 할 수 있다.
tv.text = s[r]

어땠습니까?
다음 번에도 자신이 공부하는 동안 만든 kotlin의 간단한 앱을 소개합니다.

좋은 웹페이지 즐겨찾기