본문 바로가기

분류 전체보기39

Android - 인텐트(Intent) 완전 정복 인텐트란 무엇인가?지난 글에서 컴포넌트(Component)는 독립적이고 그렇기 때문에 이 컴포넌트는 시스템에 의해 실행된다고 말했다. 컴포넌트에서 다른 컴포넌트를 직접적으로 제어하지 않는다는 말이다.이때 시스템에게 ‘OO컴포넌트 좀 제어해주세요~’라고 메세지를 보내야 하는데 이 메세지가 바로 인텐트(Intent)이다. 인텐트에 데이터를 담아서 다른 컴포넌트로 보낼 수도 있다.인텐트 사용해보기인텐트를 사용하기 전에 두 액티비티를 만들어주자. 두 액티비티 간의 화면 전환에서 인텐트를 사용할 것이기 때문이다. 화면은 어떻게 만들든 상관없지만 나는 MainActivity에 화면 전환용 버튼을 그렸다.코드는 버튼을 클릭하면 (1) 인텐트 생성 후 (2) startActi.. 2024. 6. 14.
Android - Android의 4대 컴포넌트 완전 정복 컴포넌트(Component)는 Android앱 개발의 핵심이다.앱 개발의 전반적인 구조를 알려면 컴포넌트를 알아야 한다. 오늘은 이런 컴포넌트가 뭐하는 친구들인지 알아보자.컴포넌트의 정의컴포넌트. 단어 그 자체로 요소이다. Android앱은 이런 컴포넌트(요소)들로 구성이 된다.이런 너무나 추상적 컴포넌트라는 녀석을 Java와 Kotlin 코드에서는 클래스로 구현을 할 수 있다. 즉, 하나의 클래스가 하나의 컴포넌트가 될 수 있다는 뜻이다. 모든 클래스가 컴포넌트인 것은 아니다.이걸 이해하기 위해 생명주기라는 것을 알아야 한다.쉽게 말해 생명주기는 사용자가 앱을 켜고 끄고 다시 돌아오고 이런 상태를 말한다.컴포넌트 클래스는 Android의 생명주기를 따라간다.하지만 일반 클래스는 개발자가 그 생명주기를 .. 2024. 6. 13.
Android - Android의 OS 구조에 대해 알아보자 위에서부터 차례대로 앱, 앱 개발을 위한 프레임워크, 네이티브 라이브러리와 Android 런타임, 하드웨어 추상화 계층, 리눅스 커널로 구성돼있다.계층이 많다고 두려워하지 말자. 처음 보면 이름조차 외우기 어렵다. 이름보다는 각 계층의 존재 이유와 역할을 먼저 외워보자. 이번 포스팅에서는 각각의 계층이 하는 역할이 무엇인지 알아볼 것이다.가장 아래 단계인 리눅스 커널부터 시작해보자.리눅스 커널(Linux Kernel)Android OS는 리눅스 기반으로 설계되어 있다. 그렇기 때문에 커널도 리눅스로 만들어져 있다. (커널은 쉽게 말해 OS를 직접적으로 제어 하는 것)이런 리눅스 커널은 이름값답게 상당히 하드웨어적인 일들을 한다.메모리 관리보안 관리전원 관리타 하드웨어 장치 관리(카메라, 블루투스 등)네트.. 2024. 6. 12.
Android - 업로드 키 vs 앱 서명 키 안드로이드 앱을 플레이 스토어에 업로드 하기 위해서는 앱을 키로 서명해야 한다. 그 과정에서 앱 서명 키와 업로드 키를 사용하는데 이 이름도 헷갈리는 키들이 뭐하는 것들인지 알아보자업로드 키개발자가 관리하는 키엡 서명 키플레이 스토어가 관리하는 키먼저 ‘업로드 키’로 앱을 서명 후 구글이 ‘앱 서명 키’로 앱을 다시 서명하고 사용자에게 앱이 제공된다.그럼 왜 이런 복잡한 과정을 거쳐서 배포될까? 기존에는 이런 과정이 아니었다. 처음에는 전부 개발자가 만든 키로 앱을 서명했는데 이때 문제점이 발생한다. 만약 키를 잃어버리게 된다면 새로운 앱으로 등록해야 한다. 이럴수가..이런 문제점을 극복하기 위해 ‘Play 앱 서명’이라는 서비스가 만들어지고 ‘업로드 키’의 개념 또한 만들어진다.이렇게 되면 개발자가 키.. 2024. 6. 11.