1. [오늘 발매음악 리사이클러뷰 생성] ⇒ 클릭 시 액티비티 전환 with 데이터 렌더링
- ListView
- ListView란?
정의 : 사용자가 정의한 데이터 목록을 세로 방향으로 나열하여 화면에 표시하는 뷰 그룹의 한 종류단점 : 최초 생성이나 스크롤 시 아이템을 생성할 때마다 뷰바인딩을 하기 때문에 성능저하가 일어난다. / VewHolder를 제공하지 않아서 finfViewByld를 매번 호출하여 사용해야 한다.
장점 : 단순하고 ArrayAdapter가 제공되어서 더 빨리 적용할 수 있다.
- RecyclerView
- List View vs RecyclerView
- [오늘 발매음악 리사이클러뷰 생성] ⇒ 클릭 시 액티비티 전환 with 데이터 렌더링
- RecycleView : 동일한 형태의 뷰의 데이터에 따라서 달라지는 형태 뷰를 재활용 하는 뷰 > ViewHolder패턴을 강제로 구현하여 뷰 바인딩은 한번만 필요하다. *ViewHolder : View를 보관하는 객체 / ItemView의 각 요소를 바로 엑세스 할 수 있도록 저장해두고 사용하기 위해 사용
RecycleView | ListView | |
ViewHolder | ViewHolder 패턴 이용 | 이용 x |
Item Layout | 가로/세로/지그재그 모두 가능 Ø layoutManager 덕분 |
세로만 가능 |
Item Animation | 아이템 에니메이션 처리 가능 | 불가능 (아이템이 추가, 제거 될 때 사용할 수 있는 에니메이션 x) |
Adapter | 데이터 제공을 위해 직접 구현 Universal한 Adapter을 사용하여 데이터 소스 처리 > 유연성 |
다양한 소스에 대한 어댑터 존재 (배열로부터 가져올 때, XML로부로 가져올 때 등이 다 다름) |
Decoration | 많은 구분선 설정 | 쉽게 구분 가능 |
Click Event | 개별 터치 이벤트 관리 가능, 클릭 처리 기능은 x | 클릭 이벤트에 바인딩 하기 위한 인터페이스 존재 |
- 리사이클러뷰 사용방법
-
- Adapter
정의 : 사용자의 데이터(사용자가 정의한 데이터)를 받아 화면 출력 뷰(View)를 생성해주는 객체/ Listview와 독립적으로 동작한 클래스의 인터페이스를 클라이언트에서 사용하고자 하는 다른 인터페이스로 변환한다. > 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 쓸 수 있다.
역할 : ListView에 사용자가 정의한 데이터를 화면에 표시한다.
-
- ViewHolder
- LayoutManager
- DataList
- RecyclerView에서 Click Listener의 사용
'안드로이드' 카테고리의 다른 글
[UMC] 8주차 - 사용자 인증 방식(oAuth/Cookie/JWT) (0) | 2022.01.05 |
---|---|
[UMC] 7주차 - RoomDB (0) | 2022.01.05 |
[UMC] 5주차 - 액티비티 생명주기 / MediaPlayer / GSON,JSON (0) | 2022.01.05 |
[UMC] 4주차 - Thread(스레드) 개념 및 사용법 (0) | 2022.01.05 |
[UMC] 3주차 - 다양한 화면 전환 (0) | 2022.01.05 |