일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코틀린
- 앱 개발
- 앱개발
- 안드로이드 디자인 패턴
- 개발
- Operating System
- React
- Android
- Database
- Kotlin
- github
- 스레드
- 디자인 패턴
- 액티비티
- MVVM
- CS지식
- 운영체제
- 앱
- 리액트네이티브
- 안드로이드 개발
- OS
- 메모리
- 데이터베이스
- 디자인패턴
- cs
- reactnative
- 안드로이드
- 프로세스
- db
- 리액트
- Today
- Total
목록안드로이드 (17)
Tech Log
1. Context란? Context라는 단어 자체를 번역하면 문맥이다. 문맥은 논리적인 흐름을 말한다. Context는 애플리케이션의 논리적인 흐름이다. 애플리케이션의 현재 상태를 나타내며, 애플리케이션 환경에 대한 전반적인 정보를 담고 있는 클래스다. 리소스에 접근할 수 있도록 도와준다. 브로드캐스트 리시버, Intent와 같이 메시지를 주고받으며 다른 안드로이드 컴포넌트와 상호작용할 때 필요하다. Context를 잘못사용하면 메모리 누수를 유발하므로 Context를 제대로 이해하고 사용해야 한다. 2. Context의 종류 Context는 주로 두 가지로 나뉜다. Activity Context, Application Context로 나뉜다. Activity Context Activity Contex..
프로젝트에서 안드로이드 SharedPreferences를 사용할 일이 많아서 종종 사용했었는데, 부끄럽지만 SharedPreferences를 싱글톤으로 사용한다는 것을 최근에 깨달았다 ... 지금이라도 싱글톤으로 사용하는 이유를 정리해보려고 한다. 1. SharedPreferences를 싱글톤으로 사용하는 이유 메모리 낭비를 줄이기 위함 : 매번 SharedPreferences 객체를 만들어서 메모리를 낭비하는 것보다 효율적으로 사용할 수 있다. 중복되는 데이터 저장 방지 : 여러 곳에서 SharedPreferences의 데이터에 접근하여 데이터를 저장한다면, 동일한 데이터가 중복으로 저장될 수 있다. 이를 방지하기 위해 싱글톤으로 사용한다. 코드 중복 방지 : SharedPreferences 객체를 생..
안드로이드 개발자 채용 공고를 보면 'AAC 적용 경험'을 요구하는 곳을 볼 수 있다. 따라서 어떤 것인지 궁금했고 최근에 프로젝트에 AAC의 ViewModel을 적용해보았다. 실제로 적용해보며, 데이터를 편하게 관리할 수 있었다. 또한 context가 필요할 때 AAC ViewModel을 사용하였다. ViewModel을 써보면서 또 어떤 다른 장점이 있길래, 구글이 AAC를 따로 만들어냈는지 그 이유가 궁금했다. 이에 대해 알아보고 ViewModel 이외에 다른 AAC(Component)는 어떤 것이 있는지 정리해보려 한다. 1. AAC는 무엇인가? 2. AAC에는 어떤 Component가 있는가? 3. AAC의 활용 Android Architecture Components(AAC)는 무엇인가? 개요 ..
MVC, MVVM 패턴에 이어서, 많이 사용되는 MVP 패턴에 대해서도 공부해보고자 한다. MVP 패턴도 공부해서 이때까지 공부해본 여러 아키텍처 패턴의 특징에 맞게 프로젝트에 적용해보고 싶다. 해당 포스팅은 안드로이드 아키텍처 기준으로 작성되었습니다. 1. MVP 패턴이란? MVP 패턴은 Model, View, Presenter 이 세 가지 역할로 어플리케이션(프로그램)을 분리해놓은 것이다. MVC 패턴과는 한 가지만 다르다. MVC의 Controller 대신에 Presenter가 있다. 2. MVP 패턴의 구조 MVP 패턴은 Model, View, Presenter로 구성되어 있다. Model 프로그램에서 다루는 데이터를 가지고 있고 그 데이터를 처리하는 부분 데이터 처리하는 역할 안드로이드에서는 A..
이때까지 프로젝트를 하면서 코드가 복잡해지는 것에 대한 불편함을 느꼈다. 디자인 패턴을 적용하지 않고, UI 설정 코드와 데이터 받아오는 코드 등을 합쳐놓으니 굉장한 스파게티 코드가 된 것 같았다... 따라서 앞으로 하는 프로젝트는 모듈화와 디자인 패턴 적용에 집중해야 겠다고 생각했다. 여러 아키텍처 패턴 중 심플하다고 생각되는 MVC 패턴부터 알아보고자 한다. 해당 포스팅은 안드로이드 아키텍처 기준으로 작성되었습니다. 1. MVC 패턴이란? MVC 패턴은 애플리케이션(응용 프로그램)을 서로 다른 역할로 분리해놓은 패턴 중 하나이다. 관심사 분리(Separation of Concerns, SoC)로도 알려져 있다고 한다. 여기서 관심사 분리(separation of concerns, SoC)란? In c..
RecyclerView는 안드로이드 위젯 중에서 많이 쓰이는 것 중 하나다. RecyclerView는 메모리 최적화와도 관련된 내용이 나오기 때문에, 이론적인 내용에 대한 정리가 필요할 것 같아 글을 작성해본다. 1. RecyclerView란? Android Developers에서는 RecyclerView를 동적 목록을 나타내는 수단으로 표현하고 있다. 이름에서 알 수 있듯이, RecyclerView내의 View를 재활용하는 동적 목록이다. Android Jetpack에 포함되어 있는 위젯이다(원래는 Support Library에서 지원됐으나, Support Library가 deprecated됨) 다시 말해, 데이터 목록을 재활용하여 목록에 나타낸 View라고 생각하면 된다. 아래와 같은 아이템 목록들을..
Fragment에 대해서 공부하면서, Fragment에도 생명주기가 있다는 것을 알게 되었다. Fragment는 Activity에 종속이 될 텐데 Fragment의 생명 주기는 종속되는 중에 어떻게 돌아갈까 궁금했다. 이번 포스팅에서는 Fragment 생명 주기에 대해서 자세히 알아보고자 한다. 그리고 Activity 생명 주기와는 어떤 다른 점이 있는지 공부해보고자 한다. 1. 배경 Fragment도 Activity와 마찬가지로 UI를 빌드하는 것이므로 Activity가 생명주기를 갖는 것과 같은 이유로 생명주기를 갖고 있다. 생명주기 콜백 함수가 있는 이유는 사용자가 Fragment 화면을 나가거나 돌아올 때 대응하기 위해서였다. 그 외에도 다른 이유들이 있는데 아래 링크에서 생명주기를 사용하는 이유..
클론 코딩을 하면서, ViewPager2를 사용하게 되었다. 사용한 지 좀 오래 되어, 복기용으로 글을 작성하게 되었다. 0. 개념 ViewPager2는 화면 슬라이드에 이용되는 레이아웃 클래스이다. ViewPager2가 ViewGroup으로부터 상속된 것을 보면, Container 역할을 한다는 사실을 유추해낼 수 있다. 단어의 뜻 그대로, View + Pager = 페이지를 쓸어 넘기듯이 View를 넘기는 것이다. 이 뷰에서는 스와이프(Swipe) 제스처를 통해서, 한 화면에서 다음 화면으로 전환할 수 있다. ViewPager2는 데이터를 페이지 단위로 화면에 표시한다. 여러 종류의 뷰 위젯을 사용하여 ViewPager2를 구성한다. 1. ViewPager와 ViewPager2 ViewPager2라고..