728x90
반응형

2025/02/14 3

24. Thread와 Handler (AsyncTask, RxJava, Coroutine, Handler)

스레드 (Thread)Android 앱은 기본적으로 싱글 스레드 모델에서 실행된다.메인 스레드(UI 스레드)는 사용자 인터페이스(UI)와 관련된 작업을 담당하며, 긴 작업(예: 네트워크 요청, 데이터베이스 작업)을 메인 스레드에서 실행하면 ANR(Application Not Responding) 오류가 발생할 수 있다.이를 방지하기 위해, 긴 작업은 백그라운드 스레드에서 실행해야 한다.핸들러 (Handler)핸들러는 스레드 간 통신을 가능하게 하는 도구백그라운드 스레드에서 메인 스레드(UI 스레드)로 메시지를 전달하거나 작업을 예약하는 데 사용된다.메인 스레드에서 생성된 핸들러는 백그라운드 스레드로부터 받은 메시지를 UI에 반영할 수 있다.AsyncTaskAsyncTask는 Android에서 백그라운드 ..

23. 네트워크 통신 활용 (Retrofit)

네트워크 요청 및 JSON 데이터 처리네트워크 통신은 Android 애플리케이션에서 외부 API 서버와 데이터를 주고받는 과정 네트워크 요청 단계요청(Request)클라이언트(앱)에서 HTTP 요청(GET, POST 등)을 서버에 보낸다.요청 URL은 API 엔드포인트로 지정되며, 필요한 매개변수(쿼리, 경로 등)가 포함된다.응답(Response)서버는 요청을 처리하고 JSON 형식의 데이터를 클라이언트에 반환한다.클라이언트는 JSON 데이터를 파싱 하여 사용할 수 있는 객체 형태로 변환된다.Retrofit 라이브러리를 사용한 네트워크 요청 Retrofit이란?Retrofit은 Square에서 제공하는 Android 네트워크 라이브러리로, RESTful API와 통신을 쉽게 구현할 수 있도록 도운다. 특..

ViewModel이란?

ViewModelAndroid Jetpack의 아키텍처 컴포넌트 중 하나UI 데이터를 관리하고 저장하기 위해 설계된 클래스ViewModel은 Activity나 Fragment의 생명 주기를 고려하여 데이터를 효과적으로 관리할 수 있게 해준다.화면 회전과 같은 이벤트로 인해 Activity/Fragment가 재생성되더라도 데이터를 유지하고, 불필요한 네트워크 호출이나 데이터 처리 방지 주요 특징UI 생명 주기 인식ViewModel은 UI 컨트롤러(Activity/Fragment)와 연결되어 있으며, UI 생명 주기를 알고있다.UI가 destroy되기 전까지 메모리에 데이터를 유지한다.화면 회전, 구성 변경 등으로 인해 Activity/Fragment가 재생성될 때 데이터를 다시 초기화하지 않아도 된다.UI..

728x90
반응형