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

Size: px
Start display at page:

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

Transcription

1 안드로이드베이직 & 클래식안드로이드입문서 운영자들풀양정수운영진김은영 김남국공동번역

2 목차 1. 안드로이드란무엇인가? 1.1. 주요특징 1.2. 안드로이드아키텍처 1.3. 애플리케이션 1.4. 애플리케이션프레임워크 1.5. 라이브러리 1.6. 안드로이드런타임 1.7. 리눅스커널 2. 애플리케이션기초 2.1. 애플리케이션컴포넌트 2.2. 액티비티와태스크 2.3. 프로세스와쓰레드 2.4. 컴포넌트생명주기 3. 사용자인터페이스 3.1. 개요 3.2. 레이아웃선언하기 3.3. 메뉴생성 3.4. 다이얼로그생성 3.5. UI 이벤트처리 3.6. 사용자에게통보하기 3.7. 스타일과테마적용 3.8. 커스텀컴포넌트제작 3.9. 어댑터뷰를사용한데이터바인딩 일반적인레이아웃오브젝트 안드로이드가뷰를그리는방법

3 4. 리소스와에셋 4.1. 리소스와국제화 4.2. 사용가능한리소스타입 5. 인텐트와인텐트필터 5.1. 인텐트오브젝트 5.2. 인텐트확정 6. 데이터저장공간 6.1. 프레퍼런스 6.2. 파일 6.3. 데이터베이스 6.4. 네트워크 7. 컨텐트프로바이더 7.1. 컨텐트프로바이더기초 7.2. 컨텐트프로바이더쿼리하기 7.3. 프로바이더데이터수정하기 7.4. 컨텐트프로바이더생성 7.5. 컨텐트 URI 요약 8. 보안및퍼미션 (Permission) 8.1. 보안아키텍처 8.2. 애플리케이션사인하기 8.3. 사용자 ID와파일접근 8.4. 퍼미션사용하기 8.5. 퍼미션선언및강제 8.6. URI 퍼미션

4 9. AndroidManifest.xml 파일 9.1. 매니페스트파일구조 9.2. 파일규약 9.3. 파일특성 9.4. <action> 9.5. <activity> 9.6. <activity-alias> 9.7. <application> 9.8. <data> 9.9. <grant-uri-permission> <instrumentation> <intent-filter> <manifest> <meta-data> <permission> <permission-group> <permission-tree> <provider> <receiver> <service> <uses-configuration> <uses-library> <uses-permission> <uses-sdk> 10. 그래픽 개요 차원그래픽 OpenGL 을사용하는 3차원그래픽

5 11. 오디오및비디오 오디오및비디오재생 오디오캡쳐 안드로이드지원미디어포맷 12. 로케이션과맵 로케이션서비스 구글맵외부라이브러리 13. App 위젯 기초 매니페스트에 App 위젯선언하기 AppWidgetProviderInfo 메타데이터추가하기 App 위젯레이아웃생성하기 AppWidgetProvider 클래스사용하기 App 위젯설정액티비티생성하기 14. AIDL 을사용하여원격인터페이스디자인하기 AIDL 을사용하여 IPC 구현하기 IPC 메쏘드호출하기 15. 애플리케이션사인하기 (Signing) 개요 사인전략 사인을위한기초셋업 디버그모드에서사인하기 공식릴리즈를위해사인하기 개인키보안유지

6 16. 애플리케이션버전부여 애플리케이션버전설정 최소시스템 API 버전지정하기 17. 배포를위한준비 : 체크리스트 애플리케이션릴리즈준비이전단계 애플리케이션최종컴파일이전단계 애플리케이션컴파일이후단계 18. 애플리케이션배포하기 안드로이드마켓에배포하기 19. 성능을위한설계 소개 오브젝트생성을피하라 네이티비 (Native) 메쏘드를사용하라 인터페이스 (Interface) 보다버추얼 (Virtual) 을선호하라 내부적인 Getters/Setters를피하라 캐쉬필드룩업 (Lookup) 상수를 Final로선언하라 Caution 을가지는 Loop 문법확장을사용하라 Enums을피하라 내부클래스를가지는패지지영역 (Scope) 을사용하라 부동소수점을피하라 약간의샘플성능숫자들 마무리노트 20. 응답성을위한설계 무엇이 ANR 을유발하는가? 어떻게 ANR 을피할것인가?

7 20.3. 응답성강화하기 21. 무결절성을위한설계 데이터를누락하지마라 원시데이터를드러내지마라 사용자를방해하지마라 해야할것이많다면, 쓰레드에서하라 단일액티비티스크린에오버로드를주지마라 시스템테마를확장하라 UI가다양한스크린해상도에서작동하도록디자인하라 네트워크가느리다는것을가정하라 터치스크린또는키보드를가정하지마라 디바이스배터리를절약하라 22. 용어집

8 1. 안드로이드란무엇인가? 안드로이드는운영체제와미들웨어그리고핵심애플리케이션을포함하고있는모바일디바이스를위한소프트웨어스택 Stack이다. 안드로이드 SDK 는 Java 프로그래밍언어를사용하여안드로이드플랫폼상의애플리케이션을개발하기위해필요한도구들과 API를제공한다. 주요특징 y 애플리케이션프레임워크컴포넌트에대한재사용및치환replacement 를가능하게함. y 달빅 (Dalvik) 가상머신모바일디바이스를위해최적화됨. y 통합브라우저오픈소스웹킷 WebKit 엔진기반. y 최적화된그래픽자체제작된 2D 그래픽라이브러리와 OpenGL ES 1.0 스펙 ( 하드웨어가속은선택사항임 ) 에기반의 3D 그래픽에의해강화됨 y SQLite 정형화된데이터저장공간을위한것. y 미디어지원일반적인오디오, 비디오그리고정지still 이미지포맷들을지원 (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) y GSM 테크놀로지 ( 하드웨어의존적 ) y 블루투스, EDGE, 3G와 WiFi ( 하드웨어의존적 ) y 카메라, GPS, 나침반과가속도계 ( 하드웨어의존적 ) y 풍부한개발환경디바이스에뮬레이터, 디버깅툴, 메모리및성능프로파일링그리고이클립스통합개발환경 IDE을위한플러그인포함. 14 ㅣ 1 장

9 2. 애플리케이션기초 안드로이드애플리케이션은 Java 프로그래밍언어로작성된다. 컴파일된 Java 코드 - 애플리케이션에필요한임의의데이터와리소스파일과함께 는 SDK 에존재하는 aapt 유틸리티에의해안드로이드패키지로묶여지며, 이렇게하나로압축된아카이브 archive 파일에는.apk 접미사가부쳐진다. 이파일은모바일디바이스에안드로이드애플리케이션을배포하고설치하기위한수단이다 ( 사용자들이자신의모바일디바이스에다운로드하게되는파일이바로이파일이다 ). 하나의.apk 파일안에있는모든코드는하나의애플리케이션으로간주된다. 다양한방법으로각각의안드로이드애플리케이션은그것자신의세계내에서in its own world 존속한다. 디폴트로모든애플리케이션은자신의리눅스프로세스내에서실행된다. 안드로이드는임의의애플리케이션코드가실행될필요가있을때그프로세스를시작시키며, 그것이더이상필요치않고다른애플리케이션이시스템자원을요구할때그프로세스를종료시킨다 shuts down. 각각의프로세스는자기자신의 Java 가상머신을가진다. 그러므로애플리케이션코드는다른모든애플리케이션코드와는격리되어실행된다. y 디폴트로각각의애플리케이션에는고유한리눅스유저user ID가부여된다. 애플리케이션을구성하는파일들은해당사용자와해당애플리케이션그자신에게만보여지도록퍼미션 permission이설정된다 - 비록, 다른애플리케이션에게도그파일을보여줄방법이있기는하지만. 두개의애플리케이션에대해동일한유저user ID를공유할수있도록배치하는것이가능하다. 그런경우에두개의애플리케이션은각자다른애플리케이션의파일을볼수있을것이다. 시스템자원을절약하기위해동일한 ID를가지는애플리케이션은또한동일한리눅스프로세스안에서실행되도록배치되며, 동일한가상머신을공유한다. 20 ㅣ 2 장

10 3. 사용자인터페이스 개요 안드로이드애플리케이션안에는사용자인터페이스는뷰 View 와뷰그룹 ViewGroup 오브젝트를사용하여만들어진다. 많은종류의뷰와뷰그룹이있는데, 그들각각 은뷰 View 클래스의자손들 descendant 이다. 뷰오브젝트들은안드로이드플랫폼상의사용자인터페이스를표현하는기본단위이다. 뷰클래스는텍스트필드와버튼처럼완전하게구현된 UI 오브젝트들을제공하는 위젯widget 이라불리는서브클래스에대한기반를제공한다. ViewGroup 클래스는리니어 linear, 태뷸러 tabular, 그리고랠러티비 relative 같은다른종류의레이아웃아케텍쳐를제공하는 레이아웃 layouts 이라불리는서브클래스에대한기반을제공한다. 뷰오브젝트는하나의데이터구조인데, 그구조의속성들에는스크린의특정직사각형영역에대한레이아웃파라메터들과컨텐트를저장하고있다. 뷰오브젝트는그안에있는직사각형의스크린영역에대해측정measurement, 레이아웃, 그리기drawing, 포커스변화, 스크롤링, 그리고키 / 제스쳐상호작용을제어한다. 또한뷰는사용자인터페이스내의오브젝트처럼사용자와의상호작용지점이며, 해당상호작용이벤트의리시버이다. 뷰계층구조 (Hierarchy) 안드로이드플랫폼상에서, 여러분은다음페이지에나오는그림에서보여지듯이뷰와뷰그룹노드들의계층구조를사용하는액티비티의 UI를정의한다. 이계층구조는여러분이그것을필요로하는형태에따라단순할수도복잡할수도있으며, 여러분은안드로이드에미리정의된위젯과레이아웃의집합또는여러분이직접만든커스텀뷰를사용하여그것을만들수있다. 58 ㅣ 3 장

11 4. 리소스와에셋 (Asset) 리소스는안드로이드애플리케이션의필수불가결한부분이다. 일반적으로. 이것들은여러분의애플리케이션에서포함해서레퍼런스하고자하는이미지, 오디오, 비디오, 텍스트문자열, 레이아웃, 테마등과같은외부요소들이다. 모든안드로이드애플리케이션은리소스를위한디렉토리 (res/) 와에셋을위한디렉토리 (assets/) 를가진다. 에셋은그것을가지는애플리케이션이매우적기때문에드물게사용된다. 여러분이원시바이트 bytes를읽을필요가있을때, 여러분은에셋으로데이터를저장할필요가있을뿐이다. 리소스와에셋에대한디렉토리모두여러분의프로젝트디렉토리의최상위에, 여러분의소스코드디렉토리와나란히존재한다. 리소스resources 와 에셋assets 의차이는외관상많지않다. 그러나일반적으로여러분은외부컨텐트를저장하기위해에셋을사용하기보다는리소스를더자주사용할것이다. 실제차이는, 리소스디렉토리에놓인어떤것은안드로이드에의해컴파일된 R 클래스를통해, 애플리케이션에의해쉽게접근가능하다는것이다. 에셋디렉토리안에있는모든것은원시파일포맷으로유지될것이며, 그것을읽기위해, 여러분은바이트스트림으로파일을읽기위한에셋매니저 AssetManager를사용해야한다. 그러므로파일과데이터를리소스 (res/) 에보관하는것은그것에대한접근을용이하게만든다. 이토픽의문서에서, 여러분은안드로이드애플리케이션에서일반적으로사용되는표준리소스의종류와여러분의코드에서그것을레퍼런스하는방법에관한정보를찾을수있을것이다. 리소스와국제화 Internationalization은, 안드로이드가프로젝트리소스를이용하는방법에대해더많이공부하기위한여러분의시작점이다. 그런다음에사용가능한리소스타입문서는다양한리소스타입의개요와그들의스펙에대한레퍼런스를제공한다. 156 ㅣ 4 장

12 5. 인텐트와인텐트필터 애플리케이션의핵심컴포넌트세개 - 액티비티, 서비스, 브로드캐스트리시버 - 는인텐트intent라고불리는메시지를통해서활성화된다. 인텐트메세징은동일애플리케이션내에존재하는컴포넌트또는다른애플리케이션내에존재하는컴포넌트들간의다소더딘 late( 역주 : start-up 시점이아님 ) 런타임바인딩을위한도구이다. 인텐트자체, 즉인텐트오브젝트는수행되어야하는오퍼레이션에대한추상적인설명을보유하고있는데이터구조이다 또는, 브로드캐스트의경우에는, 발생했고그리고공표된어떤것에대한것이다. 각각의컴포넌트타입에따라인텐트를전달하는별도의메커니즘이존재한다. 인텐트오브젝트는액티비티를런치하거나또는어떤것을새로수행할이미존재하는액티비티를얻기위해서, Context.startActivity() 또는 Act ivity.startactivityforresult() 에전달된다. 인텐트오브젝트는서비스를초기화하거나또는실행중인서비스에새로운지시를전달하기위해, Context.startService() 에전달된다. 유사하게, 인텐트는호출하는컴포넌트와그것의대상이되는서비스간의커넥션을확립하기위해, Context.bindService() 에전달된다. 만약서비스가아직실행되고있지않다면, 필요에따라서비스를초기화할수있다. Context.sendBroadcast(), Context.sendOrderedBroadcast(), Context.sendStickyBroadcast() 와같은브로드캐스트메쏘드들중어떤것에전달되는인텐트오브젝트는그것에관심을갖는모든브로드캐스트리시버들에게전달된다. 많은종류의브로드캐스트들은시스템코드내에서만들어진다. 각각의경우에있어서, 안드로이드시스템은인텐트에응답할적절한액티비티, 서비스, 또는브로드캐스트리시버집단을찾으며, 필요하다면그것들을인스턴스화한다. 이러한메세징시스템내에는어떤한오버랩도존재하지않는다 ; 브로드캐스트인텐트는브로드캐스트리시버에게만전달되며, 결코액티비티나서비스 200 ㅣ 5 장

13 6. 데이터저장공간 일반적인데스크탑운영체제는파일을다른애플리케이션이읽을수있도록저장하기위해, 모든애플리케이션이사용할수있는보편적파일시스템을제공한다 ( 아마약간의접근제한설정을가진다 ). 안드로이드는다른형태의시스템을사용한다. 안드로이드상에서, 모든애플리케이션의데이터 ( 파일을포함함 ) 는그애플리케이션에게프라이빗private하다. 하지만안드로이드는또한 - 컨텐트프로바이더를통해서 - 그것의프라이빗 private 데이터를다른애플리케이션에게보여주기위해, 애플리케이션에대한표준방법을제공한다. 컨텐트프로바이더는애플리케이션데이터에읽기 / 쓰기접근을제공하는애플리케이션의선택사항에속하는컴포넌트이다. 그읽기 / 쓰기접근은그것이부과할수도있는제약의조건에따른다. 그컨텐트프로바이더는데이터를요청하고수정하는것에대한표준구문과, 그리고리턴된데이터를읽는것에대한표준메커니즘을구현한다. 안드로이드는이미지, 오디오그리고비디오파일과개인컨택정보와같은표준데이터타입에대한다수의컨텐트프로바이더를지원한다. 컨텐트프로바이더를사용하는것에대한더많은정보에대해서는 7장. 컨텐트프로바이더를보라. 여러분이다른애플리케이션에게자신의애플리케이션데이터를내보내길원하던또는원하지않던간에, 여러분은그것을저장하는방법이필요하다. 안드로이드는데이터를저장하고가져오기위해다음의네가지메커니즘을제공한다 : 프레퍼런스 Preferences, 파일, 데이터베이스, 그리고네트워크이그것이다. 216 ㅣ 6 장

14 7. 컨텐트프로바이더 컨텐트프로바이더는데이터를저장하고가져오며, 그것에대한접근을모든애플리케이션에게가능하게한다. 이것은애플리케이션들간에데이터를공유할수있는유일한방법이다 ; 모든안드로이드패키지가접근할수있는보편적인저장공간은존재하지않는다. 안드로이드는일반적인데이터타입들 ( 오디오, 비디오, 이미지, 개인컨택정보, 기타등등 ) 에대한몇개의컨텐트프로바이더를포함하고있다. 여러분은 android.provider 패키지에서그것들중의몇개의목록을볼수있다. 여러분은그것들이보유하고있는데이터를위해이러한프로바이더에게쿼리 query할수있다 ( 비록, 어떤것에대해서는 여러분이데이터를읽기위한적절한퍼미션을획득해야하지만 ). 만약자기자신의데이터를퍼블릭 public하게만들고자한다면, 여러분은두가지옵션을가진다 : 자기소유의켄텐트프로바이더 (ContentProvider 서브클래스 ) 를만들거나, 또는이미존재하는프로바이더에그데이터를추가할수있다 - 만약그곳에같은타입의데이터를제어하는것이있고, 여러분이그곳에쓰기위한퍼미션을가지고있다면. 이문서는컨텐트프로바이더사용에대한소개이다. 여기에서는기본적인것들에대해간단히설명한후, 컨텐트프로바이더를쿼리하는방법, 컨텐트프로바이더에의해관리되는데이터를수정하는방법, 그리고여러분소유의컨텐트프로바이더를만드는방법을설명한다. 컨텐트프로바이더기초 컨텐트프로바이더라는덮개 cover 아래에있는데이터를실제로저장하는방법은컨텐트프로바이더를설계한사람에게달려있다. 하지만모든컨텐트프로바이더는데이터추가, 수정, 삭제와같은프로바이버를쿼리하고그결과를리턴받는보편적인인터페이스를구현한다. 222 ㅣ 7 장

15 8. 보안및퍼미션 (Permission) 안드로이드는각각의애플리케이션과시스템내의각영역들이, 자신의고유한프로세스상에서실행되는멀티프로세스시스템이다. 애플리케이션과시스템간의대부분의보안은애플리케이션에할당된유저User나그룹 ID와같은표준리눅스설비를통해프로세스레벨에서강제된다. 보다섬세한추가적인보안기능은퍼미션permission 메커니즘에의해제공된다. 퍼미션은특정프로세스가수행할수있는특정오퍼레이션에제약을부가한다. 그리고데이터의특정영역에대한임시적접근을부여하는 URI 별퍼미션이있다. 보안아키텍처 안드로이드보안아키텍처의핵심디자인측면에서는, 디폴트로다른애플리케이션과운영체제, 또는사용자에게나쁜영향을미칠수있는어떤오퍼레이션을수행할수있는퍼미션을가진애플리케이션도존재할수없다. 이것은 ( 컨택또는이메일과같은 ) 사용자의개인적인데이터에대한읽고쓰기및다른애플리케이션의파일에대한읽고쓰기, 네트워크상의접근, 디바이스에대한활성상태유지등을포함한다. 애플리케이션의프로세스는보안안전판 sandbox이다. 그것은기본적인안전판에의해제공되지않는추가적인기능들에필요한퍼미션을명시적으로선언하는않고서는, 다른애플리케이션에게혼란을줄수없다. 그것이요구하는이러한퍼미션들은다양한방법들로운영체제에의해제어될수있으며, 일반적으로는자동으로인증서기반으로허용하거나또는불허되며, 사용자에게확인을요청하는것에기반하기도한다. 애플리케이션에의해요청된퍼미션은그애플리케이션내에정적static으로선언된다. 그러므로그퍼미션은애플리케이션의설치전에알수있으며, 그후에는변경될수없다. 242 ㅣ 8 장

16 9. AndroidManifest.xml 파일 모든애플리케이션은그것의루트디렉토리에 AndroidManifest.xml 파일 ( 정확하게그이름을가짐 ) 이있어야만한다. 매니페스트는안드로이드시스템에게애플리케이션에대한필수적인정보를제공하며, 시스템은애플리케이션의코드중어떤것을실행할수있기전에그정보를가져야한다. 그중에서도특히매니페스트는다음과같은것들을한다. 그것은애플리케이션에대한 Java 패키지를명시한다. 패키지이름은애플리케이션에대한고유한식별자로서사용된다. 그것은애플리케이션의컴포넌트를기술한다 애플리케이션을구성하는액티비티, 서비스, 브로드캐스트리시버, 그리고컨텐트프로바이더. 그것은컴 포넌트각각을구현하는클래스를지정하며, 그것들의기능을공표한다 ( 예를들 어그들이취급할수있는인텐트메시지 ). 이러한선언은컴포넌트가무엇이고, 그것들이 어떤조건하에서런치될수있는가를안드로이드시스템이알게한다. 그것은어떤프로세스가애플리케이션컴포넌트를보유할것인가를결정한다. 그것은 API의보호된영역에접근하기위해, 그리고다른애플리케이션과상호작용하기위해애플리케이션이가지고있어야하는퍼미션이어떤것인가를선언한다. 그것은또한애플리케이션의컴포넌트와상호작용하기위해, 다른애플리케이션이가져야하는것이요구되는퍼미션들을선언한다. 그것은애플리케이션이실행되는동안의프로파일링과다른정보를제공하는인스트루먼테이션instrumentation 클래스를리스트한다. 이러한선언은애플리케이션이개발되어테스트되는동안에만매니페스트안에존재한다. 그것들은애플리케이션이배포되기전에제거된다. 그것은애플리케이션이요구하는 Android API의최소레벨을선언한다. 그것은애플리케이션에링크되어야할라이브러리를리스트한다. 252 ㅣ 9 장

17 10. 그래픽 안드로이드그래픽은커스텀 2D 그래픽라이브러리와고사양의 3D 그래픽을위한 OpenGL ES 1.0 에의해구동된다. 가장일반적인 2D 그래픽 API들이 drawable 패키지에서발견된다. OpenGL API는 Khronos OpenGL ES 패키지로부터유용하게되었으며, 더불어약간의안드로이드 OpenGL 유틸리티들가추가되었다. 프로젝트를시작할때, 여러분의그래픽에대한요건 (demand) 이무엇인지, 정확하게고려하는것이중요하다. 많은그래픽작업들은많은기술들을사용하여이루어진다. 예를들어다소정적인애플리케이션에대한그래픽과애니메이션은인터렉티비게임이나 3D 렌더링에대한그래픽과애니메이션과는매우다르게구현되어야한다. 여기서우리는여러분이안드로이드상에서그래픽을그리기위해가질수있는몇 가지옵션과그것들이어떤작업에가장잘맞는지에대해논의할것이다. 만약여러분이특별히 3D 그래픽을그리는것에대한정보를찾고있다면, 이페이지는그다지도움을주지못할것이다. 하지만캔버스를사용해서드로잉하기 (on Drawing with a Canvas) 에있는아래의정보는여러분에게뷰계층구조에드로잉 drawing 방법에대한빠른아이디어를제공할것이다. OpenGL ES API 에서제공되는안드로이드 3D 그래픽유틸리티에대한더많은정보를위해서는 3D with OpenGL(OpenGL 을사용하는 3D) 를읽고, 다른 OpenGL 문서들을참고하라. 개요여러분의옵션을고려하라 2D 그래픽을그릴때, 여러분은보통다음의두가지방법중하나로그것을할것이다. 318 ㅣ 10 장

18 11. 오디오및비디오 안드로이드플랫폼은여러분의애플리케이션이쉽게오디오, 비디오, 이미지를통합할수있도록다양한일반적인미디어타입에대한빌트인 build-in 인코딩 / 디코딩을제공한다. 플랫폼의미디어기능에액세스하는것은꽤수월하다 여러분은인텐트와액티비티메커니즘을사용해서그렇게할수있으며, 이메커니즘은안드로이드의나머지부분들에서도사용된다.. 안드로이드는여러분이여러유형의데이터소스에서오디오와비디오를재생할수있도록한다. 여러분은애플리케이션리소스들 (raw resources) 에저장된미디어파일들, 파일시스템에있는독립된파일들, 혹은네트워크커넥션을통해도착하는데이터스트림에서오디오와비디오를재생할수있다. 애플리케이션에서오디오와비디오를재생하려면미디어플레이어 MediaPlayer 클래스를사용하라. 또한이플랫폼은모바일디바이스하드웨어가그것에서지원되면, 여러분이오디오와비디오를녹음 ( 녹화 ) 할수있도록한다. 오디오와비디오를녹음 ( 녹화 ) 하려면미디어레코더 MediaRecorder 클래스를사용하라. 에뮬레이터는오디오와비디오를캡쳐하는하드웨어를가지고있지않지않다는것에유의하라. 하지만실제모바일디바이스는미디어레코더 MediaRecorder를통해접근할수있는이러한기능들을여러분에게제공할것이다. 안드로이드가빌트인built-in 지원을제공하는미디어포맷리스트에대해서는이후에나오는안드로이드지원미디어포맷을보라. 오디오및비디오재생 미디어는원시리소스, 시스템내의파일, 또는사용가능한네트워크 (URL) 어느곳으로부터든재생될수있다. 여러분은표준출력디바이스로만오디오데이터를재생할수있다 ; 현재그디바 340 ㅣ 11 장

19 12. 로케이션과맵 로케이션location기반또는맵map기반애플리케이션과서비스들은모바일디바이스사용자에게매우중요한영향력을갖는다. 여러분은이기능을 android. location 패키지와구글맵외부라이브러리를사용해서여러분의애플리케이션에만들수있다. 아래의섹션은그것에대한상세한설명을제공한다. 로케이션서비스 안드로이드는 android.location 패키지내에있는클래스를통해디바이스에의해지원되는로케이션서비스에여러분의애플리케이션이접근할수있도록한다. 로케이션 location 프레임워크의중심컴포넌트는로케이션매니저LocationManager 시스템서비스이다. 그것은아래에있는디바이스가 ( 만약로케이션기능을지원한다면 ) 위치와방향각을결정하기위한 API를제공한다. 다른시스템서비스들처럼, 여러분은로케이션매니저LocationManager를직접적으로인스턴스화해서는안된다. 대신, getsystemservice(context. LOCATION_SERVICE) 를호출함으로써시스템으로부터로케이션매니저 LocationManager 인스턴스를요청해야한다. 일단여러분의애플리케이션이로케이션매니저LocationManager에대한핸들 (handle) 을가진다면, 여러분의애플리케이션은다음의세가지의것을할수있다. y 마지막으로알고있는위치에대하여, 로케이션매니저 LocationManager가알고있는모든로케이션프로바이더 LocationProviders 리스트에게쿼리를하는것. y ( 규칙또는이름으로지정되는 ) 로케이션프로바이더 LocationProvider에현재위치에대 한주기적인업데이트를등록하거나해지하는것. y 만약디바이스가주어진위도 / 경도의주어진근접범위 ( 미터로된반경으로지정됨 ) 내 350 ㅣ 12 장

20 13. App 위젯 App 위젯들은 ( 홈스크린과같은 ) 다른애플리케이션내에임베디드될수있는축소된애플리케이션뷰이며, 주기적인업데이트를수신한다. 이러한뷰들은사용자인터페이스에서위젯Widget으로써불려진다. 그리고여러분은 App 위젯프로바이더를사용해서그것을배포할수있다. 애플리케이션컴포넌트는 App 위젯호스트라고불리우는다른 App 위젯을보유할수있다. 아래의스크린샷은뮤직 App 위젯을보여준다. 이문서는 App 위젯프로바이더를사용하여 App 위젯을배포하는방식을설명 한다. 기초 App 위젯을생성하기위해서는, 여러분은다음과같은것을필요로한다. AppWidgetProviderInfo 오브젝트 App 위젯의레이아웃, 업데이트빈도, 그리고 AppWidgetProvider 클래스와같은 App 위젯에대한메타데이터를기술한다. 이것은 XML로정의되어야한다. AppWidgetProvider 클래스구현여러분이브로드캐스트이벤트에기초해서프로그램적으로 App 위젯과인터 356 ㅣ 13 장

21 14. AIDL 을사용하여원격인터페이스디자인하기 각각의애플리케이션이자신만의프로세스에서실행되고, 여러분이애플리케이션의사용자인터페이스와는분리되어있는프로세스상에서실행되는서비스를만들수있기때문에, 가끔여러분은프로세스들간에오브젝트를전달해야할필요가있다. 안드로이드플랫폼상에서하나의프로세스는보통다른프로세스의메모리를접근할수없다. 그렇기때문에프로세스들간의대화를위해서는, 운영체제가이해할수있는프리미티브 primitive 형태로오브젝트를분해하고여러분을위해프로세스의경계를넘어서오브젝트를마샬링marshalling 할필요가있다. 마샬링을하기위한코드를작성하는것은복잡하다. 그래서우리는여러분을위해그것을해주는 AIDL 툴tool을제공한다. AIDL(Android Interface Definition Language, 안드로이드인터페이스정의언어 ) 은안드로이드디바이스에서두개의프로세스가 IPC(Interprocess Communication, 프로세스간통신 ) 를사용해서대화할수있는코드를작성하는데사용되는 IDL 언어이다. 만약여러분이다른프로세스 ( 예를들어서비스 ) 에있는오브젝트의메쏘드를호출해야하는하나의프로세스 ( 예를들어액티비티 ) 내에코드를가지고있다면, 파라메터를먀샬링하는코드를생성하는 AIDL 을사용하면된다. AIDL IPC 메커니즘은 COM 또는 Corba 와유사하지만, 보다가벼운인터페이 스에기반하고있다. 이메커니즘은클라이언트와그것의구현 implementation 간에 값을전달하기위해프록시클래스를사용한다. AIDL 을사용해서 IPC 구현하기 AIDL 을사용해서 IPC 서비스를구현하기위해서는아래의스텝을따라라. 1. 여러분의.aidl 파일을생성하라 이파일은클라이언트에서사용가능한메 쏘드들과필드들을정의하는인터페이스 (YourInterface.aidl) 를정의한다. 370 ㅣ 14 장

22 15. 애플리케이션사인하기 (Signing) 이문서는모바일디바이스사용자들에게여러분의안드로이드애플리케이션을 배포하기이전에사인하는것에대한정보를제공한다. 개요 안드로이드시스템은설치된모든애플리케이션이인증서를사용해서디지털적으로사인될것을요구한다. 그인증서의개인키private key는애플리케이션의개발자에의해보유된다. 시스템은그인증서를사용자가어떤애플리케이션을설치할수있는지를제어하기위해서라기보다는, 애플리케이션의제작자를식별하고애플리케이션들간의신뢰관계를확립하기위한수단으로사용한다. 인증서는인증당국authority에의해사인될필요는없다 : 안드로이드애플리케이션은자체적으로사인된인증서사용이완전히허용되며, 그렇게하는것이일반적이다. 안드로이드애플리케이션에사인하는것을이해하는데중요한점은다음과같다. 모든애플리케이션은사인되어야한다. 시스템은사인되지않은애플리케이션은설치하지않을것이다. 여러분은애플리케이션에사인하기위해자체적으로사인한인증서를사용할수있다. 인증당국은필요하지않다. 여려분의애플리케이션을배포할준비가되었을때여러분의애플리케이션을알맞은개인키로사인해야한다. 여러분은 SDK 툴tool에의해생성한디폴트키로사인된애플리케이션을배포할수없다. 시스템은인스톨시점에만사인한사람의인증서만료날짜를테스트한다. 사인된애플리케이션의인증서가애플리케이션이설치된이후에만료되더라도애플리케이션은정상적으로동작할것이다. 여러분은키를생성하고여러분의애플리케이션.apk 파일에사인하기위해서 386 ㅣ 15 장

23 16. 애플리케이션버전부여 버전을부여하는것은여러분의애플리케이션을업그레이드 / 유지보수하기위한 전략의중요한요소이다. 사용자는자신들의디바이스에설치되는애플리케이션버전와설치가가능한업그레이드버전에대한분명한정보를가지는것이필요하다. 다른애플리케이션들은 - 여러분이하나의묶음으로써배포하는다른애플리케이션들을포함함 - 호환성을결정하고의존도를확인하기위해, 시스템에애플리케이션버전을쿼리하는것이필요하다. 여러분의애플리케이션을배포할때사용하는서비스는사용자에게그버전을보여줄수도있도록하기위해그것의버전을여러분의애플리케이션에게질의할필요가있다. 또한배포서비스는호환성을결정하고업그레이드 / 다운그레이드관계를확립하기위해서애플리케이션버전을체크할필요가있을수도있다. 안드로이드시스템은업그레이드, 호환성, 그리고기타등등에대한제약을강제하는enforce 것과같은애플리케이션에대한애플리케이션버전정보를체크하지는않는다. 대신에사용자나애플리케이션스스로가애플리케이션에대한임의의버전제약을강제하는것에대해책임을진다. 안드로이드시스템은애플리케이션의매니페스트의 minsdkversion 애트리뷰트에나타나는시스템버전호환성을체크한다. 이것은애플리케이션이호환가능한최소한의시스템 API를지정하는것을허용한다. 더많은정보는 16 장. 애플리케이션버전부여하기의최소시스템 API 버전지정하기를보라. 400 ㅣ 11 장

24 17. 배포하기위한준비 : 체크리스트 애플리케이션을배포한다는것은그것을테스트하고적절하게패키징하고안드로 이드모바일디바이스사용자들에게사용가능하도록만든다는것을의미한다. 만약여러분이안드로이드디바이스에설치가가능하도록여러분의애플리케이션을배포하려고한다면, 여러분의배포준비된애플리케이션을얻기위해해야할여러가지일들이있다. 이문서는성공적인릴리지를위해여러분의애플리케이션을준비하는것에대한중요한체크포인트이다. 만약여러분이안드로이드마켓에애플리케이션을배포하고자한다면, 여러분의 애플리케이션을위한구체적준비요구사항을위해 18 장. 애플리케이션배포하기 에서안드로이드마켓에배포하기를보라. 애플리케이션을배포하는방법에대한일반적인정보는 18 장. 애플리케이션배포 하기를보라. 여러분이애플리케이션릴리지준비를고려하기전. 1. 실제디바이스에서여러분의애플리케이션을광범위하게테스트하라. 2. 여러분의애플리케이션에최종사용자라이센스동의를추가하는것을고려하라. 3. 애플리케이션의매니페스트에아이콘과라벨을지정하라. 4. 로깅과디버깅을끄고, 데이터 / 파일들을정리하라. 여러분이애플리케이션의최종컴파일을하기전. 5. 여러분의애플리케이션에버전을부여하라. 6. 알맞은암호키key를얻어라. 406 ㅣ 17 장

25 18. 애플리케이션배포하기 애플리케이션을배포한다는것은애플리케이션을적절하게테스트하고패키지하 며그것을안드로이드모바일디바이스사용자들에게다운로드또는사이드로드 sideload 할수있도록만드는것을의미한다. 만약여러분이 17 장. 배포하기위한준비에적힌단계들을따랐다면, 그결과는여러분의릴리즈개인키private key를가지고사인된컴파일된.apk 파일이다. 그.apk 내부에서, 애플리케이션은정확하게버전화되어있으며임의의맵뷰 MapView 엘리먼트들은.apk 를사인하기위해사용된것과동일한인증서의 MD5 fingerprint 를등록하여얻은맵 API 키Key를레퍼런스한다. 여러분의애플리케이션은이제배포할준비가되었다. 아래의섹션들은모바일디바이스사용자들에게여러분의안드로이드애플리케이션을배포하는것에관한정보를제공한다. 안드로이드마켓에배포하기 안드로이드마켓은사용자가자신들의안드로이드디바이스에안드로이드애플리케이션을쉽게찾아서다운로드할수있고개발자들에게는안드로이드사용자들에게애플리케이션을쉽게배포할수있는호스트서비스이다. 안드로이드마켓에서여러분의애플리케이션을배포하고자한다면, 여러분은먼저구글계정을사용해서서비스에등록하고서비스규정에동의해야한다. 일단여러분이마켓에등록되면, 원할때면언제라도원하는횟수만큼서비스에애플리케이션을업로드할수있으며, 그런다음여러분이준비될때그것을배포할수있다. 일단배포가되면, 사용자들은그들의안드로이드디바이스에설치된마켓애플리케이션을사용해서애플리케이션을보고, 다운로드받고, 평가할수있다. 414 ㅣ 18 장

26 19. 성능을위한설계 안드로이드애플리케이션은빨라야한다. 아마도그것은안드로이드애플리케이션이효율적이어야한다고말하는것이더정확할것이다. 즉, 그것은제한된컴퓨팅파워와데이터저장공간, 더작은스크린, 그리고한정적인배터리수명을가진모바일디바이스환경에서가능한한효율적으로실행되여야한다. 여러분이애플리케이션을개발할때, 여러분의듀얼코아개발컴퓨터에서실행되는여러분의애뮬레이터에서는그애플리케이션이충분히잘동작할지라도, 그것이모바일디바이스에서실행될때는그렇게잘동작하지않을지도모른다 - 심지어가장강력한모바일디바이스라도보통의데스크탑시스템의성능과일치할수는없다. 이런이유로, 여러분은다양한모바일디바이스에서가능한최고의성능을낼수있도록효율적인코드를작성하기위해노력해야한다. 일반적으로말해서, 빠르거나효율적인코드를작성한다는것은최소한의메모리할당을유지하고, 타이트한 tight 코드를작성하고, 그리고미묘하게성능이떨어질수있는어떤언어와프로그래밍문구를피하는것이다. 오브젝트 -오리엔티드object-oriented한조건에서, 이러한대부분의작업은메쏘드레벨의코드라인의실제순서, 루프, 그리고기타등등에서일어난다. 이문서는아래의토픽을다룬다. 소개 오브젝트를생성하는것을피하라. 네이티브메쏘드들을사용하라. 인터페이스 (Interface) 보다버추얼 (Virtual) 을선호하라. 버추얼 (Virtual) 보다정적 (Static) 을선호하라. 내부적인 Getters/Setters를피하라. 캐쉬필드룩업 (Lookup) 420 ㅣ 19 장

27 20. 응답성을위한설계 세상의모든성능테스트에서승리하는코드를작성하는것은가능하다. 그러나사용자가애플리케이션을사용하려할때그것은여전히사용자를거세게화나게하는것도가능하다. 이것들은충분하게응답하지않는애플리케이션들이다 느리다고느끼게하거나, 상당한기간동안동작하지않거나너무시간이오래걸려입력을처리하지못하는애플리케이션들이그것이다. 안드로이드에서, 시스템은사용자에게 ANR( 애플리케이션이응답하지않는다. Application Not Responding) 다이얼로그라고불리는하나의다이얼로그를사용자에게보여줌으로써일정한시간동안불충분하게응답하는애플리케이션을감시한다. 사용자는애플리케이션이계속되도록선택할수는있지만, 여러분의애플리케이션을사용할때마다이러한다이얼로그에대응해야하는것을좋게생각하지않을것이다. 그러므로시스템이사용자에게결코 ANR을표시하지않도록여러분의애플리케이션에응답성 responsiveness을디자인하는것은중요하다. 일반적으로시스템은애플리케이션이사용자입력에응답할수없을때 ANR을보여준다. 예를들어만약하나의애플리케이션이어떤 I/O 오퍼레이션 ( 자주네트워크접속 ) 상에서멈춘다면, 그러면메인애플리케이션쓰레드는들어오는사용자입력이벤트를처리할수없게될것이다. 일정시간이흐른뒤에, 시스템은애플리케이션이움직이지않는상태가되었다고결론내린다. 그리고사용자에게애플리케이션을강제종료시킬수있는옵션을주기위해 ANR을보여준다. 유사하게, 여러분의애플리케이션이복잡한메모리내의구조를만들거나, 또는게임에서다음번이동을계산하는데너무많은시간을사용한다면, 시스템은여러분의애플리케이션이움직이지않는상태라고결론내릴것이다. 위의테크닉을사용해서이러한계산을효율적으로만드는것은항상중요하다. 그러나가장효율적인코드조차도실행하는데는여전히시간이걸린다. 436 ㅣ 20 장

28 21. 무결절성을위한설계 여러분의애플리케이션이빠르고응답이좋다할지라도, 어떤디자인결정들은여전히사용자에게문제를야기시킬수있다 - 다른애플리케이션또는다이얼로그와계획되지않은상호작용, 데이터의부주의한손실, 의도되지않은멈춤, 기타등등때문에그럴수있다. 이러한문제점을피하기위해, 여러분의애플리케이션이실행되고여러분의애플리케이션에영향을줄수있는시스템상호작용들에있는컨텍스트를이해하는것이도움이된다. 간략하게말하자면, 여러분은시스템그리고다른애플리케이션과끊김없이상호작용하는애플리케이션을개발하기위해노력해야한다. 일반적인무결절성문제는하나의애플리케이션의백그라운드프로세스 - 예를들어서비스또는브로드캐스트리시버 가어떤이벤트에응답하는다이얼로그를팝업할때이다. 이러한현상은특히여러분이애플리케이션을에뮬레이터상에서독립적으로빌드하고테스트할때에는해가없는것처럼보일수도있다. 하지만여러분의애플리케이션이실제디바이스상에서실행될때, 여러분의애플리케이션은백그라운드프로세스가다이알로그를보여줄때사용자포커스를가지지않을수도있다. 그러므로그것은실제동작하는애플리케이션뒤에서그것의다이얼로그를보여줄여러분의애플리케이션을끝낼수있다. 또한그것은현재의애플리케이션으로부터포커스를얻을수도있으며사용자가무엇을하고있던지상관없이 ( 예를들어전화를거는것과같은 ) 그앞에다이얼로그를보여줄수있다. 이러한행동은여러분의애플리케이션또는사용자에게는영향을미치지않을것이다. 이러한문제점을피하기위해, 여러분의애플리케이션은사용자에게노티피케이션을주기위한적절한시스템설비 노티피케이션 Notification 클래스를사용해야한다. 노티피케이션을사용할때, 여러분의애플리케이션은포커스를가져가서사용자를방해하기보다는상태바 status bar에아이콘을보여줌으로써사용자에게이벤트가발생했음을알려줄수있다. 442 ㅣ 21 장

29 22. 용어집 용어집 아래의리스트는안드로이드플랫폼의기본적인용어들을정의하고있다..apk 파일 (.apk file) 안드로이드애플리케이션패키지파일. 각각의안드로이드애플리케이션은컴파일되어하나의파일로패키지된다. 그것은애플리케이션의코드 (.dex 파일 ), 리소스, 에셋, 그리고매니페스트파일모두를포함하고있다. 애플리케이션패키지파일은어떠한이름도가질수있지만.apk 확장자를사용해야만한다. 예를들어 : myexampleappname.apk. 편의상, 애플리케이션패키지파일은종종.apk 로언급된다. 관련 : Application.dex 파일 (.dex file) 컴파일된안드로이드애플리케이션코드파일. 안드로이드프로그램은.dex (Dalvik Executable) 파일로컴파일된다. 그것은디바이스상의하나의.apk 파일내에 zip 으로압축된다..dex 파일들은자바프로그래밍언어로작성된컴파일된애플리케이션을자동적으로변환함으로써생성된다. 액션 (Action) 인텐트Intent를발송하는것이수행하길원하는어떤것에대한설명. 액션 Action은인텐트에할당된문자열값이다. 액션문자열들은안드로이드또는제3의개발자에의해정의될수있다. 예를들어웹 URL에대한 android. intent.action.view, 또는폰을진동시키는커스텀애플리케이션에대한 com.example.rumbler.shake_phone 이있다. 관련 : Intent 452 ㅣ 22 장

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

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 애플리케이션기초 애플리케이션컴포넌트 액티비티와태스크 Part 1 프로세스와쓰레드 컴포넌트생명주기 Part 2 2 Library Java (classes) aapk.apk (android package) identifiers Resource & Configuration aapk: android

More information

Microsoft PowerPoint App Fundamentals[Part1].pptx

Microsoft PowerPoint App Fundamentals[Part1].pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 2 HangulKeyboard.apkapk 파일을다운로드 안드로이드 SDK 의 tools 경로아래에복사한후, 도스상에서다음과같이 adb 명령어수행 adb install HangulKeyboard.apk 이클립스에서에뮬레이터를구동 에뮬레이터메인화면에서다음과같이이동 메뉴버튼 설정 언어및키보드

More information

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

Microsoft PowerPoint Android-구조.애플리케이션 기초(1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 안드로이드정의및아키텍처 안드로이드커널접근 애플리케이션기초및컴포넌트 2 안드로이드는운영체제 (operating system), 미들웨어 (middleware), 핵심애플리케이션들 (key applications) 을포함하고있는모바일디바이스를위한소프트웨어스택 (software stack)

More information

Microsoft PowerPoint App Fundamentals[Part2].pptx

Microsoft PowerPoint App Fundamentals[Part2].pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 애플리케이션기초 Part 1 애플리케이션컴포넌트 액티비티와태스크 프로세스와쓰레드 컴포넌트생명주기 Part 2 2 태스크는명시적으로정의 / 선언하는것이아니라, 주어진목적을위해 현재수행되고있는액티비티들의스택이다. 예를들어, 어떤액티비티가특정위치상의시가지지도를보여주고자한다하자. 해당액티비티는안드로이드에이미존재하는맵뷰어액티비티를실행

More information

슬라이드 1

슬라이드 1 Android Mobile Application Development Part 1 Agenda Part 1 About Android Build Develop Environment Create new Project Composition of Project Simulate Application Part 2 User Interface Activity Toast Preference

More information

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

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx) w w w. g b t e c. c o. k r 6 안드로이드 App 적용하기 115 1. 안드로이드개요 모바일 OS 의종류 - 스마트폰 : 스마트폰운영체제탑재 애플의 IOS(iPhone OS) - 아이폰, 아이패드, 아이팟터치 구글의안드로이드 - Nexus, 갤럭시 A, S, 모토로이, 시리우스,... MS 의윈도우모바일 ( 윈도우폰 7) - 옴니아 2,

More information

1부

1부 PART 1 2 PART 01 _ SECTION 01 API NOTE SECTION 02 3 SECTION 02 GPL Apache2 NOTE 4 PART 01 _ SECTION 03 (Proyo) 2 2 2 1 2 2 : 2 2 Dalvik JIT(Just In Time) CPU 2~5 2~3 : (Adobe Flash) (Air) : SD : : : SECTION

More information

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

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 UI 이벤트 Event listener Touch mode Focus handling Notification Basic toast notification Customized toast notification Status bar notification 2 사용자가인터랙션하는특정 View

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

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

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드] Google Map View 구현 학습목표 교육목표 Google Map View 구현 Google Map 지원 Emulator 생성 Google Map API Key 위도 / 경도구하기 위도 / 경도에따른 Google Map View 구현 Zoom Controller 구현 Google Map View (1) () Google g Map View 기능 Google

More information

android_training_course_for_app_developer_by_kandroid.xls

android_training_course_for_app_developer_by_kandroid.xls Android Training Course : App. Developer (제1기 수강생 모집) - 주최 : www.kandroid.org - 교육 프로그램 개요 일시 장소 수용인원 준비물 H/W 준비물 S/W 강사 대상 수강료 연락처 2009년 4월 20일(월) ~ 4월 24일(금), 오전 9시 ~ 오후 4시 JSCampus (역삼역 1번 출구 신웅타워 15층)

More information

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

1) 리눅스커널 메모리관리, 프로세스관리, 파일시스템관리, 네트워크스택등하드웨어지원 2) Native 라이브러리 (C, C++) 안드로이드프레임워크에서필요한 C 와 C++ 라이브러리 3) 안드로이드런타임 코어라이브러리지원, Dalvik Virtual Machine 으로 1. 안드로이드란무엇인가? 안드로이드는구글을중심으로한 OHA(Open Handset Alliance) 컨소시엄에서만든최초의오픈소 스모바일애플리케이션플랫폼 리눅스커널을기반으로한운영체제, 풍부한 UI(user Interface), 다양한애플리케이션, 라이브러리, 애플리케이션프레임워크, 멀티미디어지원등의구성요소들을포함하며휴대전화기능도포함 되어있다. 운영체제와연관된컴포넌트들은

More information

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

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

안드로이드 서비스

안드로이드 서비스 Android Service Team 4 20100031 강혜주 20100220 김소라 20100357 김진용 Contents Android Service 01 안드로이드서비스 02 사용이유 03 안드로이드서비스예 04 안드로이드서비스분류 Application Service 05 애플리케이션서비스 06 두가지방법 07 서비스생명주기 08 애플리케이션서비스분류

More information

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

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN

More information

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

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

슬라이드 1

슬라이드 1 모바일소프트웨어프로젝트 지도 API 1 조 20070216 김성수 20070383 김혜준 20070965 이윤상 20071335 최진 1 매시업? 공개 API? 2 매시업 웹으로제공하고있는정보와서비스를융합하여새로운소프트웨어나서비스, 데이터베이스등을만드는것 < 최초의매시업 > 3 공개 API 누구나사용할수있도록공개된 API 지도, 검색등다양한서비스들에서제공 대표적인예

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

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

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas

More information

View Licenses and Services (customer)

View Licenses and Services (customer) 빠른 빠른 시작: 시작: 라이선스, 라이선스, 서비스 서비스 및 주문 주문 이력 이력 보기 보기 고객 가이드 Microsoft 비즈니스 센터의 라이선스, 서비스 및 혜택 섹션을 통해 라이선스, 온라인 서비스, 구매 기록 (주문 기록)을 볼 수 있습니다. 시작하려면, 비즈니스 센터에 로그인하여 상단 메뉴에서 재고를 선택한 후 내 재고 관리를 선택하십시오. 목차

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

서현수

서현수 Introduction to TIZEN SDK UI Builder S-Core 서현수 2015.10.28 CONTENTS TIZEN APP 이란? TIZEN SDK UI Builder 소개 TIZEN APP 개발방법 UI Builder 기능 UI Builder 사용방법 실전, TIZEN APP 개발시작하기 마침 TIZEN APP? TIZEN APP 이란? Mobile,

More information

슬라이드 1

슬라이드 1 10. 위치기반서비스 시작하면서 2 목차 위치정보출력 요구기준에의한위치정보조회 지오코딩 MapView와 MapActivity Maps API 키발급 위치정보출력 위치정보출력 4 위치정보제공 GPS 무선 LAN 이동통신망 위치기반서비스 android.location 패키지 휴대단말의위치를얻기위한클래스를포함 위치정보는지리적좌표 ( 위도와경도 ) 사용 위치정보와주소정보를변환하는

More information

PowerPoint Template

PowerPoint Template 01. 안드로이드개요와 개발환경구축 01 안드로이드의개요 02 안드로이드의개발환경 03 안드로이드의개발환경구축 1. 안드로이드개요 스마트폰개요 스마트폰 통화기능 + 컴퓨터 + 다양한기능내장 (MP3, 카메라, DMB, GPS 등 ) 스마트폰역사 1992년 IBM사의사이먼 ( 최초 ) 1996년노키아 9000 2002년마이크로소프트포켓PC 2007년아이폰 2008년안드로이드폰

More information

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

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse

More information

안전을 위한 주의사항 2 경고 상세내용 4 SMP 이용자 7대 안전수칙 6 불법조작금지 6 Dolby, DTS, SRS, DivX 7 사용자 설명서 가이드 10 구성품 확인 12 각 부분의 명칭과 기능 13 SMP의 올바른 사용법 14 구성품 사용안내 14 SMP 전원 켜기/끄기 16 터치스크린 사용안내 17 통신환경 설정 20 SMP 시작하기 22 홈 스크린

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

Microsoft PowerPoint - 권장 사양

Microsoft PowerPoint - 권장 사양 Autodesk 제품컴퓨터사양 PRONETSOFT.CO 박경현 1 AutoCAD 시스템사양 시스템요구사양 32 비트 AutoCAD 2009 를위한시스템요구사항 Intel Pentium 4 프로세서 2.2GHz 이상, 또는 Intel 또는 AMD 듀얼 코어프로세서 16GH 1.6GHz 이상 Microsoft Windows Vista, Windows XP Home

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

슬라이드 제목 없음

슬라이드 제목 없음 뷰와시스템카탈로그 관계데이터베이스시스템의뷰 (view) 는다른릴레이션으로부터유도된릴레이션 (derived relation) 으로서 ANSI/SPARC 3단계아키텍처의외부뷰와다름 뷰는관계데이터베이스시스템에서데이터베이스의보안메카니즘으로서, 복잡한질의를간단하게표현하는수단으로서, 데이터독립성을높이기위해서사용됨 시스템카탈로그는시스템내의객체 ( 기본릴레이션, 뷰, 인덱스,

More information

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

Microsoft Word - windows server 2003 수동설치_non pro support_.doc Windows Server 2003 수동 설치 가이드 INDEX 운영체제 설치 준비과정 1 드라이버를 위한 플로피 디스크 작성 2 드라이버를 위한 USB 메모리 작성 7 운영체제 설치 과정 14 Boot Sequence 변경 14 컨트롤러 드라이버 수동 설치 15 운영체제 설치 17 운영체제 설치 준비 과정 Windows Server 2003 에는 기본적으로

More information

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

모바일 안드로이드 아키텍처 2017( 제 10 회 ) 한국소프트웨어아키텍트대회 2017. 7. 20. 티온소프트김수현 shkim.hi@gmail.com 목차 1 Android OS Layer Architecture 2 Android Technical Architecture 3 Android Multimedia Architecture 2 Android OS Layer Architecture

More information

Microsoft Word - src.doc

Microsoft Word - src.doc IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...

More information

THE TITLE

THE TITLE Android System & Launcher Team 8 목차 Android 1) Android Feature 2) Android Architecture 3) Android 개발방법 4) Android Booting Process Dalvik 1) Dalvik VM 2) Dalvik VM Instance Application 1) Application Package

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Hello Android Jo, Heeseung Contents HelloAndroid program AVD 명칭과사용법안드로이드응용프로그램작성안드로이드프로젝트구성 2 처음만드는 [Hello Android] 프로그램 3 처음만드는 [Hello Android] 프로그램 이클립스메뉴 [File]-[New]-[Project] 를선택 [New Project] 창에서

More information

Windows 10 General Announcement v1.0-KO

Windows 10 General Announcement v1.0-KO Windows 10 Fuji Xerox 장비와의호환성 v1.0 7 July, 2015 머리말 Microsoft 는 Windows 10 이 Windows 자동업데이트기능을통해예약되어질수있다고 6 월 1 일발표했다. 고객들은 윈도우 10 공지알림을받기 를표시하는새로운아이콘을알아차릴수있습니다. Fuji Xerox 는 Microsoft 에서가장최신운영시스템인 Windows

More information

Secure Programming Lecture1 : Introduction

Secure Programming Lecture1 : Introduction Malware and Vulnerability Analysis Lecture3-2 Malware Analysis #3-2 Agenda 안드로이드악성코드분석 악성코드분석 안드로이드악성코드정적분석 APK 추출 #1 adb 명령 안드로이드에설치된패키지리스트추출 adb shell pm list packages v0nui-macbook-pro-2:lecture3 v0n$

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

SBR-100S User Manual

SBR-100S User Manual ( 1 / 13 ) SBR-100S 모델에 대한 사용자 펌웨어 업그레이드 방법을 안내해 드립니다. SBR-100S 는 신규 펌웨어가 있을시 FOTA(자동업데이트) 기능을 통하여 자동 업그레이드가 되며, 필요시 사용자가 신규 펌웨어를 다운받아 수동으로 업그레이드 할 수 있습니다. 1. 준비하기 1.1 연결 장치 준비 펌웨어 업그레이드를 위해서는 SBR-100S

More information

07(876-880) CPLV12-35.hwp

07(876-880) CPLV12-35.hwp 876 정보과학회논문지 : 컴퓨팅의 실제 및 레터 제 18 권 제 12 호(2012.12) 안드로이드 애플리케이션의 UI 단위 테스트 방법 (Unit Test Method for UI of Android Applications) 윤 상 필 서 용 진 (Sangpil Yun) (Yongjin Seo) 고 민 혁 김 현 수 (Minhyuk Ko) (Hyeon Soo

More information

DoItAndroidAppProgramming

DoItAndroidAppProgramming Do It! 안드로이드앱프로그래밍 첫째맀당 - Chapter 04 안드로이드프로젝트와개발도구 Jun. 2013 이번장에서는무엇을다룰까요? 한번만들어보긴했지만안드로이드프로젝트에대해더알고싶어요. 안드로이드최근버젂의주요특징을알아볼까요? 이클립스에서만든프로젝트구성요소에대해알아볼까요? 애플리케이션프레임워크에대해자세히살펴볼까요? 안드로이드개발도구에는어떤것들이있는지알아볼까요?

More information

<BED5BACEBCD32E696E6464>

<BED5BACEBCD32E696E6464> www booksr co kr 3 4 2012 7 01 1. 스마트폰 16 2. 안드로이드란? 20 3. 안드로이드의특징 22 4. 안드로이드의구조 26 5. 애플리케이션의기초개념 28 6. 인텐트 35 7. 매니페스트파일 37 8. 안드로이드의미래 39 02 1. 개발과정의개요 42 2. 안드로이드개발도구 43 3. JDK 44 4. 이클립스 46 5. 안드로이드

More information

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

Microsoft PowerPoint - 02처음으로만드는(Ver 1.0) 02. 처음으로만드는안드로이드응용프로그램 IT CookBook, 안드로이드프로그래밍 학습목표 안드로이드응용프로그램의기본적인작성법을익힌다. AVD 의명칭을배운다. 안드로이드프로젝트의구성을파악한다. Page 2 차례 Page 3 1. 처음만드는 [Hello Android] 프로그램 Page 4 1. 처음만드는 [Hello Android] 프로그램 [ 실습 2-1]

More information

Microsoft PowerPoint - 04기본위젯(Ver 1.0)

Microsoft PowerPoint - 04기본위젯(Ver 1.0) 04. 기본위젯익히기 IT CookBook, 안드로이드프로그래밍 학습목표 뷰와뷰상속을이해한다. 기본위젯을다루는방법을익힌다. 안드로이드앱의기본적인프로그래밍을숙달한다. Page 3 차례 Page 4 1. 뷰의개요 뷰와뷰그룹 안드로이드화면에서실제로사용되는것은모두 View 클래스에서상속을받으며, 이러한클래스를모두 ' 위젯 '( 또는뷰 ) 이라고도부름. 위젯중에서다른위젯을담을수있는것들은주로

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 20 장패키지 이번장에서학습할내용 패키지의개념 패키지로묶는방법 패키지사용 기본패키지 유틸리티패키지 패키지는연관된클래스들을묶는기법입니다. 패키지란? 패키지 (package) : 클래스들을묶은것 자바라이브러리도패키지로구성 ( 예 ) java.net 패키지 네트워크관련라이브러리 그림 20-1. 패키지의개념 예제 패키지생성하기 Q: 만약패키지문을사용하지않은경우에는어떻게되는가?

More information

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

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

More information

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상 Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는

More information

Microsoft PowerPoint UI-Layout.Menu.pptx

Microsoft PowerPoint UI-Layout.Menu.pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 User Interface 개요 Declaring Layout Creating Menus 2 View: user interface 의기본단위 사각형 (rectangle) 영역을차지하며, 그리기및이벤트처리의기본단위이다. Widget 을생성하기위한기본클래스이다. 예 : 버튼, 텍스트창,

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

Spring Boot

Spring Boot 스프링부트 (Spring Boot) 1. 스프링부트 (Spring Boot)... 2 1-1. Spring Boot 소개... 2 1-2. Spring Boot & Maven... 2 1-3. Spring Boot & Gradle... 3 1-4. Writing the code(spring Boot main)... 4 1-5. Writing the code(commandlinerunner)...

More information

Network Programming

Network Programming Part 5 확장된 Network Programming 기술 1. Remote Procedure Call 2. Remote Method Invocation 3. Object Request Broker 2. Java RMI

More information

JDK이클립스

JDK이클립스 JDK 와이클립스설치 A. JDK 다운로드, 설치및환경설정 지금부터 JDK를다운로드받아설치하고 JDK를윈도우에서활용할수있도록환경을설정하는전과정을소개한다. 다운로드 www.oracle.com 사이트에접속하여 Downloads 메뉴를선택한후 [ 그림 1] 과같이 "Java for Developers" 를클릭한다. [ 그림 1] www.oracle.com 사이트

More information

Android Master Key Vulnerability

Android Master Key Vulnerability Android Master Key Vulnerability Android Bug 8219321 2013/08/06 http://johnzon3.tistory.com Johnzone 内容 1. 개요... 2 1.1. 취약점요약... 2 1.2. 취약점정보... 2 2. 분석... 2 2.1. 기본개념... 2 2.2. 공격방법... 4 3. 방어대책... 7

More information

wtu05_ÃÖÁ¾

wtu05_ÃÖÁ¾ 한 눈에 보는 이달의 주요 글로벌 IT 트렌드 IDG World Tech Update May C o n t e n t s Cover Story 아이패드, 태블릿 컴퓨팅 시대를 열다 Monthly News Brief 이달의 주요 글로벌 IT 뉴스 IDG Insight 개발자 관점에서 본 윈도우 폰 7 vs. 아이폰 클라우드 컴퓨팅, 불만 검증 단계 돌입 기업의

More information

슬라이드 1

슬라이드 1 개발홖경구축 시작하면서 2 목차 소프트웨어다운로드 JDK 설치및설정 안드로이드 SDK 설치및설정 이클립스설치및설정 안드로이드 SDK 둘러보기 소프트웨어다운로드 설치준비 4 필요한소프트웨어 JDK 5.0 이상 안드로이드 SDK 이클립스 다운로드할폴더생성 D:\android 폴더생성 D:\android\software 폴더생성 JDK 다운로드 5 JAVA 웹사이트접속

More information

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES ActiveX 컴포넌트가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES ActiveX 컴포넌트가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES 2012.02.18 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone 02-2108-8030 Fax 02-2108-8031 www.softbase.co.kr Copyright 2010 SOFTBase Inc. All rights reserved 목차 1 장 : ActiveX

More information

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

Microsoft PowerPoint Application Resources[Part1](2.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Concept of Resources Providing Resources Accessing Resources Resource Types 2 지금까지우리가이미보아온, 사용한 res/ 디렉토리에관한것임 리소스란문자열 (string), 이미지, 아이 콘, 레이아웃등의외부 (external)

More information

iOS5_1±³

iOS5_1±³ IDG Deep Dive ios 5 2 3 4 5 6 7 8 9 10 11 12 ios 5 토어 버튼이 상단 좌측에 추가되어 아이튠즈 스토 어의 적합한 영역으로 연결해 준다. 또한 블루투스의 원격제어 기능인 AVRCP(AV Remote Control Profile)가 1.3 버전으로 업데이 트되어 음악을 블루투스로 스트리밍할 때 트랙과 아티스트, 앨범 정보를

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

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

PathEye 공식 블로그 다운로드 받으세요!!   지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye Mobile Ver. 0.71b 2009. 3. 17 By PathEye 공식 블로그 다운로드 받으세요!! http://blog.patheye.com 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye 설치 1/3 최종 배포 버전을 다 운로드 받습니다. 다운로드된 파일은 CAB 파일입니다. CAB 파일에는

More information

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

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 개발환경구조및설치순서 JDK 설치 Eclipse 설치 안드로이드 SDK 설치 ADT(Androd Development Tools) 설치 AVD(Android Virtual Device) 생성 Hello Android! 2 Eclipse (IDE) JDK Android SDK with

More information

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

Microsoft PowerPoint - 15주차(최종).pptx 15주차 15주차. 통지, 통지 그리고 안드로이드 마켓 안 켓 학습 내용 1. 백그라운드 알림 2. 통지 출력 3. 커 커스텀 텀 통지 뷰 4. 안드로이드 마켓 백그라운드 알림 사용자와의 통신 - 프로그램의 상태나 특정 사건이 발생했음을 사용자에게 통지하고 다음 동작에 대한 질문을 하거나, 사용자에게 작업 지시를 받을 수 있는 기능이 필요함 - 활성화된 프로그램의

More information

Install stm32cubemx and st-link utility

Install stm32cubemx and st-link utility STM32CubeMX and ST-LINK Utility for STM32 Development 본문서는 ST Microelectronics 의 ARM Cortex-M 시리즈 Microcontroller 개발을위해제공되는 STM32CubeMX 와 STM32 ST-LINK Utility 프로그램의설치과정을설명합니다. 본문서는 Microsoft Windows 7

More information

디지털일안리플렉스카메라펌웨어업그레이드순서에대하여 (Mass Storage 대응기종 ) - Mac 판 - 니콘제품을애용해주셔서대단히감사합니다. 여기에서는이번다운로드대상이되는니콘디지털일안리플렉스카메라의펌웨어버전업그레이드에대해설명하고있습니다. 그리고니콘서비스센터에서의업데이트

디지털일안리플렉스카메라펌웨어업그레이드순서에대하여 (Mass Storage 대응기종 ) - Mac 판 - 니콘제품을애용해주셔서대단히감사합니다. 여기에서는이번다운로드대상이되는니콘디지털일안리플렉스카메라의펌웨어버전업그레이드에대해설명하고있습니다. 그리고니콘서비스센터에서의업데이트 디지털일안리플렉스카메라펌웨어업그레이드순서에대하여 (Mass Storage 대응기종 ) - 판 - 니콘제품을애용해주셔서대단히감사합니다. 여기에서는이번다운로드대상이되는니콘디지털일안리플렉스카메라의펌웨어버전업그레이드에대해설명하고있습니다. 그리고니콘서비스센터에서의업데이트도받고있으므로사용하시는환경등으로펌웨어를업데이트할수없는사용자는이용하여주십시오. 사용하시는카메라사용법은사용설명서를읽어주십시오.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 인터페이스 배효철 th1g@nate.com 1 목차 인터페이스의역할 인터페이스선언 인터페이스구현 인터페이스사용 타입변환과다형성 인터페이스상속 디폴트메소드와인터페이스확장 2 인터페이스의역할 인터페이스란? 개발코드와객체가서로통신하는접점 개발코드는인터페이스의메소드만알고있으면 OK 인터페이스의역할 개발코드가객체에종속되지않게 -> 객체교체할수있도록하는역할 개발코드변경없이리턴값또는실행내용이다양해질수있음

More information

ThinkVantage Fingerprint Software

ThinkVantage Fingerprint Software ThinkVantage 지문 인식 소프트웨어 First Edition (August 2005) Copyright Lenovo 2005. Portions Copyright International Business Machines Corporation 2005. All rights reserved. U.S. GOVERNMENT USERS RESTRICTED RIGHTS:

More information

RHEV 2.2 인증서 만료 확인 및 갱신

RHEV 2.2 인증서 만료 확인 및 갱신 2018/09/28 03:56 1/2 목차... 1 인증서 확인... 1 인증서 종류와 확인... 4 RHEVM CA... 5 FQDN 개인 인증서... 5 레드햇 인증서 - 코드 서명 인증서... 6 호스트 인증... 7 참고사항... 8 관련링크... 8 AllThatLinux! - http://allthatlinux.com/dokuwiki/ rhev_2.2_

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Basic Widgets Jo, Heeseung Contents 뷰의개요 기본위젯다루기 기본위젯활용하기 2 뷰의개요 안드로이드화면에서실제로사용되는것은모두 View 클래스에서상속 이러한클래스를모두 ' 위젯 ' ( 또는뷰 ) 이라고도부름 위젯중에서다른위젯을담을수있는것들은주로 ViewGroup 클래스의하위에존재 이렇게다른위젯을담을수있는클래스를레이아웃이라고함 위젯

More information

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

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

More information

vRealize Automation용 VMware Remote Console - VMware

vRealize Automation용 VMware Remote Console - VMware vrealize Automation 용 VMware Remote Console VMware Remote Console 9.0 이문서는새버전으로교체되기전까지나열된각제품버전및모든이후버전을지원합니다. 이문서에대한최신버전을확인하려면 http://www.vmware.com/kr/support/pubs 를참조하십시오. KO-002230-00 vrealize Automation

More information

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

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

More information

untitled

untitled 시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000

More information

Google Maps Android API v2

Google Maps Android API v2 Google Maps API 3 조 20080388 김현철 20080748 양태욱 20091493 김이현 Google Maps? 구글에서제공하는지도서비스 걷기, 차량두가지길찾기기능제공 최근, Open API 로현지대중교통과연동하여사용 Google Maps API? 개발자에게 Google Maps 를삽입할수있도록 Google 에서제공하는 Application

More information

Cisco FirePOWER 호환성 가이드

Cisco FirePOWER 호환성 가이드 Cisco 호환성가이드 Cisco 호환성 이문서에서는 Cisco 소프트웨어와하드웨어의호환성및요건을다룹니다. 추가 릴리스또는제품정보는다음을참조하십시오. 설명서로드맵 : http://www.cisco.com/c/en/us/td/docs/security/firesight/ roadmap/firesight-roadmap.html Cisco ASA 호환성가이드 : http://www.cisco.com/c/en/us/td/docs/security/asa/compatibility/

More information

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1 표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1 Index 1. 표준프레임워크 EGOVCI 팩키지설치... 3 1.1 개요... 3 1.2 EGOVCI 압축풀기... 3 1.3 EGOVCI 시스템구성... 3 1.4 CI 시스템구동 (START/STOP)... 4 2. NEXUS 설정정보... 6 2.1 NEXUS 서버구동

More information

Microsoft Word - 문필주.doc

Microsoft Word - 문필주.doc 포커스 포커스 모바일 광고기능을 갖는 아이폰 애플리케이션 문필주* 이요섭** 최근의 모바일 광고 시장은 이동통신사 중심의 SMS 발송 형태에서 아이폰의 등장과 앱 스토어(App Store)의 성공에 의한 콘텐츠 내의 플랫폼(App-vertising) 형태로 변해 가고 있다. 본 고에서는 모바일 광 고 아이폰 애플리케이션을 활용할 수 있는 방법에 대해 논의하고자

More information

슬라이드 1

슬라이드 1 핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton

More information

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요 . 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요소로써안드로이드시스템에서는 Activities, Services, Content Providers,

More information

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

PowerPoint Presentation

PowerPoint Presentation 언리얼엔진 4 모바일개발팁 신광섭 Developer Relations Lead / Programmer 에픽게임즈코리아 목차 Unreal Plugin Language 언리얼엔진 4 프로젝트 Android Studio 사용하기 (Java 빌드 / 디버깅 ) 모바일알려진이슈와팁 UE4 모바일지원에부족한부분은?( 피드백 ) Unreal Plugin Language

More information

PowerPoint Presentation

PowerPoint Presentation 오에스아이소프트코리아세미나세미나 2012 Copyright Copyright 2012 OSIsoft, 2012 OSIsoft, LLC. LLC. PI Coresight and Mobility Presented by Daniel Kim REGIONAL 세미나 SEMINAR 세미나 2012 2012 2 Copyright Copyright 2012 OSIsoft,

More information

고객 카드 1588-7278

고객 카드 1588-7278 고객 카드 1588-7278 i 안전을 위한 경고사항 안전을 위한 주의사항 i 헤드유닛 DISP RADIO MEDIA PHONE SEEK TRACK 헤드유닛 FOLDER MUTE SCAN SETUP 스티어링 휠 리모트 컨트롤 + - MODE 기본모드 화면 Radio 모드 변경 RADIO 라디오 주파수 검색하기 SEEK TRACK 라디오 모드 사용하기 저장방송

More information

SIGIL 완벽입문

SIGIL 완벽입문 누구나 만드는 전자책 SIGIL 을 이용해 전자책을 만들기 EPUB 전자책이 가지는 단점 EPUB이라는 포맷과 제일 많이 비교되는 포맷은 PDF라는 포맷 입니다. EPUB이 나오기 전까지 전 세계에서 가장 많이 사용되던 전자책 포맷이고, 아직도 많이 사 용되기 때문이기도 한며, 또한 PDF는 종이책 출력을 위해서도 사용되기 때문에 종이책 VS

More information

슬라이드 1

슬라이드 1 사용자인터페이스 (II) 시작하면서 2 목차 리스트뷰 : 어댑터, 어댑터뷰, 대화창 메뉴 리스트뷰 - 어댑터 Adapter 4 배열, XML 파일, 데이터베이스에서다양한종류의값을읽어오는공통의인터페이스 선택위젯에게데이터를제공, 각데이터항목들을위젯내부에표시하는위젯클래스로의변홖수행 사용자인터페이스인뷰와데이터소스를연결 Data Source: Array, XML, Database

More information

17장 클래스와 메소드

17장 클래스와 메소드 17 장클래스와메소드 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 1 / 18 학습내용 객체지향특징들객체출력 init 메소드 str 메소드연산자재정의타입기반의버전다형성 (polymorphism) 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 2 / 18 객체지향특징들 객체지향프로그래밍의특징 프로그램은객체와함수정의로구성되며대부분의계산은객체에대한연산으로표현됨객체의정의는

More information

4S 1차년도 평가 발표자료

4S 1차년도 평가 발표자료 모바일 S/W 프로그래밍 안드로이드개발환경설치 2012.09.05. 오병우 모바일공학과 JDK (Java Development Kit) SE (Standard Edition) 설치순서 Eclipse ADT (Android Development Tool) Plug-in Android SDK (Software Development Kit) SDK Components

More information

노트북 IT / 모바일 데스크탑 34 올인원PC 35 PC 소프트웨어 포터블SSD / SSD / 메모리카드 36 태블릿 37 휴대폰 39 PC 솔루션 IT / 모바일 IT / 모바일 노트북 29 삼성전자는 Windows 를 권장합니다. 삼성전자만의 편리하고 다양한 소프트웨어를 통해 초보자도 보다 쉽고 빠르게 이용 가능합니다. Easy Settings 삼성 패스트

More information

Visual Studio online Limited preview 간략하게살펴보기

Visual Studio online Limited preview 간략하게살펴보기 11월의주제 Visual Studio 2013 제대로파헤쳐보기! Visual Studio online Limited preview 간략하게살펴보기 ALM, 언제어디서나 연결된 IDE Theme와 Visual Design 편집기의강화된생산성기능들성능최적화및디버깅개선 Microsoft 계정으로 IDE에서로그인가능다양한머신사이에서개발환경유지다양한디바이스에걸쳐설정을동기화개선된

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

Chapter #01 Subject

Chapter #01  Subject Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned

More information

슬라이드 제목 없음

슬라이드 제목 없음 5.2 ER 모델 ( 계속 ) 관계와관계타입 관계는엔티티들사이에존재하는연관이나연결로서두개이상의엔티티타입들사이의사상으로생각할수있음 관계집합은동질의관계들의집합 관계타입은동질의관계들의틀 관계집합과관계타입을엄격하게구분할필요는없음 요구사항명세에서흔히동사는 ER 다이어그램에서관계로표현됨 ER 다이어그램에서다이어몬드로표기 관계타입이서로연관시키는엔티티타입들을관계타입에실선으로연결함

More information

사용하기 전에 2

사용하기 전에 2 SM-T255S 사용 설명서 www.samsung.com/sec 사용하기 전에 2 표기된 기호 설명 저작권 등록상표권 애플리케이션 호환 안내 3 4 시작하기 6 8 8 9 13 14 16 18 18 19 19 19 기본 기능 익히기 20 21 24 25 26 28 29 31 32 33 34 34 34 37 38 38 39 차례 보기 40 42 소통하기 43

More information

어댑터뷰

어댑터뷰 04 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adatper View) 란? u 어댑터뷰의항목하나는단순한문자열이나이미지뿐만아니라, 임의의뷰가될수 있음 이미지뷰 u 커스텀어댑터뷰설정절차 1 2 항목을위한 XML 레이아웃정의 어댑터정의 3 어댑터를생성하고어댑터뷰객체에연결

More information

mobile_guide_SA

mobile_guide_SA 네이버 모바일배너 모바일 네트워트 GUIDE AD GUIDE Version 1.0 03. 적용위치 04. Appendix 목차 네이버 모바일배너 개요 1. 텍스트형 광고 2. 이미지형 광고 3. 롤링형 광고 네이버 모바일배너 개요 1. 텍스트형 광고 2. 이미지형 광고 3. 롤링형 광고 01/03 네이버 모바일배너 개요 네이버 모바일배너는 네이버 모바일 서비스

More information

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

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

Straight Through Communication

Straight Through Communication 중소-중견 기업을 위한 데이터 관리 및 1-2차 백업 통합 시스템 구축 제안 V1.0 제안 배경 및 도입 장점 제안 배경 중소-중견 기업의 IT 환경에서 데이터 관리 및 백업, 모바일 오피스 및 클라우드 환경 구축을 위해 소프트웨어와 이를 구동할 서버, 스토리지, 운영체제, 보안까지 모든 것을 구축하려면 비용과 관리의 부담이 클 수 밖에 없습니다. 따라서 대부분의

More information

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

More information

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드] 리눅스 설치 Vmware를 이용한 Fedora Core 8 설치 소프트웨어실습 1 Contents 가상 머신 실습 환경 구축 Fedora Core 8 설치 가상 머신 가상 머신 가상 머신의 개념 VMware의 설치 VMware : 가상 머신 생성 VMware의 특징 실습 환경 구축 실습 환경 구축 Fedora Core 8 설치 가상 머신의 개념 가상 머신 (Virtual

More information

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

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API WAC 2.0 & Hybrid Web App 권정혁 ( @xguru ) 1 HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API Mobile Web App needs Device APIs Camera Filesystem Acclerometer Web Browser Contacts Messaging

More information