Android/Concept
-
Android about Context (안드로이드 Context에 대하여)Android/Concept 2019. 8. 7. 18:13
이번에는 안드로이드 프로그래밍 중에 많이 접하게 되는 Context에 관하여 알아봅시다. 일단 사전적 의미는 '문맥, 맥락'입니다. 음... 뭔가 감이 안옵니다. 위에 구글이 정의 해 놓은 설명의 첫 줄을 보면, 어플리케이션 환경에 대한 글로벌한 정보에 대한 인터페이스 랍니다. 즉, 대강 해석하면 앱에 대한 여러 정보들을 갖고 있는 놈이라고 볼 수 있습니다. 이건 예전에 다른 글에서 봤던 것인데, Context가 영어권에선 바로 요것을 뜻한다고 합니다. 또는 운영체제나, 시스템 프로그래밍을 배우신 분들에게 쉽게 설명 해 드리자면 레지스터들을 생각 해 볼 수 있습니다. rsp, rax, rbx 등의 값들을 Context라고 하고, 프로세스 내에서 값 전환이 일어날 때 Context Switch를 한다고 하..
-
Android Components(안드로이드 구성요소)Android/Concept 2019. 8. 3. 22:15
이번에는 안드로이드의 구조가 아닌, 안드로이드 앱 자체가 어떻게 구성이 되어 있는지 그 요소들에 대해 알아보겠습니다! 먼저 위와 같이 4개가 가장 기본적이고도 대표적인 안드로이드의 컴포넌트들 입니다. 왜 그림엔 5개 인데 4대 구성요소냐구요? 저 가운데에 인텐트(Intent)는 빼고 얘기하는 겁니다! 그럼 각각 어떤 역할을 하는지 살펴봅시다. Activity(액티비티) 안드로이드 프로그래밍을 해보셨다면 꽤나 익숙한 요소입니다. 대략적으로 한 화면을 담당한다고 느껴지죠. 맞습니다. 액티비티는 UI를 담당하며, 스마트폰 스크린으로 유저와 상호작용을 담당하는 컴포넌트입니다! 코딩을 위해서 프로젝트를 만들면 가장 먼저 MainActivity가 있죠. 이 처럼 가장 기본적인 구성요소이며, 필수적인 요소입니다. p..
-
Android Life Cycle of Activity(안드로이드 액티비티 생명주기)Android/Concept 2019. 7. 30. 16:59
저번에 안드로이드의 시스템적 구조에 대해서 공부했으니, 이번에는 실제 안드로이드 코딩 때 많이 쓰는 항목인 생명주기에 대해 공부 해 봅시다. 위 그림이 안드로이드 Activity의 생명주기입니다. 생각보다 단계가 별로 없고 이름들이 직관적입니다! 일단 하나하나씩 어떤 놈들인지 살펴보죠. OnCreate() 먼저 create, 창조하다? 입니다. 말 그대로 액티비티가 처음 시작 시 제일 먼저 발동되는 함수입니다. 완~~전 맨 처음에 부릅니다. 그래서 왠만한 경우 이놈을 다시 호출하지는 않아요. (예외로, 화면 회전 할 경우 액티비티를 새롭게 만들기 때문에 onCreate()이 다시 호출 됩니다!) 저희가 안드로이드 코딩을 하다보면, 이 함수에 여러 사항들을 적고 시작하죠. 그 이유가 최초로 실행 시 여러 ..
-
Android Architecture(안드로이드 구조)Android/Concept 2019. 7. 26. 19:51
공부 할 겸 안드로이드 구조에 대해 써봅니다! 안드로이드 구조 안드로이드 구조는 왼쪽의 사진과 같이 대표적으로 5계층으로 나뉘어져 있습니다. 리눅스 커널 계층 하드웨어 추상화(HAL) 계층 Native 라이브러리/안드로이드 런타임 계층 프레임워크 계층 어플리케이션 계층 먼저 아셔야 할 것은 안드로이드의 운영체제(OS)는 Linux 기반이며, 사용되는 언어는 Java입니다. 리눅스 커널 계층 네. 운영체제가 리눅스 기반으로 만들어져 있어서 커널 또한 리눅스로 이루어져 있습니다. 커널(Kernel)이란 영어 단어 뜻은 '알맹이' 라는 뜻인데 컴퓨터 쪽에선 '핵심'이라는 뜻이라고 합니다. 얘가 하는 짓은 운영체제의 관리자? 느낌입니다. 운영체제의 일들을 일반 사용자들이 건드리질 못하니까 그 사이 다리 역할을 ..