아이폰과 마찬가지로 모바일 환경에서 가장 많이 사용되는 형태의 UI가 리스트입니다. 안드로이드 리스트 뷰는 안드로이드에서 가장 많이 사용되는 컴포넌트 중에 하나로 다음과 같은 특징을 가지고 있습니다. 레이아웃과 같은 뷰 그룹에 속함 어뎁터(Adapter)를 통해 데이터와 리스트 뷰를 연결 오래전부터 사용 가능 했으며 API Level 1 부터 존재 프래그먼트를 사용할 경우 this 컨텍스트를 사용할 수 없기 때문에 getActivity() 함수를 사용 프래그먼트를 사용할 경우 LayoutInflater를 사용해 뷰를 가져옴 리스트 뷰 생성 아이디가 listview1 인 리스트 뷰를 선언한다. 데이터 정의 다음과 같이 데이터를 정의한다. class MainActivity : AppCompatActivity..
지난 시간에는 네비게이션 컨트롤러를 만들기 위해서 설정을 하고 디자인을 해봤습니다. 오늘은 코드를 작성해서 네비게이션 그래프를 잘 동작하도록 만들어보겠습니다. 안드로이드는 오랫동안 이어져온 v4, v7, v8, v17과 같은 서포트 라이브러리를 통해서 하위 호환을 지원했었는데 이런 오래된 구조를 재 정립하고자 Android extension library (Androidx) 기반의 패키지 구조를 만들게 되었으며 이것들은 모두 젯팩의 구성요소입니다. 다시 말해 서포트 라이브러리와 코틀린 지원 도구 및 여러 라이브러리가 포함된 통합 지원 라이브러리라고 할 수 있습니다. 젯팩 컴포넌트 구성 Architecture - 뷰를 포함한 UI 구성요소의 라이프 사이클 관리 및 LiveData와 뷰 모델, Room 데이..
저번 강좌에서 안드로이드 Jetpack 네비게이션 컨트롤러를 만들고 환경을 구성했었는데요. 이어 이번 시간에는 네비게이션 컨트롤러를 만들기 위한 디자인 작업을 해보도록 하겠습니다. 다음과 같은 구성으로 디자인이 됩니다. 사실 디자인이라고 보기는 어렵고 그냥 화면 구성이죠. 3개의 프레그먼트(Fragment)를 만들고 첫 번째 페이지는 메인 프레그먼트로 다음 페이지로 이동하는 기능만 있습니다. 두 번째 페이지는 다음 페이지로 이동하거나 뒤로 이동하는 기능이 있습니다. 다음 페이지로 이동할 때는 번들을 통해서 특정 값을 전달하는 내용도 포함됩니다. 세 번째 페이지는 다시 메인 프레그먼트 페이지로 이동하는 기능만 있으며 두 번째 페이지에서 전달받은 값으로 버튼의 텍스트를 변경합니다. 프레그먼트 생성 ▼ 새로운..
Google I/O 2018에서 발표한 안드로이드 Jecpack의 내비게이션 컨트롤러를 사용하는 방법을 알아보겠습니다. iOS 개발의 네비게이션 컨트롤러와 비슷하며 프래그먼트를 사용해서 오히려 iOS 보다 더욱 편리하게 이동이 가능해보입니다. iOS의 경우 특정 뷰 컨트롤러에 네비게이션 컨트롤러를 만들고 RootViewController로 설정해줘야 해서 객체가 하나 늘어나는 반면 안드로이드의 Jetpack 네비게이션의 경우 아주 간단히 프레그먼트들을 연결해서 사용할 수 있습니다. Navigation Components는 Jetpack의 Architecture에 속하는 라이브러리 중 하나이며, 오늘은 간단히 여러 프레그먼트의 네비게이션을 연결하고 이동하기 위한 Jetpack 설정에 대해서 알아보겠습니다...