일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 뷰모델
- 안드로이드 스튜디오
- 안드로이드 뷰모델
- 안드로이드 스레드
- ViewModel
- 안드로이드 빌드
- android arhitecture componets
- 아키텍쳐 컴포넌트
- 작업 스레드
- 안드로이드 아키텍처 컴포넌트
- 아키텍처 컴포넌트
- worker thread
- UI Thread
- 안드로이드 UI 스레드
- 안드로이드 Gradle
- 안드로이드 네트워크 통신
- 안드로이드 그래들
- 안드로이드 메인 스레드
- LiveData
- 안드로이드
- android studio
- android ViewModel
- 라이브데이터
- google io 2017
- Architecture Components
- 메인 스레드
- Android
- ui 스레드
- Today
- Total
목록Android (5)
현치비
안드로이드 빌드 시스템은 어떻게 돌아가는지 궁금하다면? https://developer.android.com/studio/build/ setings.gradle : 이 파일은 앱을 빌드할 때 어떤 모듈을 포함할지 Gradle에 알려주는 파일 프로젝트를 만들면, include ‘:app’ 라는 짧은 한 줄만 설정이 되어있는데, 최근 인스턴트 앱에서도 강조하는 모듈화! 를 한다면 include ‘:app’, ‘:common’, ‘:somethingModule’ 처럼 추가가 될 수 있을 것이다 :) build.gradle(root project directory) : 이 파일은 프로젝트의 모든 모듈에 적용되는 비들 구성을 정의함 /** * 이 buildscript {} 블록에는 Gradle 자체에 대한 레포지..
Main Thread(메인 스레드)와 Worker Thread(작업 스레드) 오늘은 안드로이드 메인 스레드에 대해서 알아보려고 한다. 앱은 일반적으로 프로세스 하나 위에 여러 멀티 스레드가 돌고 있는 형태이다. (물론, 멀티 프로세스도 가능하긴 하다.) https://brunch.co.kr/@kd4/3 (프로세스와 스레드) 멀티 스레드를 사용하면 성능은 향상된다. 하지만, UI를 멀티 스레드로 변경해버린다면,,? 원하는 UI로 그려지지 않을 확률도 높고, 여러 이상현상이 발생할 것이다. 그래서 안드로이드는 UI를 그리는 스레드는 오직 Main(UI) 스레드에서만 가능하도록 설계되었다. 그래서 메인스레드 혹은 UI 스레드라고 부른다. (같은 말임) 메인 스레드가 아닌 작업(Worker) 스레드(or 백그라..
오늘은 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에 대해..