일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 아키텍쳐 컴포넌트
- 메인 스레드
- android studio
- Architecture Components
- 안드로이드 메인 스레드
- google io 2017
- UI Thread
- 안드로이드
- android ViewModel
- 아키텍처 컴포넌트
- ui 스레드
- 안드로이드 Gradle
- 안드로이드 네트워크 통신
- 라이브데이터
- 뷰모델
- 안드로이드 스레드
- 안드로이드 아키텍처 컴포넌트
- ViewModel
- 안드로이드 뷰모델
- 안드로이드 스튜디오
- android arhitecture componets
- LiveData
- 안드로이드 빌드
- 안드로이드 그래들
- 안드로이드 UI 스레드
- Android
- worker thread
- 작업 스레드
- Today
- Total
목록android arhitecture componets (3)
현치비
오늘은 LiveData를 알아보자. LiveData? 데이터를 가지고 있고, 데이터의 변경을 감지할 수 있는 클래스 끝이다. 필자는 Api 응답이나, 프래그먼트 간의 데이터 교환, 데이터 통일성 유지를 위해 많이 사용한다. 예를 들어, 카페 앱을 만든다고 생각해보자. 카페 게시글 List 화면(A) 프래그먼트, 카페 게시글 상세정보화면(B) 프레그먼트 두 프래그먼트 화면에서 각 카페 글에 대한 좋아요 갯수 데이터를 가지고 있다고 가정하자. A -> B 프레그먼트로 전환될 때 우리는 newInstance(int likeCount) 이런식으로 데이터를 넘긴다. B 프레그먼트에서 데이터를 변경하고, likeCount++; B 프레그먼트에서 BackKey를 눌러 A로 다시 돌아오는 경우에 A에게 변경된 데이터를..
이번 시간은 ViewModel을 알아본다. 먼저 정의를 알아보자. ViewModel Activity는 가로 회전을 하게되면, 새로운 Activity의 인스턴스가 생성된다. 즉, 기존 Activity는 onPause -> onStop -> onDestory타서 죽고, 새로운 Activity가 새로 생성되어 onCreate -> onStart -> onResume를 탄다. 위가 왜 문제가 된다는 것일까? 위 첫 번째 Activity(보라+파란 색 화살표)에서 fetchUser() 메서드로 유저 정보를 가져온다. 가로 모드로 전환. 새로운 Activity가 다시 fetchUser() 메서드로 유저 정보를 가져온다. 중복 데이터 통신 == 데이터 낭비 + 배터리 낭비 ViewModel을 쓰면 다음과 같이 해결..
Google IO 2017에서 가장 흥미로웠던 주제는 "안드로이드 아키텍쳐 컴포넌트" 였다. 개발자들은 MVC, MVP, MVVM등 여러가지 패턴을 사용했었었는데, 이제는 구글의 아키텍쳐 컴포넌트 권고사항을 많이 따르지 않을까 생각된다. 안드로이드 아키텍쳐 컴포넌트? https://developer.android.com/topic/libraries/architecture/index.html 위 주소로 들어가 디벨롭 문서가 한번 읽어보는 걸 추천하고, 간단히 요약을 해보았다. 안드로이드 아키텍쳐 컴포넌트 (Android Architecture Components) 크게는 4가지로 구분을 할 수 있다. 1. Lifecycle2. ViewModel3. LIveData4. Room 먼저 LifeCycle에 대해..