MVVM을 학습하면서 좋은 글을 발견하여 저장하고자 남긴다. MVVM은 Model - View - ViewModel의 줄임말로 최근 안드로이드 아키텍쳐에 가장 많은 사랑을 받으며 구글의 전폭적인 지원을 받기도 하고 있습니다. 이 포스팅에서의 View는 안드로이드의 UI컴포넌트 기본단위 View 가 아닌 MVVM 에서의 View를 이야기 합니다. MVVM 구조의 장점 MVVM 패턴을 지켜 개발된 앱은 아래와 같은 특징을 갖게 됩니다. Separation of concern - 하나의 소프트웨어를 최대한 기능적으로 작은 단위로 나눔 테스트가 쉬워지고 큰프로젝트도 상대적으로 관리하기 좋다. SOLID principle 을 지향 앱이 구조적으로 약한 결합의 컴포넌트로 나눠짐 대체적으로 위와같은 장점에 대해서 이..
오늘은 처음 알게 된 Transient Keyword에 대해 정리해보고자 한다. # Serialization 직렬화 (Serialization)으로 검색해서 나온 정보들은 종합해 보면 대부분 같다. 직렬화란 오브젝트를 데이터스트림에 쓰기 위해 연속적인(serial) 바이트로 변환 하는것을 말한다. Java에서 직렬화가 가능한 것 원시타입 객체 Serializable 인터페이스를 implements 한 오브젝트 Serializable 인터페이스를 implements 한 클래스나 인터페이스를 상속/구현 한 오브젝트 예를 들어서 주민번호(pNumber)와 이름(name)으로 구성된 Person 객체 있다고 가정하자. name과 pNumber를 파일로 저장해도 되지만, 이를 객체 자체를 저장하고 싶다면 Seri..
돌이켜보면 본 프로젝트는 어떤 생각으로 시작했을까 아직도 의문이 남는 프로젝트이다. 모바일에만 관심을 가지고 있는 내가 특히 안드로이드만 해봤던 내가 iOS를?? Swift를?? 심지어는 BackEnd까지?? 그 당시로서는 말도 안되는 상황이었다. 하지만, 결국 했다. 그냥 한 것이 아니라 동작까지 했다. 정말 믿기지 않았다. 그리고 느꼈다. Backend는 내 길과 맞지 않다는 것을... 1인 디자인, 1인 개발, 1인 기획.. 서울대 캠퍼스맵 App을 보고 영감을 받아서 시작했던 프로젝트이다. 하지만, 학교의 규모와 상권의 규모의 차이가 너무 심하여 굳이 이런 어플이 필요가 없다는 판단하게 서비스를 하지 않기로 결정하였다. 하지만, 백엔드, 모바일 모두 해봄으로써 각 분야가 어떻게 소통하는지 대략적으..
Context의 정의 Interface to global information about an application environment. This is an abstract class whose implementation is provided by the Android system. It allows access to application-specific resources and classes, as well as up-calls for application-level operations such as launching activities, broadcasting and receiving intents, etc. Application 환경에 대한 전역 정보를 접근하기 위한 인터페이스. 추상 클래스이며 ..
Android Activity의 4가지 런치모드에는 다음과 같이 존재한다. Standard SingleTop SingleTask SingleInstance Standard방식 일반적인 모드다. 동일한 액티비티던 다른 액티비티던 계속 엑티비티 스택에 쌓아 올린다. SingleTop방식 statndard 모드와 다르게 "최상위 스택에 있는 엑티비티"를 또 다시 호출할경우 새로 스택에 쌓지않고 기존에 있는 액티비티를 재활용하고 이때 해당 엑티비티 (그림에서 A) 는 onNewIntent() 메서드가 호출되고 새로운 intent 를 넘김으로써, 엑티비티가 다시 호출 됬음을 알린다. 이때 주의할 점은 "최상위 스택"에 있지 않는 엑티비티의 경우 그냥 standard 모드 처럼 새로운 엑티비티가 생성되고 스택에 쌓..
안드로이드에서 Fragment 간에 데이터를 전달하는 방법에 대해서 정리하고자 한다. Activity에서는 Intent를 사용하여 데이터를 전달한다면 Fragment는 Bundle을 사용하면 된다. Fragment fragment = new testFragment(); // Fragment 생성 Bundle bundle = new Bundle(); bundle.putString("param1", param1); // Key, Value bundle.putString("param2", param2); // Key, Value fragment.setArguments(bundle); Bundle로 전달된 데이터는 전달받는 Fragment의 onCreateView에서 getArguments()를 이용하여 데이터..
- Total
- Today
- Yesterday
- Auto Layout
- 알고리즘
- databinding
- apple
- Swift
- 컬렉션
- Elliotable
- 코틀린
- Reactive programming
- ios
- Rxjava
- Notissu
- retrofit
- 안드로이드
- Kotlin
- 함수형프로그래밍
- java
- 오토레이아웃
- XCode
- watchos
- Apple Watch
- 아이폰
- 함수형
- CloudComputing
- 상속
- 스위프트
- 애플워치
- SwiftUI
- C++
- android
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |