Android Studio 3.3 주요 변경 사항

https://developer.android.com/studio/releases/ 을 번역한 내용입니다. Navigation Editor Navigation Achitecture Component 가 정식 릴리즈 됨에 따라 Navigation Editor를 사용하여 빠르게 액티비티와 프레그먼트의 이동을 가시화 시킬 수 있습니다. 사용하지 않는 안드로이드 스튜디오 디렉토리 삭제 Android Studio의 메이저 버전을 처음 실행할 때  캐시, 설정, 색인 및 로그가 포함 된 디렉토리를 찾습니다. 그런 다음 사용되지 않는 더보기…

글쓴이 Charlezz,

딥링크(Deeplink)와 앱링크(Applink)의 차이점

Applink? Deeplink? 딥링크는 인텐트필터의 일종으로 사용자들이 직접적으로 안드로이드 앱내의 액티비티에 접근하는것을 허용합니다. 다른 앱에서 또는 웹브라우저에서의 링크를 클릭했을때 해당 링크의 scheme을 보고 앱을 실행하게 되며, 해당 링크를 처리하는 2개이상의 앱이 있다면 사용자에게 다이얼로그를 띄어 앱을 실행할 수 있도록 유도 합니다.  앱링크는 인증된 웹사이트 URL을 기반으로 하는 딥링크입니다. 링크 클릭시 앱이 설치되어있다면 더보기…

글쓴이 Charlezz,

Dagger2와 AAC ViewModel을 같이 썼을 때 생길 수 있는 문제점

이 포스팅에서 Dagger2와 ViewModel에 대한 설명은 다루지 않습니다. Dagger2와 AAC의 ViewModel같이 썼을때의 문제점 Dagger2와 ViewModel을 같이 쓰다가 생긴 문제가 하나 있습니다. AAC뷰모델을 쓴다면, 액티비티의 configurationChange가 발생했을때 ViewModel의 인스턴스를 새로 만들지 않고 유지하는게 장점중 하나인데, Dagger2를 통해 ViewModel인스턴스를 인젝션했을 때 매번 새로운 인스턴스를 만들어낸다는 것입니다. 원인은 appcompat Support Library에 있었습니다. Activity의 더보기…

새로운 안드로이드 백그라운드 실행 정책

https://android-developers.googleblog.com/2018/10/modern-background-execution-in-android.html 안드로이드 공식 블로그 내용을 번역한 글 입니다. 의역 및 오역 다수 있을 수 있습니다. 안드로이드 백그라운드 실행 정책 애플리케이션은 언제 백그라운드 상태로 있을까? 백그라운드 실행을 이해하기 전에 애플리케이션이 포어그라운드인지 백그라운드인지 명확하게 파악해야합니다. 다음 중 하나라도 해당되면 애플리케이션이 포어그라운드에있는 것으로 간주됩니다. 어떤 애플리케이션이 액티비티가 시작(started),중지(pause)와 상관없이 가시적일 때 어떤 애플리케이션이 포어그라운드 더보기…

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

안드로이드 애플리케이션은 크게 4가지 요소로 구성됩니다. 액티비티(Activity) 액티비티는 UI가 있는 단일 화면을 나타냅니다. 예를 들어 이메일 앱이라면 새 이메일 목록을 표시하는 액티비티가 하나 있고, 이메일을 작성하는 액티비티가 또 하나, 그리고 이메일을 읽는 데 쓰는 액티비티가 또 하나 있을 수 있습니다. 여러 액티비티가 함께 작동하여 해당 이메일 앱에서 짜임새 있는 사용자 더보기…

글쓴이 Charlezz,

안드로이드의 구조

Android Architecture 안드로이드 구조는 위의 이미지와 같이 다섯계층의 구조로 이루어져 있습니다. 리눅스 커널 계층 네이티브 라이브러리 계층 안드로이드 런타임 계층 애플리케이션 프레임워크 계층 애플리케이션 계층 녹색으로 이루어진  계층은 C/C++로 작성되어있으며, 파란색 계층은 자바로 작성되어 가상머신상에서 동작하게 됩니다. 커널 계층(Kernel Layer) 안드로이드 계층 최하단에 위치 하며, 시스템전체의 중심역할을 합니다. 사용자나 개발자가 더보기…

글쓴이 Charlezz,

안드로이드 개발자가 되는 법

안드로이드 개발자가 되는 법 많은 분들이 앱개발을 취업을 하기위해 혹은 취미로 배우는데 무엇부터 시작해야하는지 묻습니다. 정답은 없지만 제 나름대로의 기준을 가지고 선행학습해야 할 내용들을 정리해봤습니다. 시간나는대로 차곡차곡 내용을 덧 붙여나갈 생각입니다. 개발자가 갖춰야할 기본 적인 지식 자료구조(Data Structure) 데이터 통신(Data Communication) 알고리즘(Algorithm) 소프트웨어 공학(Software Engineering) 안드로이드 앱 개발자가 되기 위한 더보기…

Android Studio 3.2 출시와 새로운 기능

Android Stuido 3.2 Released! Android Studio3.2가 드디어 정식 출시 되어 다운로드가 가능해졌습니다. 안드로이드 스튜디오 3.2는 Android 9 Pie와 App Bundle을 이용할 수 있습니다. 모든 개발자는 안드로이드 스튜디오 3.2 버전을 사용하여 애플리케이션 배포 방식을 App Bundle 방식으로 바꾸는 것을 추천합니다. App Bundle은 Google Play에 앱을 업로드할 때 작은 용량과 최적화된 환경으로 더보기…

안드로이드로 배우는 자바의 인터페이스 (콜백, 리스너, 옵저버)

Before diving into interface 초보 자바 개발자 분들의 단골로 하는 질문이 있습니다. “리스너(콜백)가 뭐에요?” 또는 “인터페이스가 뭔지 모르겠어요!!” 자바의 인터페이스에 대한 개념없이 리스너를 이해하려 하는것은 헤어나올 수 없는 늪에 빠진것과 같습니다. 초보자 분들을 위해 인터페이스의 개념도 알아보고 실제 용례도 알아보고자 이 포스팅을 작성합니다. What is Interface? 포스팅을 작성하기 위해 인터페이스에 더보기…

.gitignore 간단하게 만들기

.gitignore 간단하게 만들기 개발자분들은 Version Control System(버전 관리 시스템)으로 git을 많이 선택해서 쓰실겁니다. 개인적으로 버전관리를 하기 위해 쓸수도 있고, 협업을 하기 위해 쓰기도 합니다. 협업을 하실 때 소스파일을 제외한 프로젝트 설정파일이나 빌드되어 나온 산출물을 업로드 하게 되면 협업하고 있는 다른 개발자와 충돌이 나기 마련인데요. 이 때 이러한 충돌을 막기 위해 더보기…