android:클래스와리스트를사용하기
클래스와리스트를사용하기
문서의 이전 판입니다!
간단한 투두앱을 만들어 보자
간단한 데이터 만들기
우리는 data class를 이용하여 Todo 데이터의 구조를 맏들 것이다.
그리고 이렇게 만든 데이터 클래스에 데이터를 다음과 같이 집어 넣어 보자
- "Todo.kt
package com.dklaw.gogo2.database import java.time.LocalDate data class Todo( var id : Int, var title : String, var createdAt : LocalDateTime ) fun getFakeTodo() : List<Todo> { return listOf<Todo>( Todo(1, "First todo", LocalDateTime.now()), Todo(2, "Seconde todo", LocalDateTime.now()), Todo(3, "Third todo", LocalDateTime.now()), Todo(4, "This is the last todo", LocalDateTime.now()) ) }
화면에 출력하기
1. 간단하게 출력해보기
위의 제목과 만든 날짜를 화면에 간단하게 출력해보자
- "TodoListPage.kt"
package com.dklaw.gogo2.pages import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import com.dklaw.gogo2.database.Todo import com.dklaw.gogo2.database.getFakeTodo import java.time.format.DateTimeFormatter @Composable fun ContactsPage() { val todoList = getFakeTodo() Column(modifier = Modifier .fillMaxHeight() .padding(8.dp)) { LazyColumn( content = { itemsIndexed(todoList) { index : Int, item : Todo -> TodoItem(item = item) } } ) } } @Composable fun TodoItem(item : Todo) { val timeFormater : DateTimeFormatter = DateTimeFormatter.ofPattern("yyyy년 M월 d일 a h시 m분") val nowString = item.createdAt.format(timeFormater) Row { Column { Text(text = nowString) Text(text = item.title) } } }
데이터 조작하기
1. Todo Manager
- "TodoManager.kt"
package com.dklaw.gogo2.database import java.time.LocalDateTime object TodoManager { private val todoList = mutableListOf<Todo>() fun getAllTodo() : List<Todo>{ return todoList } fun addTodo(title : String) { todoList.add(Todo(System.currentTimeMillis().toInt(), title, LocalDateTime.now())) } fun deleteTodo(id : Int) { todoList.removeIf{ it.id == id } } }
android/클래스와리스트를사용하기.1723118999.txt.gz · 마지막으로 수정됨: 2024/08/08 21:09 저자 이거니맨
로그인