개발일지

4. 화면구성하기 본문

Kotlin

4. 화면구성하기

강강강 2021. 7. 6. 08:51

  • 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 을 정의해서 직접구현해야 함 

 

 

 

  1. RecyclerView 
    - ViewHolder을 기본으로 사용 
    -모델을 자유롭게 사용자가 지정해서 사용할 수 있음

 

========================================Image Load Library====

  1. 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 소개========================

  1. 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==========================

  1. 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