1. List get(), contains() 등의 함수가 쓰임(수정 불가능) MutableList, ArrayList, LinkedList 모두 List를 상속하여 만들어 진다. List는 수정 불가능한 List와 수정가능한 MutableList로 나뉜다 val list: List = listOf(1,2,3) val list2 = listOf(1,"d",11L) //List로 자동타입추론 list[0] = 2 //수정 불가능하기 때문에 Error 발생 var result = list.get(0) 2. Array 정적 할당 → 선언 시 크기를 지정하거나 초기화를 진행해야 함.(수정 가능) element의 추가, 삭제는 불가능 val array: Array = arrayOf(1,2,3) val array2..
1. Scoped Storage란? 구글 플레이스토어에 앱을 업로드 하기 위해서는 Target SDK 30 이상을 맞춰야하는 이슈가 생겼다. SDK 30 이상부터는 기존 접근 권한 과는 다르게 파일에 접근해야 하는 이슈가 생겼는데 다음과 같다. (1) API Levels SDK 28 이하 WRITE_EXTERNAL_STORAGE READ_EXTERNAL_STORAGE MANAGE_EXTERNAL_STORAGE SDK 32 이하 READ_EXTERNAL_STORAGE SDK 33 이상 READ_MEDIA_IMAGES READ_MEDIA_VIDEO READ_MEDIA_AUDIO (2) Permission 요청 SDK 28이하 에서는 권한 요청을 모두 해야 하고, 유저로부터 승인을 받아야 한다. 하지만 "Sc..
Navigation은 애플리케이션 내에서 화면 간 이동을 쉽게 관리할 수 있는 라이브러리이다. 네비게이션 그래프를 사용하여 화면 전환, 매개변수 전달 등을 손쉽게 관리할 수 있다. 네비게이션은 기본적으로 Jetpack Compose 기반의 네비게이션과 xml기반의 네비게이션 두 가지가 있다. 1. Jetpack Compose NavigationCompose 기반의 네비게이션을 살펴보자 CODEimport android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.layout.* import androidx.compo..