728x90

Android (안드로이드) 88

[Android] Intent 인텐트 (1) - 액티비티 전환 / 액티비티 이동 / 명시적 인텐트 / 액티비티 전환 생명주기

지난 포스팅에서 앱의 4대 컴포넌트에 대해 공부했었다. 그리고 각각의 컴포넌트는 인텐트를 통해 통신한다. (액티비티 시작, 서비스 시작, 브로드캐스트 전달 등) 이번 포스팅에서는 인텐트에 대해 알아보자. 인텐트 (Intent) 공식 문서에서는 인텐트를 다음과 같이 설명한다. '인텐트는 메시징 객체로서, 다른 앱 구성 요소로부터 작업을 요청하는 데 사용한다' 위에서 언급했듯, 인텐트는 컴포넌트의 통신을 담당해준다. 인텐트는 사용 방법에 따라 두가지 유형으로 나눌 수 있다. 명시적 인텐트 명시적 인텐트는 인텐트를 충족하는 구성 요소를 직접 지정한다. 이를 위해 해당 요소의 이름을 제공해야 한다. (패키지, 클래스 등) 일반적으로 앱 안에서 구성 요소를 시작할 때 사용한다. (액티비티, 서비스 등) 암시적 인..

[Android] 텍스트 단위 / textSize 단위 / dp, sp 차이점

매번 textSize 를 작성할 때마다, 다음과 같은 선택지를 마주한 적이 있을 것이다. 안드로이드에서 텍스트 사이즈를 지정할 때는 다양한 단위를 적용할 수 있다. 각 단위는 무엇을 뜻하며, 어떠한 경우에 사용해야 할까? 결론부터 말하자면, dp 와 sp 를 주로 사용해야 한다. 개발 공부를 처음 시작했다면 dp, sp 단위는 생소할 것이다. in(인치), mm(밀리미터), px(픽셀) 등의 단위가 더 익숙할 것이다. 하지만 위 단위들은 크기가 고정적(물리적)이라는 특징이 있다. 하지만 dp 와 sp는 크기가 유동적으로 변동될 수 있다. dp (density independent pixel) 160dpi 화면을 기준으로한 픽셀이다. *1인치 당 160개의 점으로 구성된 디스플레이 위 기기 기준으로는 1d..

[Android] 레이아웃 Layout - 제약 레이아웃 / 리니어 레이아웃 / 테이블 레이아웃 / 프레임 레이아웃 / Constraint Layout / Linear Layout / Table Layout / Frame Layout / 레이아웃 종류 / 레이아웃 생성

안드로이드 앱을 백엔드와 프론트엔드로 구분한다면 다음과 같이 볼 수 있다. · 백엔드 - 자바 & 코틀린 · 프론트엔드 - 레이아웃 앱 개발자라면, 백엔드 언어만 공부할 것이 아니라 프론트엔드를 담당하는 레이아웃 또한 다룰 줄 알아야 한다. 이번 포스팅에서는 레이아웃에 대해 공부해보자. 레이아웃이란? 공식 문서에서는 다음과 같이 설명한다. '앱에서 UI 를 위한 구조를 정의하는 요소' 사전적 의미는 다음과 같다. '글이나 그림 등을 효과적으로 설계 · 배치하는 일' 레이아웃은 View Group 이라고 볼 수 있다. 우리는 뷰(View) 요소를 효과적으로 설계 · 배치하면 된다. 레이아웃 생성 1. 액티비티 추가 새로운 액티비티를 추가하면 기본적으로 2개의 파일이 생성된다. 자바 개발 기준으로 설명하면,..

[Android] 뷰 / 위젯 / View / View 크기 조정 / match_parent / wrap_content

사용자 입장에서만 본다면, 앱은 View 로만 이루어져 있다고 해도 과언이 아니다. 앱에서 눈으로 볼 수 있는 모든 요소는 View 이다. 텍스트로 이루어진 요소는 TextView 그림으로 이루어진 요소는 ImageView 등 앱에서 모든 요소는 뷰로 이루어져 있다. 요소 이름에 View가 없다 하더라도 View 이다. Button, EditText, CheckBox 등 모두 View 이다. 그리고 View 는 일반적으로 위젯으로 불린다. 여러개의 View 로 이루어진 View Group 또한 존재한다. View Group 은 일반적으로 레이아웃으로 통한다. 레이아웃에 대한 자세한 내용은 다음 포스팅에서 다뤄보겠다. View 의 기본 구조 일반적으로 View 는 다음과 같은 구조를 가져야 한다. 대부분의..

[Android] 로그 Log / Logcat 사용하기

이클립스로 자바 공부를 할 때는, 출력문을 사용하여 데이터를 바로바로 확인할 수 있었다. 하지만, 안드로이드 스튜디오에서는 스캐너가 아닌 Log를 사용하여 데이터를 확인할 것이다. 이번 포스팅에서는 로그(Log) 에 대해 알아보겠다. Log 란 무엇일까? 사전적 의미로는 다음과 같이 정의한다. '소프트웨어에서 있었던 일을 기록한 파일' 시스템 자체적으로 기록을 남기는 로그가 있는 반면, 우리가 직접 확인하고 싶은 데이터를 로그로 남길 수도 있다. android.util.Log 클래스로 로그를 사용하며, Logcat 으로 기록을 확인한다. 우리는 로그를 사용함으로써 디바이스에서는 보이지 않는 데이터를 확인할 수 있다. Log의 종류 일반적으로 5개의 종류를 메서드로 사용하며, 우선 순위가 가장 높은 것 &..

[Android] 액티비티 수명주기 / Activity LifeCycle

지난 포스팅에서 알아보았던 4대 컴포넌트 中, 액티비티 부분에서 수명 주기를 언급했었다. 모든 액티비티는 수명 주기를 가진다. 말 그대로 액티비티가 태어나서 죽을 때까지의 과정이다. Activity Life Cycle 이라는 이름은 정말 잘 지은 것 같다. 이번 포스팅에서는 액티비티 수명 주기에 대해 알아보자. 액티비티의 생명주기를 그림으로 표현하면 다음과 같다. 위와 같이, 액티비티의 상태는 다양하다. 그리고 우리는 액티비티의 상태를 메서드로서 만나볼 수 있다. 곧, 액티비티의 상태 변화를 확인할 수 있는 콜백이다. 새로운 프로젝트를 생성하면, 액티비티 생성과 동시에 자동으로 onCreate() 메서드가 생성된다. 자동으로 추가되었다는 말은, 필수적으로 존재해야 된다는 말과 같다. 이외에도 필수적으로 ..

[Android] 앱의 구성요소 Components / 4대 컴포넌트 - 액티비티(Activity), 서비스(Service), 컨텐트 프로바이더(Contents Provider), 브로드캐스트 리시버(Broadcast Receiver)

지난 포스팅에서 매니페스트에 대해 알아보았다. 이번 포스팅에서는 매니페스트가 담고 있는 정보 中, 앱의 구성요소 (Components) 에 대해 더욱 자세히 알아보자. 앱은 4가지 요소로 구성되어 있다고 볼 수 있다. 흔히 앱의 4대 구성요소, 또는 4대 컴포넌트 라고 불린다. · 액티비티 (Activity) · 서비스 (Service) · 컨텐트 프로바이더 (Contents Provider) · 브로드캐스트 리시버 (Broadcast Receiver) 액티비티 (Activity) 사용자와 상호작용하기 위한 요소이며, UI 화면을 담당한다. *UI : user interface 의 줄임말이며, 사용자 환경을 뜻한다. 모든 앱은 하나 이상의 액티비티를 포함하여 구성된다. (당연히 앱에는 사용자가 볼 수 있..

[Android] 매니페스트 Manifest / 매니페스트 파일

안드로이드 스튜디오로 안드로이드 공부를 시작한다. 안드로이드 공부에 앞서, 모든 앱의 필수 요소인 매니페스트를 짚고 넘어가려 한다. 이번 포스팅에서는 매니페스트가 무엇인지 알아보자. Manifest 사전적 의미로는 '명백한', '나타내다', '선박, 항공기에 적재된 화물의 총괄 목록' 등 과 같다. 안드로이드에서 매니페스트란 ? 공식 문서에서는 다음과 같이 설명한다. 매니페스트 파일은 Android 빌드 도구, Android 운영체제 및 Google Play에 앱에 관한 필수 정보를 설명합니다. 공식 문서에서는 '매니페스트 파일' 이라 표현하였다. 안드로이드에서 매니페스트란, 모든 앱에 반드시 존재하는 앱의 각종 정보를 담고 있는 파일이다. 그리고 그 파일은, 앱의 신분증과 같은 역할을 한다고 생각하면 ..

728x90