일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- cs
- 안드로이드
- CS지식
- db
- 운영체제
- 안드로이드 개발
- OS
- 안드로이드 디자인 패턴
- 앱
- 프로세스
- github
- 코틀린
- MVVM
- reactnative
- Android
- 앱개발
- Operating System
- 메모리
- 액티비티
- 개발
- 리액트
- 스레드
- Database
- 데이터베이스
- React
- 디자인 패턴
- 디자인패턴
- 앱 개발
- Kotlin
- 리액트네이티브
- Today
- Total
목록안드로이드 개발 (5)
Tech Log
1. Observer Pattern이란? 주체가 어떤 객체(subject)의 상태 변화를 관찰하다가, 상태 변화가 있을 때마다 메소드 등을 통해 옵저버들에게 변화를 알려주는 디자인 패턴. 주체는 객체의 상태 변화를 보고 있는 관찰자를 말한다. 옵저버들은 객체의 상태 변화에 따라 전달되는 메소드, 이벤트 등을 기반으로 추가 변화 사항이 생기는 객체들이다. 위와 같이 주체와 객체를 분리하지 않고 상태가 변경되는 객체만을 기반으로 옵저버 패턴을 적용하기도 한다. 옵저버 패턴의 원리가 적용된 서비스 중에는 트위터가 있다. 팔로워들은 주체가 새로운 트윗을 올리면 알림을 받게 된다. 2. 예시 kotlin으로 작성한 옵저버 패턴 예시는 다음과 같다. interface Observer { fun update() } ..
프로젝트를 하면서 Repository Pattern을 사용해보았고, 데이터 레이어를 분리하였을 때 다른 이점이 더 있을까 궁금하여 조사해보았다. 해당 글은 안드로이드 플랫폼을 기준으로 기술하였습니다. 1. Repository Pattern이란? 데이터 레이어를 분리하는 디자인 패턴이다. 데이터 레이어에는 네트워킹 코드, Room 데이터베이스와 같이 데이터와 관련된 코드들이 들어간다. UI 부분과는 분리되어 데이터와 비즈니스 로직이 들어간다. 안드로이드는 위 그림과 같이 Repository 패턴을 적용하고 있다. Remote Data Source와 Local Data Source를 추상화하여 중앙 집중 처리 방식을 구현하였다. 이 덕분에 데이터를 사용하는 곳(ViewModel)에서 비즈니스 로직(Repos..
1. 의존성 종속성이라고도 한다. B의 변경 사항에 대해 A 또한 변해야 한다면, A가 B에 의존성이 있다는 것이다. B가 바뀌면 A도 바뀌는 것이다. 2. 의존성 주입 위 그림처럼 메인 모듈이 직접 하위 모듈에 대한 의존성을 주는 것이 의존성 주입을 적용하지 않는 것이다. 의존성 주입을 적용한다면, 메인 모듈이 직접 의존성을 주는 것이 아니라 간접적으로 주게 된다. 중간에 의존성 주입자(dependency injector)가 의존성 주는 부분을 가로채서 메인 모듈 대신 의존성을 주입하게 된다. 그 결과 메인 모듈과 하위 모듈은 디커플링 되었다. *디커플링(decoupling) : 모듈 간 의존성을 최소화 의존성 주입 시에는 상위 모듈은 하위 모듈에서 어떠한 것도 가져오지 않아야 한다. 또한 상위 모듈과..
안드로이드 개발자 채용 공고를 보면 'AAC 적용 경험'을 요구하는 곳을 볼 수 있다. 따라서 어떤 것인지 궁금했고 최근에 프로젝트에 AAC의 ViewModel을 적용해보았다. 실제로 적용해보며, 데이터를 편하게 관리할 수 있었다. 또한 context가 필요할 때 AAC ViewModel을 사용하였다. ViewModel을 써보면서 또 어떤 다른 장점이 있길래, 구글이 AAC를 따로 만들어냈는지 그 이유가 궁금했다. 이에 대해 알아보고 ViewModel 이외에 다른 AAC(Component)는 어떤 것이 있는지 정리해보려 한다. 1. AAC는 무엇인가? 2. AAC에는 어떤 Component가 있는가? 3. AAC의 활용 Android Architecture Components(AAC)는 무엇인가? 개요 ..
개요 : 리액트를 공부할 때도 들었던 의문이었지만, 왜 생명주기란 것이 있는지 궁금했었다. 이번에 안드로이드를 공부하면서 생명주기라는 것이 왜 있는지 알게되었고 각 각의 단계들이 어떤 때에 일어나는지 알아보게 되었다. 액티비티 생명 주기가 필요한 이유 사용자는 앱을 사용할 때 중간에 나갈 수도 있고 다시 돌아갈 수도 있다. 이러한 상황 속에서 액티비티 클래스는 시스템의 상태 변화를 알아차릴 수 있게끔 콜백을 제공한다. 아래와 같은 상황을 예방하기 위해서 생명 주기 콜백을 사용하는 것이다. 앱을 사용하고 있는데 전화가 걸려와서 앱이 비정상 종료되는 문제 앱을 나갔다가 돌아왔을 때 사용자의 진행 상태가 저장되지 않는 문제 앱을 사용하고 있는 도중 다른 앱으로 전환했을 때 앱이 비정상 종료되는 문제 앱의 세로..