일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- RxJava
- 이펙티브코틀린
- 안드로이드 개발자
- 코딩테스트
- Flutter
- 안드로이드 컴포즈
- Go언어
- react
- RxKotiln
- 프로그래머스
- 잡담
- android compose
- 안드로이드 다이얼로그
- Rxjava 안드로이드
- 반응형 프로그래밍
- Dev6
- MVVM
- Java
- 안드로이드
- 코루틴
- Kotiln
- android
- 일상
- 이펙티브 코틀린
- Swift 문법
- 알고리즘
- 코틀린
- swift map
- Firebase
- 개발자
- Today
- Total
목록안드로이드 (16)
최데브는 오늘도 프로그래밍을 한다.
FireStroe 는 클라우드 방식의 데이터베이스를 사용하기 쉽게 제공되는 DB 다. 소유한 서버, DB가 없다면 저렴한 가격으로 대여할 수 있는 좋은 서비스다. FireStore 에는 크게 컬렉션 , 문서 , 필드로 이루어져있는데 컬렉션 아래에 문서 여러개 또 문서 아래에 필드 여러개로 계층적인 구조를 가지고 있다. 직접 파이어스토어를 만들어보면 바로 이해가 될 것이다. 웹, 안드로이드 , ios 등 여러 플랫폼에서 제공되고 있는 각각 설치하는 방법은 공식문서나 많은 블로그에 다루고 있으니 따라하면 바로 적용된다. 나는 안드로이드 환경을 기준으로 사용하는 방법에 대해 코드 위주로 정리 해볼까한다. 먼저 가장 상위 계층인 컬렉션(문서 아래의 필드 구간에서도 컬렉션을 만들 수 있다. 뒤쪽에 이게 무슨말인지..
안드로이드를 개발하다보면 다른 액티비티로 데이터를 전달할때 그 데이터가 복잡한 클래스의 객체라면 Serializable 또는 Parcelable 를 사용하여 직렬화 하여 인텐트에 추가해야한다. 그럼 직렬화는 뭘까? 직렬화는 1. 메모리 내에 존재하는 정보를 보다 쉽게 전송 및 전달하기 위해 byte 코드 형태로 나열하는 것이다. 여기서 메모리 내에 존재하는 정보는 즉 객체를 말한다. 2. JVM 의 메모리에 상주 되어있는 객체 데이터를 바이트 형태로 나타내는 기술 역직렬화 라는 개념도 있는데 말그대로 위의 내용의 반대라고 생각하면 된다. Serializable 부터 뭔지 알아보자. Serializable 는 Java 에서 제공하는 interface다 사용하기도 쉽고 직렬화 또한 잘된다. 그러나! 사용하기..
DI 가 의존성 주입을 의미하는 단어라는것은 알고 있었다. Spring 공부할때 bean 으로 의존성 주입하고 어노테이션으로 썼던 기억이 난다. 안드로이드에서는 사용해보지 않았는데 Dagger2 라는 라이브러리가 그 역할을 해주고 있다는건 알고 있었다. 그렇게 알고만 있다가 새로 공부하고 프로젝트에 적용해보고 싶은 욕심이 생겨서 찾아보던 중 Dagger2와 성능차이도 나지 않는데 훨씬 쓰기 쉽고 직관적인 라이브러리 Koin 이 있다는걸 알고 사용해보기로 했다. 쉽고 좋은데 쓰지 않을 이유는 없지. 먼저 DI를 왜 쓸까? 사용하면 얻는 이점부터 알아보자. - 의존관계 설정이 프로그램 실행시에 이루어지기 때문에 컴포넌트간 결합도를 낮춘다. - 코드 재사용성이 증가한다. - 단위 테스트의 편의성을 높여준다. ..
얼마전부터 공부하고 있는 MVVM 패턴에 대해 정리하기위해 포스팅을 하기로 마음먹었다. 사실 MVVM 패턴 자체만 두고보면 엄청 어렵고 그런 개념은 아닌데 제대로 만들기 위해서 들어가는 여러가지 따라오는것들이 어려운거 같다. LiveData 라던지 RxJava 라던지.. 이런것들도 다음 포스팅에 적을것이다. 일단 MVVM 패턴에 대해서 먼저 알아보자. MVVM 패턴은 예전 MVP 포스팅에서도 언급했듯 MVP패턴의 View와 Presenter , Model 사이이 양방향 의존성이 심해서 이것을 해결하기 위해 만들어졌다. MVVM 은 크게 View - ViewModel - Model 로 이루어져있고 단방향 의존성을 가진다. VIew는 ViewModel 을 참조하지만 ViewModel 은 View 를 참조하지..