profile
안드로이드 개발자

RegisterForActivityResult

startActivityForResult()와 onActivityResult() 가 deprecated 되었습니다. 이를 대신하여 AndroidX Activity 1.2.0-alpha02 와 Fragment 1.3.0-alpha02에 도입된 Activity Resul

2021년 6월 15일
·
0개의 댓글

Ch2. 안드로이드와 모델-뷰-컨트롤러

비즈니스 로직을 처리하는 함수보다는 데이터를 저장하는 속성을 갖는 클래스. 데이터를 처리하는데 필요한 아래의 함수들을 코틀린 컴파일러가 자동으로 생성해줍니다.equals() : 클래스 인스턴스끼리 각 속성의 값을 비교hashCode() : 인스턴스를 컬렉션(ex, Ha

2021년 5월 29일
·
0개의 댓글

Room

안드로이드의 내부 DB 로 자주 사용되는 Room, Realm, SQLite 를 비교하고 Room 에 대해 좀 더 자세히 알아보겠습니다. Room VS SQLite Room 은 SQLite 를 더 편하게 사용하기 위해 나왔습니다. SQLite 와 비교하여 Room 의

2021년 5월 15일
·
0개의 댓글

Ch.4 SIS vs AAC ViewModel

액티비티를 회전하여 액티비티가 소멸되고 재생성되거나, 프로세스가 종료되어 액티비티가 유실될 때도 있습니다. 이런 경우 들의 경우 기존 액티비티의 데이터를 어떻게 유지하는지 다양한 방법들을 살펴 보겠습니다. AAC ViewModel SIS

2021년 5월 11일
·
0개의 댓글
post-thumbnail

안드로이드 4대 컴포넌트(구성 요소)

안드로이드 어플리케이션은 Activity, Service, Broadcast Receiver, Content Provider 로 구성되어 있습니다. 이 컴포넌트들은 독립된 형태로 존재하며 intent 를 통해 상호작용 합니다. 액티비티는 UI를 담당하는 컴포넌트입니다

2021년 4월 27일
·
0개의 댓글
post-thumbnail

면접 대비 안드로이드 기초

ANR, OverDraw 등의 문제와 그것을 디버깅하는 개발자 도구

2021년 4월 27일
·
0개의 댓글

옵저버 패턴, disposable

옵저버 패턴(Observer Pattern) 옵저버 패턴은 객체(subject)의 상태 변화를 관찰하는 관찰자들, 즉 옵저버(observer)들의 목록을 객체에 등록하여 상태 변화가 있을 때마다 메서드 등을 통해 객체가 각 옵저버에게 변화를 알리는(notify) 디자

2021년 4월 27일
·
0개의 댓글
post-thumbnail

Rxjava란..?

Rxjava란 ReactiveX(Reactive Extensions)를 자바로 구현한 라이브러리입니다. 옵저버 패턴, 이터레이터 패턴, 함수형 프로그래밍의 장점과 개념을 접목한 반응형 프로그래밍 기법을 의미합니다. Rxjava는 이벤트 처리 및 비동기 처리의 구성에 최

2021년 4월 22일
·
0개의 댓글

SingleLiveEvent

SingleLiveEvent ViewModel 에서 View 에 이벤트를 전달할 때, 값을 전달하는 경우가 아닌 이벤트가 발생했다는 사실만을 전달하고 싶을 때, 아래의 코드와 같이 Unit 값을 전달하여 이벤트를 감지하도록 했었습니다. 위의 코드는 비효율적일 뿐만 아

2021년 4월 4일
·
0개의 댓글
post-thumbnail

Hilt를 사용한 DI(Dependency Injection)

의존성 주입 은 의존 관계에 있는 클래스의 객체를 외부로 부터 생성하여 주입받는 것입니다. 의존성 주입을 적용한 코드와 적용하지 않은 코드를 비교해 보면 더 잘 이해할 수 있습니다.장점리팩토링이 수월하다. 클래스간의 결합도를 느슨하게 한다.stub이나 mock 객체를

2021년 3월 25일
·
0개의 댓글

Theme 을 이용한 Splash 화면

메인액티비티가 실행되기 전까지 로딩화면을 보여주는 splash 화면을 효율적으로 적용해 보았습니다. 메인액티비티에 Splash Theme 을 적용하고, 메인액티비티가 생성되면 Theme 을 전체 프로젝트의 AppTheme 으로 변경하였습니다. background_sp

2021년 3월 19일
·
0개의 댓글

Android KTX

Android KTX Android KTX 는

2021년 3월 13일
·
0개의 댓글

Application Context 가져오기

application context 를 전역에서 불러오기 위해 application context를 singleton 으로 생성해 줍니다. application Context 를 singleton 으로 생성합니다.아래와 같은 방식으로 context 를 불러 사용합니다.

2021년 3월 13일
·
0개의 댓글

네이버 아이디 로그인

네이버 developer 사이트에 들어가서 어플리케이션을 등록하고 api key를 생성합니다. 생성한 api key 는 보안을 위해 key.properties 파일을 생성하여 저장합니다. 앱 단위의 build.gradle 파일에 아래의 코드를 추가하여 key.prope

2021년 3월 13일
·
0개의 댓글

DataBinding, LiveData, MVVM 적용해보기

data binding 을 위해 앱 모듈의 build.gradle 파일을 수정합니다.xml 파일에 <layout> 태그를 추가하여 databinding 을 적용합니다.해당 액티비티에서 binding 클래스 객체를 생성해 주고, LiveData 를 위한 lifeCy

2021년 3월 11일
·
0개의 댓글
post-thumbnail

Design Pattern

불필요한 코드의 중복을 방지하고, 코드를 효율적으로 재활용하기 위해 많은 디자인 패턴들이 사용됩니다. 그 중 많이 사용되고 있는 디자인 패턴들에 대해 공부해 보고자 합니다.MVC 패턴은 사용자에게 보여지는 UI를 담당하는 View, input 을 받아 처리하는 Cont

2021년 3월 11일
·
0개의 댓글

LiveData

LiveData LiveData 는 lifecycle 을 통해 생명주기를 인식합니다. 즉 액티비티, 프래그먼트, 서비스와 컴포넌트들의 생명 주기를 따릅니다. LiveData의 장점들은 아래와 같습니다. UI와 data 의 상태 일치 보장 memory leak 없음 Da

2021년 3월 11일
·
0개의 댓글
post-thumbnail

AAC ViewModel

ViewModel 클래스는 생명주기를 인식하며, UI와 관련된 데이터를 저장하고 관리합니다. ViewModel 클래스는 화면이 회전되어 액티비티가 재생성되는 것과 같은 상황에서도 살아남아 데이터를 보존합니다. 위의 그림은 액티비티가 회전하고 종료하기까지의 lifecyc

2021년 3월 10일
·
0개의 댓글
post-thumbnail

Lifecycles

생명주기 인식 컴포넌트는 액티비티 또는 프래그먼트 같은 다른 컴포넌트의 생명주기 상태가 변경될 때 이에 대응하는 라이브러리입니다. 이러한 컴포넌트를 사용하면 더욱 체계적으로 구성하고, 가벼운 코드를 유지 보수할 수 있습니다.Lifecycle 클래스 는 액티비티 또는 프

2021년 3월 10일
·
0개의 댓글

Data Binding - 1

안드로이드에서 편의를 위해 제공하는 라이브러리의 모음인 jetpack 이 있습니다. jetpack 은 크게 기초(Foundation), 아키텍처(architecture), 동작(Behavior), 사용자 인터페이스(User Interface) 컴포넌트로 분류됩니다.저는

2021년 3월 9일
·
0개의 댓글