안녕하세요! 이번 강좌에서는 코틀린을 사용해 안드로이드 할 일 목록(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 요소와 상호작용하는 방법을 익혔습니다. 이와 같은 간단한 앱을 통해 안드로이드 앱 개발에 대한 이해를 높일 수 있습니다. 코드와 디자인의 복잡성을 추가하며 기능을 확장하는 데 도전해보세요!
감사합니다!