
1. 안드로이드 소개
1. 안드로이드의 특징
- 리눅스 기반
- 자바, 코틀린 언어
- 운영체제, 라이브러리, 구글 에서 만든 앱 등의 코드가 대부분 공개되어 있다.
- 구글 + 여러 제조업체에서 만들 수 있다.
- 구글 플레이 스토어 뿐만 아니라 다양한 방법으로 배포할 수 있다.
- 모바일에 탐재된 앱과 개발가자 만든 앱이 똑같은 환경에서 똑같은 API를 이용합니다.
2. 안드로이드 운영체제의 구조
- 시스템 앱에서 만들어 준것을 가져다 쓸 수 있다. (자바기반)
- c나 c++은 화면구성의 대부분이다.
- 안드로이드 런파이: 모바일에서 실행하는것 -> pc보다 성능이 떨어짐 -> 컴파일한것을 그대로 실행하면 모바일이 실행이 어려움 -> 모바일에 맞게 바꿔줘야 함 이것이 ARTAndroid runtine(ART 앱 실행 역할)임.
- 100줄을 10줄로 줄여줌 -> 모바일에서 실행가능

3. 안드로이드 버전에 관하여
- 1년에 하나씩 나옴.
- 우리는 Android 15.0
2. 안드로읻 앱 개발의 특징
1. 컴포넌트를 기반으로 한 개발
- 컴포넌트는 애플리케션의 구성요소다.

- 앱은 여러 클래스로 구성되는데 크게 컴포넌트 클래스와 일반클래스로 구분합니다.
- 일반 클래스: 클래스의 객체 생성부터 소멸까지 생명주지를 관리를 개발자 코드에서 한다.
- 컴포넌트 클래스: 생명주기를 안드로이드 시스템에서 관리한다.

- 안드로이드 컴포넌트는 4종류 이다.
- 액티비티: 화면이 있는 모든것 (화면이 여러개면, 여러개의 액티비티가 있다.)
- 서비스 백그라운드: 작업을 하는 컴포넌트
- 콘텐츠 프로바이더: 다른 액티비티에서도 사용할 수 있다. (데이터를 공유하게 끔)
- 브로드 캐스트 리시버: 누군가가 전달하는 방송이 다른 사람에게도 전달이 됨(알림: 카카오톡, 다른 일을 해도 카톡은 온다): 이벤트가 발생할 때 실행되게 하는 컴포넌트.
- 앱을 개발할 때 컴포넌트를 어떻게 구성: 앱의 기능에 따라 다르다.
- 두개 이상의 액티비티를 갖고 있으면,,, 컴포넌트끼리 서로 종속되지 않아서 결함이 발생하지 않는다는 의미

- 앱 실행 시점이 다양하다: 컴포넌트가 독립해서 실행되기 때문에 실행 시점이 다양할 수 있다.
안드로이드 앱에서는 메인 함수 main function 개념이 없다고 말한다. - 애플리케이션 라이브러리를 사용할 수 있다: 다른 애플리케이션 사용가능 (카톡에서 사진찍기 가능)
2. 리소스를 활용한 개발
- 리소스 : 화면을 구성하는데 필요한 자원이다 (정적인 값 분리)
- 문자열을 따로 관리, 색상, 크기, 레리아웃, 이미지, 메뉴 등등 많은 요소를 리소스로 활용할 수 있다.
- XML파일: HTML과 유사, 마크업 language
3. 첫 번째 앱 만들기

여러 파일이 모여서 한프로젝트를 구성하는데, 자주 사용하는건 템플릿으로 제공하고 있다.

개발하고자 하는 앱에 맞게 템플릿을 사용하면 된다.
화면 view를 구성할때 사용한는것이 empty view activity를 사용한다.

순서대로 프로젝트명, 패키지명, 프로젝트 저장 위치, 프로젝트 개발 언어, 최소 SDK버전, 빌드 파일 종류 이다.
save locate에 한글명이 있으면 안된다.


파일들은 기존에 선택한 empty view activity에서 제공하는 파일들이다.
왼쪽에 파일이 보이고 오른쪽에 코드를 작성하면 된다.
화면에 뜬 파일이 주로 사용되는 파일들이다.

- 안드로이드 SDK




- 쉽게 코딩하기 위한 설정

- 안드로이드가상기기: ADV


오류가 난다면 애뮬레이터오류이다.
해결하는 방법!


이후 안드로이드 운영체제 버전을 선택하는 등 맞는 방법대로 설정하면 된다.
- 모듈 단위로 실행가능


'SPECIALIZED > Android' 카테고리의 다른 글
| 6. 뷰를 배치하는 레이아웃 (0) | 2025.03.27 |
|---|---|
| 5. 뷰를이용한화면구성 (0) | 2025.03.27 |
| 4. XML소개 (0) | 2025.03.24 |
| 2. 안드로이드 프로그래밍 - 코틀린 시작하기 (코틀린 문법) (0) | 2025.03.17 |
| 1. 안드로이드 프로그래밍 - 개발환경준비하기 - 코틀린 (0) | 2025.03.14 |