Today's special moments become memories of tomorrow.

Android 6

[안드로이드] dp(dip)란 무엇인가?

안드로이드 개발을 하다보면 어플리케이션에 이미지를 넣을 때 dp개념이 등장한다. 주로 안드로이드 디자인 측면에서 많이 사용되지만, 개발자가 알아두어도 도움이 될 것 같아서 글을 작성하게 되었다. dp가 무엇인지, 안드로이드에서는 왜 dp 개념을 사용하는지 알아보자. 우선, dp에 대해 설명하기 전에 pixel이 무엇인지 먼저 알아야 한다. 픽셀(pixel, px) 화소라고도 하며, 디지털 이미지를 나타내는 데 사용되는 최소 단위이다. 픽셀은 해상도와도 관련이 있는데, 동일한 이미지라 하더라도 픽셀의 수가 많은 것이 해상도가 더 높다. 아래에서 오른쪽 그림이 왼쪽 그림보다 1인치당 픽셀 수가 더 많으므로 해상도가 높다고 볼 수 있다. ppi는 pixel per inch -> 1인치당 픽셀 수를 의미한다. ..

Android 2021.04.12

[Android] Context 란?

안드로이드 개발을 하다보면 context를 접하게 된다. getApplicationContext(), getContext() 혹은 this 키워드를 통해서 메서드의 인자 혹은 클래스 생성자로 context를 넣어줘야 하는 경우를 자주 경험했을 것이다. 그렇다면 Context란 정확히 무엇일까? Context 등장 배경 일반적인 OS와는 달리, 안드로이드는 어플리케이션과 프로세스가 독립적이다. 독립적이기 때문에 프로세스가 종료되어도 어플리케이션은 실행 상태일 수 있다. 예를 들어, 서비스(Service)나 브로드캐스트 수신자(Broadcast Receiver)의 경우, 어플리케이션의 실행 여부에 관계 없이 백그라운드에서 작업을 할 수 있는 것은 이 때문이다. 이러한 안드로이드의 특징 때문에 프로세스와 어플..

Android 2021.04.08

[Android] 안드로이드 4대 컴포넌트

안드로이드 애플리케이션을 구성하는 기본 요소 4가지를 안드로이드 4대 컴포넌트라고 한다. 이 4가지는 액티비티(Activity), 서비스(Service), 브로드캐스트 수신자(Broadcast Receiver), 콘텐츠 제공자(Content Provider) 이다. 안드로이드 4대 컴포넌트는 AndroidManifest.xml 파일에 그 정보가 보관된다. 액티비티(Activity) 애플리케이션에서 사용자에게 보여지는 화면을 담당하는 컴포넌트이다. 화면뿐만 아니라 화면에서 일어나는 사용자와의 상호작용도 액티비티가 관여한다. 여러 개의 액티비티가 모여서 하나의 애플리케이션을 구성한다. 매니페스트 파일에서 태그 형식으로 하나의 액티비티를 표현한다. 서비스(Service) 액티비티가 사용자와의 상호작용에 관여한..

Android 2021.04.06

현재 날짜, 시간 나타내기(SimpleDateFormat)

화면에 현재 날짜, 시간 정보를 나타내고자 할 때 SimpleDateFormat을 사용한다. System.currentTimeMillis()로 현재 날짜 혹은 시간에 대한 정보를 불러온다. var now = System.currentTimeMillis(); 현재에 대한 정보를 Date를 사용하여 변환한다. Date date = Date(now) SimpleDateFormat을 사용하여 현재 정보(날짜, 시간)를 어떻게 표시할지 문자열로 설정한다. 어떤 정보를 표시할지는 아래를 참고하길 바란다. 연도 : yyyy 월 : MM 일 : dd 시간 : HH(24시간), hh(12시간) 분 : mm 초 : s var sdf = SimpleDateFormat("yyyy/MM/dd") // 2021/03/08 var..

[Android] 안드로이드 생명 주기

안드로이드는 상태 변화가 있을 때마다 생명 주기 메서드를 호출한다. 사용자가 호출하는 것이 아니라 상태 변화에 따라 안드로이드가 자동으로 호출해주기 때문에 콜백 메소드이다. onCreate() 앱이 실행되어 액티티비가 생성되면 제일 먼저 onCreate()가 호출된다. 화면에 보이게 될 뷰를 설정하거나 초기화한다. onStart() onCreate()가 호출된 이후에 화면이 사용자에게 보여질 때 호출된다. 액티비티가 실행되면 onCreate() 다음에 onStart()가 호출된다.onCreate() -> onStart() onResume() 이 함수가 호출된 시점부터는 액티비티가 '실행 중'인 상태이다. 액티비티를 생성하면 다음과 같은 순서대로 메서드가 호출된다. onCreate() -> onStart(..

Android 2021.03.08

Null Safety : Null 안전하게 처리하기

코틀린은 자바보다 null에 대한 좀 더 세밀한 안정적인 처리가 가능한데, 이것을 Null Safety라고 한다. 코틀린의 Null Safety를 통해 NullPointerException이 생기는 것을 방지할 수 있다. Nullable : 물음표(?) nullable은 단어 그대로 변수에 null을 허용하겠다는 의미이다. [변수 선언] 코틀린에서는 기본적으로 변수를 선언할 때 다른 언어와 달리 초기값을 null로 하는 것이 불가능하다. 그러므로 변수에 null을 저장하고 싶다면 즉, null을 허용하고 싶다면 var variable : String? 이렇게 변수의 타입 뒤에 물음표를 추가해야 한다. [매개변수 선언] 메서드의 매개변수를 Nullable로 만들 경우에는 다음과 같다. fun nullabl..

Android/Kotlin 2021.03.08