1) 리눅스커널 메모리관리, 프로세스관리, 파일시스템관리, 네트워크스택등하드웨어지원 2) Native 라이브러리 (C, C++) 안드로이드프레임워크에서필요한 C 와 C++ 라이브러리 3) 안드로이드런타임 코어라이브러리지원, Dalvik Virtual Machine 으로

Similar documents
1부

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Microsoft PowerPoint App Fundamentals[Part1].pptx

서현수

THE TITLE

Microsoft PowerPoint Android-구조.애플리케이션 기초(1.0h).pptx

Microsoft PowerPoint App Fundamentals[Part2].pptx

Hello, World

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx

Microsoft PowerPoint Application Resources[Part1](2.0h).pptx

PowerPoint 프레젠테이션

Google Maps Android API v2

Microsoft PowerPoint - 02처음으로만드는(Ver 1.0)

07( ) CPLV12-35.hwp

슬라이드 1

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

슬라이드 1

슬라이드 1

제8장 자바 GUI 프로그래밍 II

[Brochure] KOR_TunA

Microsoft PowerPoint - 15주차(최종).pptx

PowerPoint Presentation

DoItAndroidAppProgramming

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

Special Theme _ 모바일웹과 스마트폰 본 고에서는 모바일웹에서의 단말 API인 W3C DAP (Device API and Policy) 의 표준 개발 현황에 대해서 살펴보고 관 련하여 개발 중인 사례를 통하여 이해를 돕고자 한다. 2. 웹 애플리케이션과 네이

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

PowerPoint Template

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

PowerPoint 프레젠테이션

Microsoft PowerPoint - 권장 사양

50_1953.pdf

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

슬라이드 1

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft Word - 안드로이드_개발_매뉴얼1.docx

안드로이드기본 11 차시어댑터뷰 1 학습목표 어댑터뷰가무엇인지알수있다. 리스트뷰와스피너를사용하여데이터를출력할수있다. 2 확인해볼까? 3 어댑터뷰 1) 학습하기 어댑터뷰 - 1 -

Secure Programming Lecture1 : Introduction

( )부록

F120L(JB)_UG_V1.0_ indd

모바일 안드로이드 아키텍처

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

<35312DC1B6C0BABCF72DBEC8B5E5B7CEC0CCB5E520B1E2B9DD20B8F0B9D9C0CF20B0A1BAAFBCBA20BCB3B0E820B9D720B1B8C7F62E687770>

슬라이드 1

쉽게 풀어쓴 C 프로그래밍

Android Master Key Vulnerability

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

안드로이드 서비스

Microsoft Word - Korean_뷰어 메뉴얼_공용_ADVR&SWi_.doc

Daum 카페

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사

슬라이드 1

슬라이드 1

Install stm32cubemx and st-link utility

Cisco FirePOWER 호환성 가이드

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

View Licenses and Services (customer)

그림으로쉽게설명하는안드로이드프로그래밍 초판발행 2012 년 8 월 20 일 제 3 판 1 쇄 2015 년 7 월 27 일 지은이천인국펴낸이김승기펴낸곳 ( 주 ) 생능출판사 / 주소경기도파주시광인사길 143 출판사등록일 2005년 1월 21일 / 신고번호제

<BED5BACEBCD32E696E6464>

학습목표 선언하여디자인을하는방법을이해하고, 실행할수있다. 시작화면을만드는방법과대체리소스를사용하는방법을이해하고실행할수있다. About 과같은상자를구현하고, 테마를적용하는법을이해하고실행할수있다.


사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을

Microsoft Word - 문필주.doc

JVM 메모리구조

Microsoft PowerPoint - ÀÚ¹Ù08Àå-1.ppt

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

슬라이드 1

목차 1. 안드로이드란무엇인가? 1.1. 주요특징 1.2. 안드로이드아키텍처 1.3. 애플리케이션 1.4. 애플리케이션프레임워크 1.5. 라이브러리 1.6. 안드로이드런타임 1.7. 리눅스커널 2. 애플리케이션기초 2.1. 애플리케이션컴포넌트 2.2. 액티비티와태스크

<4D F736F F F696E74202D A434F20B9DFC7A5C0DAB7E1202D20C7AABDC3BCADB9F62DB0D4BDC3BABB2E >

android_training_course_for_app_developer_by_kandroid.xls

Microsoft Word - src.doc

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

tut_modelsim(student).hwp

강연자소개 대외활동 동호회설립및운영자 (2004 년 12 월설립 ) 운영진 고현철, 김재훈, 유형목, 와함께국내에몇개남지않은임베디드리눅스를전문으로하는 community. 현재가입자수약만 4 천여명

학습목표 메뉴를추가하는방법을이해하고실습할수있다. 프로그램의기본설정 (settings) 을정의하는방법을알고실습할수있다. 대화상자를여는방법을알고실습할수있다. 로그메시지로디버깅하는방법을이해한다. 디버거로디버깅하는방법을이해한다.

슬라이드 1

Windows Server 2012

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

안드로이드 강의

슬라이드 1

TipssoftAppActivity.java // 기본소스파일 main.xml // 배치와구성에관련된리소스파일 string.xml // 프로그램에서사용할문자열에관련된리소스파일 컴파일을하고나면 r.java 라는소스파일이하나추가되는데이파일은리소스파일을소스파일에서이용할수있도

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Adobe Flash 취약점 분석 (CVE )

슬라이드 1

rosaec_workshop_talk

구글안드로이드프로그래밍액티비티, 인텐트수신자, 그리고서비스 안드로이드애플리케이션의구성요소에는액티비티, 인텐트수신자, 서비스, 컨텐트제공자가있다. 이번호에서는사용자인터페이스를위한액티비티와백그라운드서비스를위한인텐트수신자, 그리고서비스의라이프사이클과활용법에대해살펴보도록하자.

01장

12 주차 인텐트

2 Application Name: Day10_yhg <LinearLayout android:layout_weight="3" > /> an

변수이름 변수값 PATH ;C:\Program Files\Java\jdk1.8.0_45\bin CLASSPATH.;C:\Program Files\jdk1.8.0_45\lib\tools.jar JAVA_HOME C:\Program Files\Java\jdk1.8.0_45

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인

<4D F736F F D B1E2C8B9BDC3B8AEC1EE2DC0FCBFB5C0E7>

Microsoft Word - 임베디드월드_WindowsEmbeddedCompact7_rev

슬라이드 1

슬라이드 1

2009년 상반기 사업계획

본 강의에 들어가기 전


Transcription:

1. 안드로이드란무엇인가? 안드로이드는구글을중심으로한 OHA(Open Handset Alliance) 컨소시엄에서만든최초의오픈소 스모바일애플리케이션플랫폼 리눅스커널을기반으로한운영체제, 풍부한 UI(user Interface), 다양한애플리케이션, 라이브러리, 애플리케이션프레임워크, 멀티미디어지원등의구성요소들을포함하며휴대전화기능도포함 되어있다. 운영체제와연관된컴포넌트들은 C/C++ 로작성, 일반사용자애플리케이션들과내장된애플리케 이션들은자바로작성 2. 안드로이드의특징 1) 운영체제의핵심이라고할수있는커널은공개운영체제인리눅스에기반한다. 2) 자바언어를기반으로프로그램을작성한다. 3) 개방된환경인만큼개발툴과관련문서들이모두무료로제공 3. 안드로이드플랫폼 1

1) 리눅스커널 메모리관리, 프로세스관리, 파일시스템관리, 네트워크스택등하드웨어지원 2) Native 라이브러리 (C, C++) 안드로이드프레임워크에서필요한 C 와 C++ 라이브러리 3) 안드로이드런타임 코어라이브러리지원, Dalvik Virtual Machine 으로안드로이드애플리케이션실행환경제공 4) 어플리케이션프레임워크 안드로이드어플리케이션개발시필요한 API 제공 상세구성요소 기능설명 Activity Manager 애플리케이션의생명주기를관리한다. 2

Window Manager 윈도우의모양이나크기등을관리한다. Content Manager 애플리케이션이다른애플리케이션의정보나메시지를공유, 작업 등을요청하는기능을담당한다. View System 윈도우매니저와같이리스트, 텍스트박스, 버튼및다이얼로그 등애플리케이션제작을용이하게하는 UI 세트를제공한다. Notification Manager 콜수신, 메시지수신, 배터리부족, 시스템상태변화, 네트워크시 그널등이벤트발생에따라상태바나토스트와같은알람을디 스플레이하는기능을한다. Package Manager 패키지설치, 제거등을지원하는관리자이다. Telephony Manager 음성및영상통화, MMS/SMS, SIM/USIM 관리한다. Resource Manager 애플리케이션에게파일, 그래픽등의자원할당하고해제한다. Location Manager 위치정보를제공하는기능을담당한다. 5) 어플리케이션 Email 클라이언트, SMS 프로그램, 달력, 지도, 브라우저등의코어어플리케이션 4. 안드로이드프로그램구조 1) 뷰 뷰 (View) 는사용자와직접상호작용을할 UI 를의미한다. 2) 액티비티 보통액티비티와 UI 화면은일대일대응관계를갖고시스템혹은사용자로부터시작된이벤트에 반응한다. 3) 인텐트 컨포넌트간의통신수단이며메시지에대한상세한정보를가진다. 예를들면주소록목록액티 비티에서편집액티비티를호출할때누구의주소를어떤식으로편집하라는지시가인텐트에실 려전달된다. 4) 서비스 3

서비스는주로백그라운드에서돌아가는실행코드로, 일단실행되면휴대폰이꺼질때까지돌아 간다. 서비스는일반적으로사용자인터페이스가없다. 예 ) MP3 플레이어 5) 브로드캐스트리시버 (BroadcastReceiver) 만약애플리케이션이전화가오거나문자메시지수신과같은이벤트를받거나반응하기를원한다 면반드시브로드캐스트리시버로서등록되어있어야만한다. 신호만대기할뿐 UI 를따로가지 지는않으므로신호수신시적절한액티비티를띄워내용을전달한다. 6) 컨텐트프로바이더 다른응용프로그램을위해자신의데이터를제공한다. 안드로이드는보안이엄격하여다른응용 프로그램의데이터를함부로액세스하지못하도록되어있다. 응용프로그램간에데이터를공유 할수있는합법적인유일한장치가바로콘텐트프로바이더이다. 5. 사용가능한구성요소 1) 데이터보관 2) 네트워크 3) 멀티미디어 4) GPS 5) 전화서비스 6. 안드로이드응용프로그램의핵심파일들과디렉터리들 안드로이드파일설명 AndroidManifest.xml AndroidManifest.xml파일은응용프로그램의전역설정을담는다. 이파일은응용프로그램의능력, 권한, 실행방식등정의 project.properties project.properties 파일은자동으로생성되는프로젝트파일로, 응용프로그램의빌드대상과기타적절한빌드시스템옵션들정의. 4

src폴더 bin폴더 gen폴더 res폴더 res/drawablehdpi/ic_launcher.png res/drawable-ldpi/ ic_launcher.png res/drawable-mdpi/ ic_launcher.png res/layout/main.xml res/values/strings.xml 응용프로그램의모든소스코드를담는필수폴더컴파일된애플리케이션코드가들어감응용프로그램을위해자동으로생성된자원 (resource) 파일들을담는필수폴더. R.java( 응용프로그램자원관리자소스파일 ) 자동생성아이콘이나 GUI 레이아웃등컴파일된자바코드와함께애플리케이션패키지에포함될파일보관고해상도이미지폴더저해상도이미지폴더중해상도이미지폴더단일화면레이아웃파일응용프로그램문자열자원들 7. Resource 디렉토리구조 자원형식 필수디렉토리 파일이름 핵심XML 요소이름 ( 적용되는경우에만 ) 문자열 /res/values/ strings.xml( 권장됨 ) <string> 문자열배열 /res/values/ arrays.xml( 권장됨 ) <string-array> 색상값 /res/values/ colors.xml( 권장됨 ) <color> 크기 (dimension) /res/values/ dimens.xml( 권장됨 ) <dimen> 단순표시물 (drawable) /res/values/ drawables.xml( 권장됨 ) <drawable> 비트맵그래픽 /res/drawable/ 예 :img.png, img.jpg, img.gif, 지원되는 그래픽 파일 red_oval.xml 또는도형등의표시물 을정의하는 XML파일들. 애니메이션시퀀스 ( 트위닝 ) /res/anim/ 예 : fancy_anim1.xml, fancy_anim2.xml <set>, <alpha>, <scale>,<translate>, <rotate> 메뉴파일 /res/menu/ 예 : my_menu1.xml, <menu> 5

More_options.xml XML 파일 /res/xml/ 예 : some.xml, more.xml 개발자가정의. 원본 (raw) 파일 /res/raw/ 예 : some_audio.mp3, some_text.txt 레이아웃파일 /res/layout/ 예 : start_screen.xml, main_screen.xml 다양함. 반드시레이아웃요소이어야함 스타일및테마 /res/values/ styles.xml, themes.xml( 권장됨 ) <style> 8. 결과로얻어지는디렉토리 bin/classes/ bin/classes.dex bin/resources.ap_ bin/app_name.apk 컴파일된자바클래스컴파일된자바클래스로만든실행파일애플리케이션의모든리소스파일실제안드로이드애플리케이션 ( 애플리케이션의모든파일을묶은형태 ) 9. 마니페스트파일의구조 Manifest uses-permission permission package : 패키지명 android:versioncode : 버전코드 ( 운영체제가어플의업그레이드를관리하기위해사용 ) android:versionname : 버전이름 ( 어플을내려받을때사용되는버전정보 ) 태그는안드로이드애플리케이션에반드시보안관련권한이필요함을나타낸다 - ACCESS_FINE_LOCATION : GSP 위치추적기능에필요한권한 - ACCESS_LOCATION_EXTRA_COMMANDS : 위치와관련된추가기능에대한권한. - CALL_PHONE : 다이얼러로전화를걸수있는권한. - ACCESS_MOCK_LOCATION : 에뮬레이터에서실행할때가상위치정보를사용할수있는권한 - INTERNET : 인터넷접속권한이다. - ACCESS_COARSE_LOCATION : 지도사용시권한외부액티비티나서비스가내부데이터나기능을사용하고자할때 6

instrumentation uses-library uses-sdk 필요한권한지정액티비티가실행되는등의주요시스템이벤트가발생했을때애플리케이션의어느부분을호출하지지정지도서비스처럼추가로연동되는안드로이드컴포넌트를지정애플리케이션을어느버전의안드로이드환경에서사용할수있는지알려줌 service receiver application Level 1 : 안드로이드 1.0 SDK Level 4 : 안드로이드 1.6 SDK Level 7 : 안드로이드 2.1 SDK Level 8: 안드로이드 2.2 SDK Level 10 안드로이드 2.3.3 SDK Level 11 안드로이드 3.0 SDK Level 12 안드로이드 3.1 SDK Level 13 안드로이드 3.2 SDK Level 14 안드로이드 4.0 SDK 서비스지정브로드캐스트리시버지정실제애플리케이션과관련된내용기술 android:icon 어플의아이콘설정 android:label 어플의이름설정 ------------------------------------------ <activity> android:name 액티비티클래스의이름 android:label 액티비티가화면에떴을때가장위에표시할레이블 ------------------------------------------ <intent-filter> action 안드로이드는애플리케이션을시작할때 MAIN action을선언한액티비티를찾는다. category 안드로이드는이속성을통해찾아야하는인텐트필터를한정한다. 7