코틀린 안드로이드 앱개발 강좌, 할 일 목록 앱 만들기

안녕하세요! 이번 강좌에서는 코틀린을 사용해 안드로이드 할 일 목록(To-Do List) 앱을 만드는 방법을 배워보겠습니다. 이 앱은 간단한 사용자 인터페이스를 가지며, 할 일을 추가하고 목록을 표시하며, 완료된 할 일을 삭제하는 기능을 구현할 것입니다.

목차

1. 필요한 준비물

앱 개발을 위해 다음과 같은 준비물이 필요합니다:

  • Android Studio: 최신 버전 설치
  • Kotlin: 최신 버전이 포함되어 있는지 확인
  • 에뮬레이터 또는 연결된 안드로이드 기기: 앱을 테스트할 수 있는 환경

2. 프로젝트 설정

안드로이드 스튜디오를 열고 새 프로젝트를 생성합니다. “Empty Activity” 템플릿을 선택하고, 다음 설정을 입력합니다:

  • Name: ToDoListApp
  • Package name: com.example.todolistapp
  • Save location: 원하는 위치 선택
  • Language: Kotlin
  • Minimum API level: API 21 (Lollipop)

프로젝트가 생성되면, Android Studio의 기본 구조를 이해하는 것이 중요합니다. 주의 깊게 살펴보고, ‘MainActivity.kt’ 파일을 엽니다.

3. UI 디자인

이제 XML 레이아웃 파일을 수정하여 사용자 인터페이스를 디자인합니다. ‘res/layout/activity_main.xml’ 파일을 열어 다음 코드를 입력합니다:


    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <EditText
            android:id="@+id/task_input"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="할 일을 입력하세요"
            android:layout_margin="16dp"/>

        <Button
            android:id="@+id/add_task_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="추가"
            android:layout_below="@id/task_input"
            android:layout_marginStart="16dp"
            android:layout_marginTop="8dp"/>

        <ListView
            android:id="@+id/task_list"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_below="@id/add_task_button"
            android:layout_marginTop="8dp"
            android:layout_weight="1"/>

    </RelativeLayout>
    

위 코드는 사용자가 할 일을 입력할 수 있는 EditText, 할 일을 추가하는 Button, 그리고 할 일 목록을 표시할 ListView를 포함합니다.

4. 코틀린 코드 작성

이제 MainActivity.kt 파일을 열어 다음과 같은 코드를 추가하여 할 일 목록의 기능을 구현합니다:


    package com.example.todolistapp

    import android.os.Bundle
    import android.view.View
    import android.widget.ArrayAdapter
    import android.widget.Button
    import android.widget.EditText
    import android.widget.ListView
    import androidx.appcompat.app.AppCompatActivity

    class MainActivity : AppCompatActivity() {
        private lateinit var taskInput: EditText
        private lateinit var addTaskButton: Button
        private lateinit var taskListView: ListView
        private val taskList = mutableListOf()

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

            taskInput = findViewById(R.id.task_input)
            addTaskButton = findViewById(R.id.add_task_button)
            taskListView = findViewById(R.id.task_list)

            val adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, taskList)
            taskListView.adapter = adapter

            addTaskButton.setOnClickListener {
                addTask()
            }

            taskListView.setOnItemClickListener { _, _, position, _ ->
                removeTask(position)
            }
        }

        private fun addTask() {
            val task = taskInput.text.toString()
            if (task.isNotEmpty()) {
                taskList.add(task)
                taskInput.text.clear()
                (taskListView.adapter as ArrayAdapter<*>).notifyDataSetChanged()
            }
        }

        private fun removeTask(position: Int) {
            taskList.removeAt(position)
            (taskListView.adapter as ArrayAdapter<*>).notifyDataSetChanged()
        }
    }
    

이 코드는 할 일을 추가하고 클릭 시 삭제하는 두 가지 기능을 처리합니다. 사용자가 입력한 내용을 ListView에 표시하고, 목록 항목을 클릭하여 삭제할 수 있습니다.

5. 앱 테스트

앱을 실행하기 전에 코드에 오류가 없는지 확인합니다. Android Studio의 왼쪽 하단에서 “Run” 버튼을 클릭하여 앱을 실행하거나, Shift + F10을 눌러 실행합니다. 에뮬레이터나 실제 기기가 연결되어 있는지 확인합니다.

앱이 실행되면 화면에 할 일 입력란과 추가 버튼, 그리고 할 일 목록이 나타납니다. 필요한 할 일을 입력하고 ‘추가’ 버튼을 클릭하여 목록에 추가할 수 있습니다. 목록에서 항목을 클릭하면 삭제됩니다.

6. 결론

이번 강좌에서는 코틀린을 사용하여 간단한 할 일 목록 앱을 만드는 방법을 배우았습니다. 사용자 입력을 처리하고 UI 요소와 상호작용하는 방법을 익혔습니다. 이와 같은 간단한 앱을 통해 안드로이드 앱 개발에 대한 이해를 높일 수 있습니다. 코드와 디자인의 복잡성을 추가하며 기능을 확장하는 데 도전해보세요!

감사합니다!