처음부터 차근차근

안드로이드 기초 본문

프로그래밍/Android

안드로이드 기초

_soyoung 2022. 3. 14. 17:30
반응형

안드로이드의 특징

  • 재사용이 가능한 애플리케이션 프레임워크(Application framework) 
  • 최적화된 달빅 가상 머신(Dalvik virtual machine)
  • WebKit 기반의 내장된 웹브라우저(Integrated browser)
  • OpenGL 2.0 지원하는 최적화된 그래픽(Optimized graphics) 
  • SQLite 데이터베이스 지원
  • 각종 오디오, 비디오 규격 지원(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
  • 블루투스, EDGE, 3G, WiFi 지원
  • 카메라, GPS, 나침판, 가속도계 지원
  • 풍부한 개발 환경 제공 장치

 

ART

ART 는 5.0에서 새로 배포되는 자바 가상 머신

미리 앱을 컴파일한다. (주로 설치시)

향상된 가비지 콜렉션
디버깅 향상

 

안드로이드는 Java 8.0 지원한다.

 

컴포넌트

애플리케이션은 컴포넌트로 이루어진다.

 

종류

  • 액티비티(activity) : <activity>
  • 서비스(service) : <service>
  • 방송 수신자(broadcast receiver) : <receiver>
  • 컨텐트 제공자(content provider) : <provider>

구조

 

 

액티비티(activity)

사용자 인터페이스 화면을 가지는 하나의 작업

즉, 사용자 화면이다.

액티비티들이 모여 애플리케이션이 된다.

 

서비스(service)

백그라운드에서 실행되는 컴포넌트

오랫동안 실행되는 작업이나 원격 프로세스를 위한 작업을 서비스라고 부른다.

ex) 배경 음악

 

 

방송 수신자(broadcast receiver)

방송을 받고 반응하는 컴포넌트

 

 

컨텐트 제공자(content provider)

데이터를 관리하고 다른 애플리케이션에게 제공하는 컴포넌트

 

 

PC의 애플리케이션 vs 안드로이드 어플리케이션

PC의 애플리케이션은 다른 애플리케이션의 코드를 사용할 수 없지만,

안드로이드는 가능하다.

안드로이드에서는 다른 애플리케이션의 컴포넌트를 사용할 수 있다.

ex) 애플리케이션 안에서 사용자가 사진 촬영하게 하는 것

 

 

인텐트(intent)

컴포넌트 각각의 통신을 맡고 있는 것이다.

애플리케이션의 의도를 적어서 안드로이드에 전달하면 안드로이드가 가장 적절한 컴포넌트를 찾아서 활성화하고 실행한다.

ex) 하나의 액티비티에서 다른 액티비티로의 화면 전환시 사용함

 

 

매니페스트(manifest)

안드로이드 프로젝트에 반드시 포함되어야 하는 파일

앱에 대한 정보가 xml형식으로 적혀있다.

주로 현재 패키지에 포함된 컴포넌트들이 적혀있다.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.ready.example"
    android:versionCode="1"
    android:versionName="1.0" >
    ...
</manifest>

<activity>, <service>, <receiver>, <provider> 가 들어있다.

 

 

안드로이드 개발 도구

JDK : Java Development Kit의 약자로 자바로 프로그램을 개발하는 데 필요한 개발 도구. JDK 7 이후 버전 필요
안드로이드 스튜디오(android studio)
안드로이드 SDK : 안드로이드 스튜디오 안에 포함되어 있음

 

 

 

안드로이드 애뮬레이터(AVD)

안드로이드 스튜디오에 있는 가상 디바이스

실제 스마트폰에 어떻게 나오는지 볼 수 있다.

Tools -> AVD Manager에서 다운 가능

 

 

 

 

 

출처 : 안드로이드프로그래밍(22-1학기)김용남교수 강의 내용 변형 및 요약

반응형

'프로그래밍 > Android' 카테고리의 다른 글

리스너 객체  (2) 2022.04.08
이벤트 처리  (0) 2022.03.28
android view2  (0) 2022.03.25
사용자 인터페이스 기초 - 뷰  (0) 2022.03.16
애플리케이션의 기본구조  (0) 2022.03.15
Comments