profile
"Effort never betrays"
post-thumbnail

[Android] OAuth란? Firebase 로그인 구현 시 어떻게 적용되는지 확인해보자!

  안드로이드 많은 애플리케이션에서 로그인 화면이 존재하고 해당 애플리케이션 내에서 자체적으로 회원가입을 하여 로그인을 할 수 있습니다. 그 외에도 구글, 페이스북, 네이버, 카카오 등 타 서비스의 계정으로도 로그인을 할 수 있도록 하는데 이 때 쓰이는 기술이 OAut

2022년 6월 6일
·
0개의 댓글
·
post-thumbnail

[Android] Koin이란? 간단한 Koin을 만들어보자 (번역)

  이 글은 번역된 글로 원문 출처는 아래와 같습니다. 위 글로 인해 Koin에 대한 깊은 이해와 DSL로 간단한 Koin을 만드는 법을 배울 수 있었습니다. 다시 한번 감사드립니다. 👏https://proandroiddev.com/lets-build-

2022년 5월 28일
·
0개의 댓글
·
post-thumbnail

[Android] MVC, MVP, MVVM 장단점을 알고 쓰자!

  안드로이드 개발 초기에는 아키텍처 설계에 대한 관심이 크지는 않았지만, 애플리케이션의 규모가 커지면서 유지보수성을 높일 수 있는 방향으로 나아가게 되었습니다. MVC , MVP, MVVM, MVI 등 다양하게 디자인 패턴들이 존재하고 각 애플리케이션마다 특

2022년 5월 23일
·
2개의 댓글
·
post-thumbnail

[Android] Native Application(C/C++), NDK build 및 CMake 구성

  Android NDK는 C 또는 C++를 Android 앱에 삽입할 수 있게 해주는 도구 집합입니다. 아래와 같은 이유로 Android 프로젝트에 C/C++ 코드 또는 라이브러리를 추가가 필요할 경우가 있을 수 있습니다.플랫폼 간 앱 호환성기존 라이브러리 재사용,

2022년 5월 9일
·
0개의 댓글
·
post-thumbnail

[Android] RecyclerView, ViewHolder 패턴, DiffUtil 클래스란?

  예전 안드로이드 개발 시에 리스트 형태로 데이터를 표현해주는데 사용되는 클래스는 ListView 였습니다. 하지만 데이터의 크기가 커질수록 뷰를 생성함으로써 메모리 부족 현상이 발생하게 되고 getView 메소드에서는 계속된 findViewById를 사용하였기에 비

2022년 5월 8일
·
0개의 댓글
·
post-thumbnail

[Android] ViewBinding이란?

  Activity, Fragment의 UI를 변경하기 위해서는 XML 파일을 인플레이션 후 findViewById를 통해 각 뷰를 참조합니다. 간단한 UI일 경우에는 크게 상관없지만 복잡한 UI일수록 보일러 플레이트 코드를 양산하게 됩니다. 이를 방지하고 쉽게 Vie

2022년 5월 6일
·
0개의 댓글
·
post-thumbnail

[Android] Storage Access Framework(SAF) 이란?

  Android 4.4(API 19)이후부터 문서, 이미지(사진) 및 각종 다른 파일을 탐색하고 여는 작업을 간편하게 해주는 Storage Access Framework(SAF)가 도입이 되었습니다. Selector를 통해 사용자가 일관된 방식으로 파일을 탐색하고 최

2022년 5월 6일
·
0개의 댓글
·
post-thumbnail

[Android] ContentProvider 구현 및 사용법

  ContentProivider는 Activity, BroadcastReceiver, Service와 동일하게 안드로이드 애플리케이션을 구성하는 4대 구성요소 중 하나로 다른 애플리케이션의 데이터에 접근이 필요할 때 사용하게 되는 컴포넌트입니다. 일반적으로 각 앱은

2022년 5월 6일
·
0개의 댓글
·
post-thumbnail

[Android] Room 이해 및 활용

  SNS를 사용하는 중에 네트워크 연결이 끊어졌을 때 새로운 사진들이 로딩 중이고 이전에 봤던 사진들은 계속 보이는 것을 경험해 본적이 다들 있을 것입니다. 이를 데이터 캐싱이라고 하며, 네트워크 액세스 할 수 없을 경우에도 로컬 데이터베이스의 데이터를 가지고 사

2022년 5월 6일
·
0개의 댓글
·
post-thumbnail

[Android] SQLite, SQLiteOpenHelper 이해

Android 개발을 하면서 앱을 사용하고 종료하더라도 데이터를 계속 저장되어야할 필요성이 있습니다. 간단하게 저장하는 것이라면 SharedPreference를 사용하는 방법도 있겠지만, key와 value의 값으로만 모든 데이터를 표현하기 힘들고 많은 데이터를 체계적

2022년 5월 1일
·
0개의 댓글
·
post-thumbnail

[Android] Context, ContextWrapper, ContextImpl 이해

  안드로이드 개발을 해본 사람이라면 Context에 대해서는 얼핏 알고 있을 것입니다. 단순히 해석하여 문맥, 단락의 의미로서 컴포넌트들에 대한 기본 정보들을 담고 있는 클래스라고 생각했습니다. 개발하는 중에도 Context가 많이 필요하게 되는데 this(Activ

2022년 5월 1일
·
0개의 댓글
·
post-thumbnail

[Android] Preferece, Shared Preference란?

  안드로이드 애플리케이션에는 대부분 설정을 할 수 있는 화면이 별도로 존재합니다. 로그인 상태를 유지한다던가, SMS 수신 등의 여부와 같은 설정을 하게 되면 애플리케이션을 다시 실행하더라도 유지됩니다. 이처럼 안드로이드에서는 애플리케이션 시스템 전체에서 유지되도록

2022년 5월 1일
·
0개의 댓글
·
post-thumbnail

[Android] Thread, Handler, Looper, Message Queue 다루기

  요즘 대부분의 프로그램들은 비동기적으로 실행됩니다. 안드로이드에서도 마찬가지로 다양한 방법을 이용하여 비동기 프로그래밍을 구현할 수 있습니다. 별도의 Thread를 생성하여 동시적으로 작업을 실행하게 하는 방법부터 AsyncTask, RxJava, RxKotlin,

2022년 5월 1일
·
0개의 댓글
·
post-thumbnail

[Android] Activity란? Activity LifeCycle 이해

  안드로이드 개발을 한 번이라도 해봤다면 Activity는 무조건 사용하는 컴포넌트입니다. 저도 Activity를 자주 사용하지만 구체적으로 Activity의 역할이 무엇이고, LifeCycle을 생각해서 개발을 한 적이 없을 정도로 올바르게 사용하고 있지 않았습니다

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

[Network] 웹 브라우저 통신 과정( 1 )

"성공과 실패를 결정하는 1%의 네트워크 원리" 을 통해 공부한 내용을 정리한 글입니다. URL(Uniform Resource Locator) > 웹상에 존재하는 리소스들의 위치를 나타내는 용어로 흔히 보는 http://로 시작되는 URL도 있고 그외에 ftp://

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

[Android] findViewById 원리

findViewById란? 안드로이드 개발에서 findViewById 메소드는 레이아웃에 있는 뷰를 리소스 id를 통해서 원하는 뷰 객체를 가져올 수 있는 메소드입니다. 그 전에 setContentView와 같은 메소드로 xml에 있는 리소스들을 지정한 속성에 맞게

2022년 4월 3일
·
0개의 댓글
·