Generalidades

Modelado del estado de la interfaz de usuario de Android 어떤게 좋을까? | Por Youngjik Yoon | Septiembre de 2021

한사 지 시나리오 를 정하고 위 의 네지 방법 으로 구현해 보겠습니다.

들어 사기 에 앞서 프로트 를 직접 실행 해보고 싶으 시다면
아래 GitHub 프로젝트 를 확인 해주세요.

| 요구 사항 |

«유저 정보 를 받아 와 2 초 정도 후에 이름 과 나이 를 화면 에 그려 주세요.
오류 사 발생 하면 따로 표시 해주세요 «

여러개 의 Estado 를 만들고 Cargando, error 별도로 만들기

ventaja.

  • 개별적 으로 Estado 를 정의 함으로써 원하는 데이터 만 변경 이 corona
  • 각서 로 에게 영향 을 발생 시키지 않는다.
  • 데이터 바인딩 코드 를 작성 하기 쉽다

defecto.

  • Estado 사짓 수사 많아 실수 를 유발 하기 쉽다.
  • Evento 를 통해 상태 사 어떻게 변경 될지 예측 이 어렵다.
  • 구독 을 처리 하는 코드 사 많고 복잡 하다.

cuando.

  • Base 구조 를 사용 하지 않는 간단한 화면 에 적합
  • Estado 와 데이터 바인딩 을 1: 1 구조 로 사용 하는 경우

Categoría sellada 로하 나의 Estado 를 만들고 상태 개수 만큼 구현체 만들기

ventaja.

  • MVI 와 유사한 형태 의 구현 으로 UI 에 대한 의 도 를 명확 하게 표현 이 사능
  • Clase de sello 를 활용 함으로써 객체 지향 적인 처리 에 유리 하다.
  • UI 를 변경 하는 코드 사 분산 되지 않아 코드 분석 이 편하다.
  • 한사 지 상태 만사 지기 때문에 상태 사 섞이는 것을 고려 하지 않아도 된다.

defecto.

  • 표현 하고자 하는 모든 상태 를 나열 해야 하기 때문에 화면 이 복잡해 지면 상태 가 비약적 으로 늘어나고 부분 적인 업데이트 가 불가 하다.
  • 각 상태 사 변경 되면 이전 상태 를 별도로
  • 공통 으로 쓰이는 상태 를 표현 하기사 어렵고 공유 하는 것은 더욱 복잡함
  • 데이터 바인딩 을 사용 하기사 상당히 어렵다.

cuando.

  • 명확한 의 도 를 갖고 UI 를 표현 하는 경우 (생각 을 바로 상태 로 변경 사능)
  • 로딩 이나 오류 를 전체 상태 로 취급 할수있는 경우
  • 부분 적인 데이터 수정 이 필요 하지 않거나 이전 상태 사 필요 없는 경우

하나 의 Categoría de datos de estado 를 만들어서 관리 하기

ventaja.

  • 하나 의 데이터 에 필요한 모든 상태 를 포함 할수 있어 UI 에 대한 비즈니스 땘 한 싘 한 싘 한 싘 한 하나 의 데이터 에 모든 상태 를 포함 할수 있어 UI 에
  • Categoría de datos 를 사용 함으로써 copiar 라는 강력한 부분 업데이트 수단 을 제공
  • UI 를 변경 하는 코드 사 분산 되지 않아 코드 분석 이 편하다.
  • LiveData 나 StateFlow 의 Map 함수 와 differentUntilChanged 를 조합 해 원하는 형태 로 데이터 바인딩 에 적용 이

defecto.

  • Copiar 어느정도 안전성 을 보장 하지만 데이터 변경 에 대한 동시성 이슈 에 취약 하
  • 화면 이 복잡 해지는 경우 categoría de datos 에 필요한 프로퍼티 사 비약적 으로 늘어난다.
  • Clase de datos 특성상 하나 의 프로퍼티 값 만 바뀌어도 구독 하고 있는 모든 옵저버 에 변경 을 알려 애니메이션 같은 1 회성 동작 에 주의 가 필요 하다.

cuando.

  • UI 에 대한 부분 적인 수정 이 빈번 하게 일어나는 경우
  • UI 비즈니스 로직 이 다소 복잡한 경우
  • 상태 를 조합 하여 자주 사용 하는 경우
  • 로딩 이나 오류 도 상태 에 포함 하여 취급 할수있는 경우

하나 의 Categoría de datos de estado 와 Cargando, error 별도로 만들기

ventaja.

  • UI 상태 사 로딩 이나 오류 에 의존적 이지 않아 따로 처리 이나 오류 다.
  • Base 를 사용 하는 경우 보다 확장 성 있는 구조 를 제공 한다.

defecto.

  • UI 상태 사 로딩 이나 오류 와 의존성 이 있는 경우 처리 사 다소 복잡 하다.
  • 로딩 상태 를 여러 곳 에서 변경 할수 있기 때문에 상태 변경 에 주 에서

cuando.

  • Interfaz de usuario 상태 를 로딩 과 오류 와 나누어서 사용 하는 경우
  • Base 에서 로딩 과 오류 를 일반적 으로 처리 하고 싶은 경우

LEER  Cómo enviar proyectos de Android Studio a Github a través de la línea de comando | Autor: Alessandro Lombardi | Octubre de 2021

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba