개발일지
4. 화면구성하기 본문
- ListView 의 ViewHolder 패턴 사용하지 않는 경우
-getView 는 아이템의 수만큼 호출 / inflate/fVBI를 매번 호출
-scroll 할때마다 getView 호출 발생 - ListView 의 ViewHolder 패턴 적용한 경우
-View inflate 을 최초 한번만 호출
-FVBI을 매번 호출하지 않게 된다
=한번 생성해둔 View 재사용 - ListView의 ViewHolder 패턴
-단순한 리스트에는 큰 영향 없음
-필수가 아니라서 문서를 확인하지 않으면 알 수 없다
-메모리와 성능상 꼭 필요한 패턴
-RecyclerView를 활용하면 이러한 패턴을 기본으로 활용가능
-SupportLibrary 를 이용해서 하위에서도 사용 가능
-LayoutManager 을 통해서 View 그리는 방법을 정의
-Dataset의 아이템 정보를 통해 어댑터 구성
##LayoutManager
- 리스트에 데이터를 보여주기 위한 정의
-LinearLayoutManager / GridLayoutManager / StaggeredGridLayoutManager / 각각의 상속받아 커스텀 정의 가능
##RecyclerView 장점
- onCreateViewHolder 을 통해서 View를 최초 한번 생성
- onBindViewHolder을 통해 아이템의 view를 갱신
- 아이템 리스트를 직접 구현할 수 있다.
단점: 모든 레이아웃을 직접 구성해야 한다/ Header,Footer 역시 필요한 경우 직접 개발해야 한다. / RecyclerView 는 ViewType 을 정의해서 직접구현해야 함
- RecyclerView
- ViewHolder을 기본으로 사용
-모델을 자유롭게 사용자가 지정해서 사용할 수 있음
========================================Image Load Library====
- AsyncTask
- onPreExcecute() : UI
- doInBackground(Params...) :Thread
- onProgressUpdate(Progress...) : UI
- onPostExecute(Result)
2. Fresco
- 이미지 다운로드 및 처리를 위한 라이브러리
- 로컬 캐쉬 사용
- Android NDK 기반의 이미지 라이브러리 // NativeDevelopment Kit 구글에서 안드로이드 애플리케이션에서도 C/C++을 활용할 수 있도록 제공하는 도구가 바로 NDK
- 다양한 Format지원 (JPEG,GIF,WebP ,,)
장: 용량이 큰 이미지를 처리할 때 / NDK로 처리하기에 용량의 문제가 없음 / 별도의 ImageView를 사용해야 함
3. Glide
- 이미지 다운로드 및 Load를 위한 라이브러리
- 다양한 format지원 (JEPG,GIF,PNG,,)
- 로컬 캐쉬 사용
==========================retrofit 과 gson 소개========================
- retrofit
-square 에서 배포하는 HTTP REST API
- A type-safe HTTP client for Android and Java
-HTTP 를 통한 통신
-gson /XML 데이터의 파싱을 제공 : AddOn 이용하여 제공
-HTTP 중 오류에 대한 처리
-다중 요청 및 파일 업로드 기능 제공
2. GSON 소개
- GSON 은 JSON 파서
- JSON String 을 Java Object 로 변환해준다.
- Retrofit 에 함께 사용할 수 있는 GSON Convert 가 있다.
==================Android BottomSheet==========================
- BottomSheet 2종류 : Layout 에 포함 / DialogBottomSheet
=================ChromeCustom Tab==========================
Custom
-Toolbar color
-ActionButton
-Custom menu items
==================Espresso 주요 코드=====================================
'Kotlin' 카테고리의 다른 글
Kotlin 코틀린 써야하는 이유!! (0) | 2022.11.05 |
---|---|
3. Architecture (0) | 2021.07.06 |
2. 심화 (0) | 2021.07.06 |
1. Basic Syntax (0) | 2021.07.06 |