| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 안드로이드
- Kotlin
- Kotlin FCM
- android recyclerview
- 습관만들기
- 코틀린 코루틴
- Android WebView
- Android
- scope function
- coroutine
- Android ProgressBar
- MVP Architecture
- Android Navigation
- Android Interceptor
- Android 12
- 안드로이드 갤러리 접근
- 영어독립365
- 알고리즘 자바
- 프로그래머스 알고리즘
- Android 12 대응
- 영어공부
- 66챌린지
- 카카오 알고리즘
- 안드로이드 카카오 로그인
- WebView
- Android Jetpack
- OkHttp Interceptor
- Java
- DataBinding
- Android ViewPager2
- Today
- Total
목록분류 전체보기 (146)
나미래 Android 개발자
Builder Pattern 이란 Builder Pattern은 객체지향 프로그래밍에서 다양한 객체 생성 문제에 대한 유연한 솔루션을 제공하기 위해 설계된 GoF 디자인 패턴 중 하나이다. Builder Pattern의 목적은 복잡한 객체의 구성을 해당 표현과 분리하는 것이다. 빌더 패턴은 다음과 같은 문제를 해결한다. 별도의 Builder 객체에서 복잡한 객체의 일부를 만들고 조합하는 것을 캡슐화한다. 클래스는 객체를 직접 생성하는 대신 Builder 객체에게 객체 생성을 위임한다. 클래스 안에서 직접 복잡한 객체의 대부분을 만들고 조합하는 건 유연하지 않다. 복잡한 객체의 특정 표현을 생성하도록 클래스를 커밋하고 나중에 클래스와 독립적으로 표현을 변경할 수 없도록 한다. 클래스는 복잡한 객체의 다른 ..
Model + View + ViewModel Model: 데이터 원본의 추상화를 담당한다. View: ViewModel에게 유저의 action을 알려주는 역할을 담당한다. 그리고 ViewModel를 구독하여 UI Data를 관리하고 application logic을 담당하지 않는다. ViewModel: View와 관련된 데이터의 흐름을 관장한다. 추가적으로 Model과 ViewModel을 연결한다. MVVM 특징 App의 생명주기 상태가 유지된다. UI 요소는 비즈니스 로직과 무관하다. 비즈니스 로직과 db 운영과의 종속성이 없다. 프로젝트를 이해하고 코드를 읽는 것이 쉽다. MVVM 장점 유지보수: 비즈니스 로직이 View와 독립적으로 돌아가기 때문에 수정보완이 빠르고 다음 버전을 신속하게 출시할 수 ..
Android FCM 프로젝트 셋팅 Android FCM 기본 예제 Android FCM 클릭 이벤트 들어가며 Android App 개발 프로젝트를 진행하는 중, Notification 개발을 맡았다. 앱이 Foreground 일 때는 내가 원하대로 Notification 클릭 이벤트(특정 화면 호출|이동)가 동작했지만, 앱의 상태가 Background인 경우에는 Notification은 잘 왔지만 클릭 이벤트가 동작하지 않았다. Foreground상태를 처리하는 예제는 무수히 많았지만, Background에서 이벤트처리 관련해서는 정보 찾는데 어려웠어서 Background에서의 Notifiaction 클릭 이벤트 처리를 위한 기본 배경 지식을 정리하려 한다. FCM 이란 Firebase Cloud Me..
인터셉터란 Retrofit Singletone Pattern Singleton Pattern build.gradle(:app): Retrofit 사용을 위한 Dependency 추가, GsonConverter 추가 dependencies { .. // https://mvnrepository.com/artifact/com.squareup.retrofit2/retrofit implementation("com.squareup.retrofit2:retrofit:2.9.0") // gson converter implementation 'com.squareup.retrofit2:converter-gson:2.9.0' .. } Request Interceptor For Adding Headers RetrofitCli..
개요Interceptors란 API 통신에서 요청에 대해 monitor, rewrite 그리고 retry 할 수 있는 강력한 메커니즘이다. Interceptor를 통해서 우리는 API 통신을 만들 때, 통신 과정을 모니터링 하거나 특별한 작업을 수행할 수 있다. 쉽게 말해서, Interceptor 기능은 공항 보안 요원이 보안 검사하는 과정과 비슷하다. 그들은 먼저 탑승권을 확인하고, 승인한 다음에서야 우리가 지나갈 수 있도록 하는 것처럼 말이다.Interceptor는 중앙에서 API 호출들을 모니터링 하는 것처럼 다양하게 사용된다. 일반적으로 우리는 각각의 network 호출에 대해 logger를 달아야 할 필요가 있다. 하지만 Interceptor를 이용한다면 하나의 logger를 추가하여 모든 ne..
Databinding을 사용하는데 데이터가 안 바뀐다?! 변수나 observable 객체가 변경되었을 때, binding은 다음 프레임이 오기 전에 변경 내용을 반영하도록 예약된다. 하지만 데이텨 변경이 즉각적으로 수행되어야 하는 경우가 있다. 이럴 때 executePendingBindings() 함수를 사용하면 된다. override fun onBindViewHolder(holder: BindingHolder, position: Int) { item: T = items.get(position) holder.binding.setVariable(BR.item, item); holder.binding.executePendingBindings(); } 질문과 잘못된 점에 대해 말씀해주시는 건 언제나 환영입니다..
Fragment Fragment는 앱의 UI의 재사용 가능한 부분을 나타낸다. Fragment는 자체 레이아웃을 정의 및 관리하고 자체 수명 주기를 보유하며 자체 입력 이벤트를 처리할 수 있다. Fragment는 자체적으로 수행될 수 없으며 activity 또는 다른 fragment에서 호스팅 되어야 한다. Fragment lifecycle 각각의 Fragment 객체는 각자의 생명주기를 가지고 있다. 사용자가 앱을 사용할 때, fragment의 생명주기는 추가, 제거 및 화면에 들어가거나 나올 때 다양한 상태로 전환된다. onCreate() Fragment Lifecycle Fragment Callback View Lifecycle CREATED onCreate() - Fragment를 생성하면서 넘겨..
Retrofit Singleton Retrofit2 in Kotlin 개요 모바일에서 HTTP API 통신을 할 때 사용하는 라이브러리이다. REST 기반의 웹서비스를 통해 JSON 구조를 쉽게 가져오고 업로드할 수 있다. HTTP API를 Interface로 구현할 수 있다. interface GitHubService.. devgeek.tistory.com Singleton Class in Kotlin 개요 앱에서 딱 한번만 생성되고 전역에서 사용할 객체가 필요하다면 우린 Singleton Pattern을 사용하면 된다. Singleton Pattern 은 해당 클래스에서 오직 하나의 객체만을 사용하도록 제한하는 것이다. devgeek.tistory.com 왜 Retrofit을 Singletone으로?..
