안드로이드 기초
OS (Operationg System) 이다.
Application
Application Class
- 제일 처음 시작되는 클래스
- 액티비티나 서비스등을 포괄하는 제일 근간이 되는 클래스
- 이럴때 사용합니다.
- 전역 변수 선언
- 첫 화면이 뜨기 전에 처리해야 하는 과정이 있을 때 (i.e. 서버처리, 광고 등)
- 전역에서 사용하는 처리 과정이 있을 때 (i.e. 회원정보 수정 등)
onCreate : 어플리케이션이 최초로 생성될 때 호출
onLowMemory : 메모리가 부족할 때 호출
onTirmMemory : 어플리케이션 내 사용되는 메모리가 정리될 때 호출
onConfigurationChanged : 화면 전환 등 휴대폰 형상이 변하면 호출 (i.e. 가로, 세로 보기 변환)
onTerminate : 어플리케이션이 종료될 때 호출
이렇게 구현이 되어 있는 함수들은 , 함수 overwirting 방법으로 , 추가 코드를 삽입할 수 있다.
Activity
- 안드로이드 화면의 단위
- 기능은 .kt 혹은 .java 클래스가 담당
- UI는 .xml 이 담당
- 이럴때 사용합니다.
- 화면을 새로 띄울때
- 화면의 interaction을 처리할 때
onCreate : 액티비티가 생성될 때 호출
onStart : 액티비티 활동에 들어갈 때 호출
onResume : 액티비티가 재개 활동에 들어갈때 호출 (화면 이탈 후 다시 돌아올때)
onPause : 다른 액티비티에 들어가면서 뒤로 밀려나 일시정지 될 때 호출
onStop : 액티비티가 더이상 보이지 않을 때 호출
onRestart : onStop이던 액티비티가 다시 시작할 때
onDestory : onStop이던 액티비티가 완전히 제거될 때
Resources
- 화면 등 실제 실행되는 로직 이위에 필요한 부가적인 정보들이 담긴 곳
- 이럴때 사용합니다.
- 화면 구성을 추가할 때 - (i.e. activity)
- 화면 구성 요소에 대해 다국어 지원을 할 때
- 기타 앱을 위해 필요한 파일이 있을 때
animator/ | 애니메이션 효과를 정의하는 xml 파일 |
amin/ | tween 애니메이션 효과를 정의하는 xml 파일 |
color/ | 색상 목록을 관리하는 xml 파일 |
drawable/ | 이미지 파일 |
mipmap/ | 단일 해상도 아이콘 파일 |
layout/ | UI 레이아웃 xml 파일 |
menu/ | 옵션 메뉴, 컨택스트 메뉴 등 메뉴 xml 파일 |
raw/ | 원시 형태로 저장하는 파일 |
value | 문자열, 정수,색 등 저장한 xml 파일 |
xml/ | 런타임에 읽을 수 있는 임의의 xml. 기타 등등 xml |
font/ | 글꼴 파일 |
- 대체 리소스
- 여러 타깃에게 다양한 모습을 보여주고 싶을 때 사용 (언어, 통신사 등)
- 특정 대상에게만 리소스를 한정짓고 싶을 때
MCC 와 MNC | 이동통신 국가코드, 이동통신 네트워크 |
언어와 지역 | 언어와 지역 표기 |
레이아웃 방향 | 앱의 레이아웃 방향 (글자 읽는 방향) |
화면 크기 | 레이아웃 크기 |
화면 비율 | 화면 비율 |
야간 모드 | 하루 시간대에 따른 시간 분기 |
화면 픽셀 모드 | 저밀도부터 고밀도 해상도에 따른 분기 |
Manifest
- 앱 실행에 관련된 앱과 권한 화면 등 정보들을 담고 있는 곳
- 이럴때 사용합니다.
- 패키지명을 정할 때
- 지원하는 최소 안드로이드 버전 및 최적화 버전을 정할 때
- 액티비티, 서비스 등을 새로 추가할 때
- 앱 권한을 추가하거나 조정할 때
Gradle
- 빌드 도구
- 기존 도구로 Ant와 Maven이 존재
- 그루비라는 언어를 통해 사용함
- Gradel Wrapper를 통해 Fradle이 없어도 프로젝트를 빌드할 수 있음
build.gradle
plugin : 프로젝트 빌드를 확장하기 위한 도구
Android - 안드로이드 설정과 관련된 영역
Dependencies - 개발을 위해 필요한 의존성 영역
## 참고 자료 ##
https://developer.android.com/guide/platform
플랫폼 아키텍처 | Android 개발자 | Android Developers
Android is an open source, Linux-based software stack created for a wide array of devices and form factors. The following diagram shows the major components of the Android platform. The foundation of the Android platform is the Linux kernel. For example…
developer.android.com