<BED5BACEBCD32E696E6464>
|
|
- 재연 목
- 6 years ago
- Views:
Transcription
1
2
3 www booksr co kr 3
4
5 01 1. 스마트폰 안드로이드란? 안드로이드의특징 안드로이드의구조 애플리케이션의기초개념 인텐트 매니페스트파일 안드로이드의미래 개발과정의개요 안드로이드개발도구 JDK 이클립스 안드로이드 SDK ADT 안드로이드에뮬레이터 에뮬레이터사용법 샘플애플리케이션실행 SDK 컴포넌트추가설치 마법사를이용한예제프로그램 약간수정하여보자 78 5
6 XML을이용하여사용자인터페이스나타내기 리소스 매니페스트파일 자동으로생성되는파일의분석 안드로이드폰을연결한개발환경구축 디버깅 이클립스사용팁 정리 사용자인터페이스개요 사용자인터페이스작성방법 비주얼도구를이용하여사용자인터페이스만들기 뷰 기초적인뷰들 레이아웃 선형레이아웃 프레임레이아웃 (FrameLayout) 테이블레이아웃 (TableLayout) 상대적레이아웃 (RelativeLayout) 절대적레이아웃 (AbsoluteLayout) 코드로레이아웃변경하기 153
7 06 1. 이벤트처리 이벤트처리메소드재정의 이벤트처리객체사용 XML을이용한이벤트처리 폼위젯 키이벤트 포커스 터치이벤트 메뉴의종류 옵션메뉴 컨텍스트메뉴 서브메뉴 대화상자 AlertDialog ProgressDialog 커스텀대화상자 그래픽 커스텀뷰를사용하여그리기 그리기속성 패스그리기 238 7
8 이미지표시하기 도형객체이용하기 애니메이션 프로퍼티애니메이션 뷰애니메이션 드로워블애니메이션 서피스뷰 (SurfaceView) 안드로이드그래픽 그래디언트 트랜스퍼모드 차원변환 영상처리 OpenGL ES OpenGL ES 예제 #1: 전체적인구조만들기 OpenGL ES 예제 #2: 삼각형정의하기 OpenGL ES 예제 #3: 삼각형그리기 OpenGL ES 예제 #4: 색상입히기 OpenGL ES 예제 #5: 삼각형회전시키기 OpenGL ES 예제 #6: 피라미드회전시키기 어댑터뷰 리스트뷰 스피너 325
9 11 4. 그리드뷰 갤러리 프로그레스바 레이팅바 데이터픽커와타임픽커 애플리케이션, 액티비티, 액티비티스택, 태스크 멀티태스킹 액티비티생애주기 액티비티상태저장 인텐트 명시적인텐트 액티비티로부터결과받기 암시적인텐트 인텐트필터 로그캣 리소스 기본리소스와대체리소스 리소스참조 지역화 보안 권한요청하기 사용자정의권한 412 9
10 서비스 서비스기초 IntentService 클래스 연결타입의서비스 방송수신자란? 애플리케이션이방송하기 중요한방송 프로세스와스레드 프로세스 스레드 스레드에서 UI를조작하는방법 게임예제 데이터를저장하는방법 공유프레퍼런스 프레퍼런스액티비티 내부공간에파일만들기 외부저장공간
11 데이터베이스 데이터베이스사용하기 데이터베이스와어댑터 콘텐트제공자 콘텐트제공자의기본 콘텐트제공자로부터데이터읽기 콘텐트제공자를이용하여데이터변경하기 콘텐트제공자에저장할수있는데이터타입 콘텐트제공자작성하기 네트워킹상태조회 웹페이지읽기 웹브라우징 서버 / 클라이언트통신 XML 처리 위치기반애플리케이션 구글 API 패키지설치
12 사용자위치파악하기 지오코딩 구글지도패키지 구글지도서비스등록 구글지도표시하기 맵뷰제어하기 지도위에표시하기 안드로이드의멀티미디어지원 오디오재생 오디오녹음 인텐트를이용한이미지캡처 Camera 클래스를이용한영상캡처 내장사진선택하기 비디오재생 비디오녹화 인텐트를사용한전화걸기와문자메시지보내기 전화상태얻기 주소록 블루투스 674
13 23 2. 블루투스설정 장치검색 장치와접속하기 센서하드웨어 방향센서 가속도센서 NFC NFC의기초 앱위젯 애플리케이션배포과정 애플리케이션서명하기 명령어로서명하기 이클립스로서명하기 애플리케이션버전 애플리케이션마켓 760 찾아보기
14
15 안드로이드프로그래밍 A n d r o i d 01CHAPTER 기초사항 1. 스마트폰 2. 안드로이드란? 3. 안드로이드의특징 6. 인텐트 7. 매니케스트파일 8. 안드로이드의미래 4. 안드로이드의구조 5. 애플리케이션의기초개념
16 01 기초사항 Android 안드로이드! 이보다더쉬울수는없을거야. 그렇다고너무안심하면아 ~ 안돼요. 기초가튼튼해야한다는것, 여러분아시죠? 1. 스마트폰 애플이아이폰을발표한이후로스마트폰은우리의일상생활을바꾸어놓았다. 우리는스마트폰을이용하여서언제어디서나인터넷에접속하여정보를얻을수있으며각종애플리케이션을실행하여서필요한작업을수행할수있고필요한데이터와영상을가지고다닐수있다. 일반적으로스마트폰은기존의휴대폰보다훨씬다양한기능을제공하는휴대폰이다. 실제로스마트폰은완전한운영체제가탑재되어있는조그마한컴퓨터라고할수있다. 따라서스마트폰에서는데스크톱컴퓨터처럼사용자가애플리케이션을설치하고실행할수있다. 16
17 기초사항 01 CHAPTER 언제어디서나인터넷을할수있다니! 그림 1.1 스마트폰은우리의일상을변화시키고있다. 모바일운영체제 스마트폰에탑재되는애플리케이션을개발하는개발자의입장에서는가장중요한것이운영체제이다. 왜냐하면운영체제에따라서애플리케이션의구조가완전히달라지기때문이다. 반대로하드웨어가다르더라도운영체제가같으면동일한애플리케이션을실행할수있다. 현재스마트폰운영체제로사용되는것은구글의안드로이드, 애플의 ios, 노키아의심비안 (Symbian), RIM의블랙베리 OS, 마이크로소프트의윈도폰 7 등이있다. 2011년도 2분기의세계시장분포를보면다음과같다. 모바일운영체제의비교 2% 2% RIM 12% Symbian Windows Mobile Android 43% Apple 18% Symbian 22% Andfoid Other Apple RIM 최근에많이사용되는안드로이드, ios, 윈도폰운영체제를 [ 표 1.1] 로비교하였다. 그림 분기전세계스마트폰운영체제의점유율 ( 출처 : 가트너자료 ): 전세계적으로안드로이드운영체제가 2009 년도에 4% 를차지하였으나 2011 년에는 43% 로높아졌음을알수있다. 그동안점유율에서수위를차지하였던노키아의심비안은점유율이점차하락할것으로예상된다. 노키아는심비안을포기하고마이크로소프트의윈도폰 7 을자사의스마트폰의운영체제로채택하기로결정한바있다. 17
18 안드로이드프로그래밍 표 1.1 모바일운영체제비교 안드로이드 ios 윈도폰 제조사 Google Inc., Apple Inc. Microsoft Corporation 개발언어 Java, C C, C++, Objective-C C#, Visual Basic, XAML 배포일 최신버전 4.1(Jelly Bean) ios 6.0 플랫폼 ARM, MIPS, x86 ARM Windows Phone 8.0(Apollo) ARM v7 Snapdragon QSD8X50 커널리눅스 Hybrid(Darwin).NET Framework 4 라이선스 Apache 2.0 Proprietary Proprietary 웹사이트 android.com apple.com/ios windowsphone7.com 사용자인터페이스 그래픽사용자인터페이스 Cocoa Touch(Multitouch, GUI) Live Tile 안드로이드 (android) 는구글에의하여개발되고배포되는운영체제이다. 안드로이드는리눅스커널을사용한다. 리눅스커널위에는자바코드를해석해주는가상머신이탑재되어있다. 이가상머신위에서거의모든자바라이브러리들이지원된다. 이자바라이브러리들을이용하여서개발자들은애플리케이션을작성하게된다. 당연히개발자들이사용하는언어는자바가된다. 자바언어의간결성과풍부한라이브러리로인하여안드로이드는다양한애플리케이션을작성할수있는강력한플랫폼이되었다. 안드로이드는자원이매우제한되어있는모바일장치를위한운영체제이지만개발자들은마치데스크톱에서처럼데이터베이스나 3차원그래픽등의많은기능들을유사하게사용할수있다. ios는애플의스마트폰인아이폰과아이팟터치, 아이패드에내장되어있는운영체제이다. 내부적으로는 Mac OS X 10.5 를기반으로만들어져있다. 멀티터치를지원하는코코아라고불리는사용자인터페이스를지원하고있다. 윈도폰 7은마이크로소프트의스마트폰을위한운영체제이다. 음악과동영상서비스를위하여 June을탑재하였으며, 검색엔진으로 Bing을사용하고엑스박스라이브가내장되어있다. 응용소프트웨어를나열하는기존의사용자인터페이스환경이아닌허브 (Hub) 를통해응용프로그램들이연결되어서라이브타일형식으로제공된다. 18
19 기초사항 01 CHAPTER 그림 1.3 모바일운영체제비교 (a) 안드로이드 (b) 윈도폰 (c) 아이폰 애플리케이션마켓 스마트폰이기존의휴대폰과다른점은사용자가 PC를사용하지않고무선으로애플리케이션을마켓에서다운로드하여서자신의스마트폰안에설치할수있다는점이다. 마켓을사용하게되면애플리케이션의업그레이드도매우쉽게이루어진다. 기존의데스크탑에서도인터넷에서애플리케이션을구입하여서다운로드하여설치할수있었지만개발자와사용자들이직접만나서거래하는지금의마켓개념은아니었다. 애플사에서처음으로개발자들과사용자들이만나서거래를할수있는애플리케이션마켓이라는새로운개념을창안하였다. 안드로이드도애플리케이션을거래할수있는마켓을지원한다. 안드로이드마켓은 구글플레이 라는이름으로 play.google.com/ 에위치하고있다. 그림 1.4 안드로이드마켓의개념 개발자 마켓 소비자 19
20 안드로이드프로그래밍 사용자들은안드로이드마켓을통하여많은애플리케이션들을다운로드할수있다. 이애플리케이션들은스마트폰의기능을확장하는역할을한다. 현재까지약 200,000개이상의안드로이드용애플리케이션이개발되었다. 물론애플리케이션들은안드로이드마켓이아닌써드파티사이트를통해서도다운로드가가능하다. 안드로이드는과연휴대폰에서무엇을할까요? 2. 안드로이드란? 안드로이드의기능 안드로이드는현재수백만대의스마트폰, 태블릿에탑재되어있다. 안드로이드는빠른속도의웹브라우저, 멀티태스킹, 클라우드컴퓨팅기능, 다른장치와쉽게연결하여서공유하는기능등을제공하는모바일운영체제이다. 버전 4.0 에서새로추가된기능만을살펴보면다음과같다. 보이스타이핑은음성인식을이용하여서명령을내리거나이메일을작성할수있는기능이다. 안드로이드빔은 NFC(Near Field Communication) 을이용하여서연락처나웹페이지, 비디오등을쉽게다른장치와공유하는기능이다. 페이스언락은얼굴인식기능을이용하여서장치의잠금을풀수있는기능이다. 보이스타이핑 (voice typing) 안드로이드빔 (android beam) 페이스언락 (face unlock) 안드로이드의역사 안드로이드의역사를간단하게살펴보자. 안드로이드가등장하기전까지는윈도우모바일이나심비안등의휴대폰운영체제가있었으나빈약한라이브러리, 잦은오류, 저성능등의많은문제점들이있었다. 구글은데스크톱에서의검색엔진이라는기존의한계를벗어나기위하여모바일시장으로의진입을엿본다. 구글의목표는오픈소스로작성되고개방된고성능의개발프레임워크였다. 2005년에구글은안드로이드주식회사를인수하게된다. 안드로이드주식회사는캘리포니아에있는작은 20
21 기초사항 01 CHAPTER 벤처기업이었다. 안드로이드주식회사의설립자중의한명이었던앤디루빈등은인수된후에구글에서일하게된다. 구글에서앤드루빈이이끄는팀은리눅스커널에기반을둔모바일장치플랫폼을개발한다. 2007년 11월 5일에구글은삼성전자, 텍사스인스트루먼트, 모토로라등으로구성된 OHA(Open Handset Alliance) 라는컨소시엄을구성한다. 이컨소시엄은모바일장치를위한오픈표준을개발하려는목적을가지고있었다. OHA는설립과동시에첫번째작품인안드로이드 SDK 1.0 버전을발표하는데이것은리눅스커널버전 2.6 위에구축된모바일장치플랫폼이었다. 안드로이드플랫폼을탑재한최초의스마트폰은대만의 HTC가만들어서이동통신사 T_Mobile에납품한 G1이었다. 이어서우리가알다시피삼성전자의갤럭시 s를비롯하여수많은안드로이드폰들이출시되었다. 안드로이드라이선스 구글은안드로이드소스를아파치라이센스로공표한다. 아파치라이선스 (Apache License) 는 ASF(Apache Software Foundation) 에의하여기술된무료소프트웨어라이선스로서저작권표시는요구하지만해당소스코드를가지고무료또는상업적인소프트웨어를개발할수있는라이선스를의미한다. 즉이것은스마트폰제조사들이안드로이드를탑재하는데라이선스비용을지불할필요가없음을의미한다. 또한개발자들은안드로이드를기반으로비공개파생물을만들수있으며이것을통하여이득을얻을수있다. 안드로이드버전 안드로이드는 1.0 버전이후에많은업데이트를거쳤다. 사실은너무많은업데이트가있어서제조업체의불만이기도하다. 이것은또한구글이최신의기술들을안드로이드로빠르게도입하고있음을의미한다. 안드로이드버전에붙여지는이름은알파벳문자로시작되는디저트의이름이다. 예를들어서버전 2.3 의진저브레드는 생강빵 을의미한다. 간단하게최근버전의특징을 [ 표 1.2] 에서살펴보았다. 21
22 안드로이드프로그래밍 표 1.2 안드로이드버전요약 이미지버전발표일특징 2.3 (Gingerbread) 3.0 (Honeycomb) 4.0 (Icecream Sandwitch) 4.1 (Jelly Bean) SIP VoIP 전화기술지원 근거리 (Near Field Communication) 통신지원 복사 - 붙여넣기기능지원 자이로스코프센서지원 태블릿지원 멀티코어프로세서지원 구글 3D 지도서비스 태블릿최적화 UI 지원 2.3 과 3.0 의통합버전 얼굴인식언락 NFC 를이용한데이터전송및공유 사진향상도구 오프라인이메일탐색 애플리케이션폴더 프로젝터버터로전체적인속도증가 지식그래프를이용한음성검색기능 구글나우 : 사용자에게맞춤형정보제공 알림기능강화 3. 안드로이드의특징 안드로이드는어떤특징을가지는모바일운영체제일까? 여기서는일단간단하게살펴보고추후에자세히하나씩살펴보도록하자. 애플리케이션프레임워크 (Application framework) 컴포넌트의재사용과대체가가능하다. 달빅가상머신 (Dalvik virtual machine) 모바일장치에최적화되어있다. 내장된웹브라우저 (Integrated browser) 오프소스인 WebKit 엔진에토대를두고있다. 최적화된그래픽 (Optimized graphics) 2D 그래픽은자체 2D 라이브러리에의하여제공되고 3D 그래픽은 OpenGL ES 1.0 규격에기반을두고있다. SQLite 데이터베이스지원 각종오디오, 비디오규격지원 (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) 블루투스, EDGE, 3G, WiFi 지원 카메라, GPS, 나침판, 기속도계지원 22
23 기초사항 01 CHAPTER 풍부한개발환경제공장치에뮬레이터, 메모리와성능프로파일링, 이클립스플 러그인제공 그림 1.5 다양한그래픽을사용하는 Wind-up Knight 게임의화면 컴포넌트의재사용 안드로이드는컴포넌트 (component) 의재사용을가능케하는애플리케이션프레임워크를가진다. 애플리케이션은여러개의컴포넌트로이루어져있다. 하나의애플리케이션은다른애플리케이션의컴포넌트를사용할수있다. 모바일장치에서컴포넌트의재사용이중요한이유는프로세서의처리속도나메모리용량이충분하지않기때문이다. 자바언어지원 안드로이드애플리케이션은자바로작성된다. 안드로이드개발자들은자바의 SE 버전중에서 AWT와스윙 (swing) 을제외한거의모든패키지를사용할수있다. 안드로이드에서는자바를지원하기위하여자체적인가상머신을구현하였다. 자바의표준 JVM을사용하지않는이유는스마트폰이데스크탑에비하여처리속도와메모리용량측면에서한참뒤쳐지기때문이다. 모바일장치에서는모든것을최적화시키는것이중요하다. 안드로이드에서는가상머신에서 JIT 컴파일러를없애버리고가비지콜렉터를다시작성했으며클래스파일에서중복된정보를제거한새로운실행파일형식인달빅실행파일 (.dex) 을사용한다. 이러한자체적인자바가상머신을달빅 (Dalvik) 가상머신이라고부른다. 달빅은개발자와관련된아이슬란드의마을이름이라고한다. 여기서한가지주의할점은안드로이드에서는달빅가상머신을사용하므로일반적인자바의클래스파일에들어있는바이트코드는직접실행 23
24 안드로이드프로그래밍 이불가능하다. 반드시바이트코드를달빅실행파일 (.dex) 형식으로변환하여야실 행이가능하다. 선언적사용자인터페이스사용 안드로이드는사용자인터페이스를 XML을사용하여정의한다. 함수를호출하는기존의절차적인방법을사용하지않고 XML을이용하여서선언적으로정의하는것이다. 이방법은보다진보된방법으로여겨지고있으며마이크로소프트의실버라이트나 Sun의 JavaFX와유사하다. 컴퓨팅의역사에서사용자인터페이스작성기법은꾸준히발전되어왔다. 제일원시적인방법이 C언어로윈도우 API 함수들을호출하는방법이다. 이후로 C++ 언어로 MFC(Microsoft Foundation Classes) 라이브러리를사용하는방법이등장하였고자바언어의 Swing과같은라이브러리는이보다도진보된방법이라고한다. 안드로이드에서사용하는선언적인사용자인터페이스방법은 Swing보다도발전된것으로여겨진다. 안드로이드에서사용자인터페이스를작성하려면먼저 XML 파일을생성한다. 이 XML 파일안에화면을구성하는버튼이나텍스트와같은 GUI 요소들을엘리먼트로적어준다. 이방법은앞으로질리도록많이등장할것이다. 첨단기능제공 카메라, GPS, 나침판, 가속도계와같은각종첨단센서들을지원한다. 이러한센서들을이용하여서실감나는게임을제작할수있다. 라이브폴더, 위젯, 미디어녹음기능, 텍스트음성변환, 멀티터치, 제스처, 음성인식와같은첨단소프트웨어기술들을지원한다. 안드로이드폰에서음성검색을사용해본사용자라면상당한수준의음성인식이가능하다는것을느꼈을것이다. 멀티미디어에대한지원도상당하다. 2D 그래픽은자체제작한라이브러리를통하여최적화된그래픽을제공한다. 3D 그래픽은 OpenGL을간략화시킨 OpenGL ES 1.0 규격에토대를두고있다. 멀티미디어재생을위하여 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF 등의대부분의정지영상, 동영상, 오디오형식을지원한다. 여러가지방식의통신도지원하는데블루투스 (Bluetooth), 3G 통신망, WiFi 통신기능을지원한다. 웹브라우징을위하여오픈소스웹킷 (WebKit) 엔진에기반을둔통합브라우저를내장하고있다. 24
25 기초사항 01 CHAPTER 개방적이고풍부한개발환경을제공한다. 안드로이드의가장큰특징은개방성이다. 누구나가져다가사용할수있고무료로제공되지만기존의폐쇄적이고독점적인모바일플랫폼과비교해도손색없는성능과완벽함을제공한다. 안드로이드는오픈소스만을조립하여서만들었지만리눅스와같이시장에서오랜기간동안에검증된소프트웨어만을사용하였다. SQLite나 OpenGL ES와같은라이브러리도이미검증되어많이사용되고있는개방적인오픈소스이다. java.net과같은자바언어의풍부한라이브러리도이미검증된오픈소스라간주할수있다. 따라서개발자들은견고한프레임워크위에서안전하게자신의애플리케이션을개발할수있다. 안드로이드는 SDK를통하여단말기에뮬레이터, 디버깅도구, 메모리및성능프로파일링도구들을기본으로제공한다. 특히이클립스 (eclipse) 를사용하여서보다쉽게애플리케이션개발이가능하다. 안드로이드는윈도우 XP 또는비스타, 윈도우 7, Mac OS X, 리눅스와같은다양한운영체제에서개발이가능하다. 강력한에뮬레이터가제공되기때문에개발자들은실제장치없이도상당한수준으로애플리케이션을개발하고테스트할수있다. 안드로이드에뮬레이터로테스트할수없는것은카메라, 비디오, 블루투스, USB 연결, 배터리와같은기능들뿐이다. 안드로이드에뮬레이터는 CPU 명령어수준에서에뮬레이션이가능하다. 스마트폰은보통 ARM 계열의 CPU를사용하므로에뮬레이터는 ARM 프로세서를시뮬레이션한후에이위에서안드로이드리눅스커널을실행시킨다. 따라서굉장히정확한에뮬레이션이가능하다. 클라우드컴퓨팅 안드로이드는클라우드컴퓨팅 (cloud computing) 을지원한다. 클라우드컴퓨팅은인터넷상의서버에여러가지자원 ( 프로그램, 데이터 ) 을저장하고, 필요할때마다자신의모바일장치를통하여사용하는컴퓨팅기법이다. 예를들면 MS 오피스와같은프로그램을서버에설치해놓고웹브라우저를통하여원격으로사용하는것이클라우드컴퓨팅이다. 안드로이드에서도음성인식과같은기능은클라우드컴퓨팅을통하여지원된다. 또사진이나앱, 게임이메일, 연락처등을서버에저장하고필요하면언제든지불러서사용할수있다. 25
26 안드로이드프로그래밍 4. 안드로이드의구조 애플리케이션을개발하기전에미리알아두어야하는사항들을여기서학습하여본다. 안드로이드는단순히운영체제만을제공하는것은아니다. 안드로이드는운영체제, 미들웨어, 핵심애플리케이션을모두포함하는모바일플랫폼이라고할수있다. 구글에서는안드로이드를소프트웨어스택 (software stack) 이라고부른다. 즉소프트웨어를스택처럼쌓아두었다는의미이다. 다음그림은안드로이드운영체제의주요한요소들을나타낸다. 그림 1.6 안드로이드의구조 애플리케이션 애플리케이션프레임워크 라이브러리 안드로이드런타임 리눅스커널 리눅스커널 (linux kernel) 안드로이드는리눅스버전 2.6 을사용하여서보안, 메모리관리, 프로세스관리, 네트워크, 장치드라이버와같은시스템서비스를제공한다. 커널은하드웨어와나머지소프트웨어스택사이의추상화계층으로동작한다. 즉모바일장치의하드웨어가다르더라도상위계층에게균일한환경을제공한다. 안드로이드런타임 (Android Runtime) 안드로이드런타임은애플리케이션을실행시키기위한최소한의환경을제공한다. 안드로이드런타임은자바의코어라이브러리와달빅가상머신으로구성된다. 모든 26
27 기초사항 01 CHAPTER 안드로이드애플리케이션은리눅스의하나의프로세스로실행되며, 각프로세스마다자신만의달빅가상머신을가진다. 따라서여러개의가상머신이동시에실행될수있으므로달빅가상머신은이를감안하여서효율적으로실행할수있도록설계되었다. 달빅가상머신은레지스터기반이며, 자바컴파일러에의하여컴파일된클래스들을.dex 형식으로변환한후에실행한다. 라이브러리 (libraries) 안드로이드는다양한 C/C++ 라이브러리를포함하고있다. 개발자들은애플리케이션프레임워크를통하여이들라이브러리들을사용할수있다. 시스템 C 라이브러리 - BSD 기반의표준 C 시스템라이브러리 (libc) 을제공한다. 미디어라이브러리 - PacketVideo의 OpenCORE에기초한다. 인기있는오디오및비디오형식의재생및녹음을지원한다. 구체적으로 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG등을지원한다. Surface manager - 디스플레이서브시스템을관리하고여러애플리케이션에서나오는 2차원과 3차원그래픽레이어들을끊어짐없이합성한다. LibWebCore 웹브라우저를구현하는첨단의웹브라우저엔진 SGL - 기본 2D 그래픽엔진 3D 라이브러리 - OpenGL ES 1.0 API 기반의라이브러리, 하드웨어 3D 가속을사용하거나최적화된내장 3차원소프트웨어래스터라이저를사용한다. FreeType - 비트맵과벡터글꼴렌더링을제공한다. SQLite - 강력하고가벼운관계형데이터베이스엔진 애플리케이션프레임워크 (application framework) 애플리케이션프레임워크에서는개발자들을위한 API(Application Programming Interface) 를제공한다. 즉개발자들은이프레임워크가제공하는기능을이용하여서자신들의애플리케이션을개발하게된다. 개발자는프레임워크를통하여하드웨어장치, 위치정보접근, 병렬처리기능, 알람설정기능, 상태표시줄알림등의기능을사용할수있다. 애플리케이션프레임워크는컴포넌트의재사용을쉽게할수있도록설계되었다. 모든애플리케이션은자신의기능을다른애플리케이션에게개방할수있고다른애플리케이션은그기능을사용할수있다. 구체적으로다음과같은서비스와시스템 27
28 안드로이드프로그래밍 을제공한다. 풍부하고확장가능한뷰 (View) 들을제공한다. 리스트, 그리드, 텍스트박스, 버튼, 내장웹브라우저와같은뷰들은애플리케이션을작성하는데사용될수있다. 콘텐트제공자 (content provider) 는애플리케이션이다른애플리케이션의데이터에접근하거나공유할수있도록한다. 리소스관리자 (resource manager) 는리소스 ( 문자열, 그래픽, 배치관리자파일 ) 에대한접근을관리한다. 통지관리자 (notification manager) 는모든애플리케이션이상태바에경고를표시할수있도록한다. 액티비티관리자 (activity manager) 는애플리케이션의라이프사이클을관리하고액티비티스택을제공한다. 애플리케이션 (application) 안드로이드는전화, 메시지, 달력, 지도, 이메일, 브라우저, 전화번호부와같은핵심애플리케이션들을기본으로탑재하고있다. 모든애플리케이션은자바프로그래밍언어를사용하여개발된다. 안드로이드에서모든애플리케이션은동일한라이브러리를사용한다. 즉써드파티애플리케이션이라고해서차별받는것은아니다. 사용자한테실제로중요한것은바로애플리케이션이다. 아무리하드웨어적으로훌륭한스마트폰을만들었다고해도사용자를끌어들일수있는킬러애플리케이션이없으면스마트폰이대중들한테어필할수없다. 안드로이드는마켓을통하여많은애플리케이션들이유통될수있는환경을구축하고있다. 애플리케이션은어떻게작성할까요? 5. 애플리케이션의기초개념 애플리케이션을작성하는데필수적인개념들은여기서살펴보고지나가자. 만약이해가안된다고해도크게걱정할것은없다. 앞으로반복적으로등장하게된다. 안드로이드애플리케이션은자바언어로작성된다. 안드로이드 SDK 도구를이용하면자바코드를컴파일하고리소스와결합하여서안드로이드패키지 (.apk 확장자 ) 로만들수있다. 하나의.apk 파일안에있는모든코드는하나의애플리케 28
29 기초사항 01 CHAPTER 이션으로간주된다..apk 파일은모바일장치로다운로드되어서애플리케이션으 로설치된다. 일단장치에설치되면, 각안드로이드애플리케이션은다음과같은기법을시용하여서자신의보안샌드박스안에서만동작된다. 각애플리케이션은리눅스운영체제상에서서로다른사용자가된다. 운영체제는각애플리케이션에게사용자아이디를부여하고애플리케이션에속하는파일은다른애플리케이션이접근할수없다. 각애플리케이션은자신의가상머신위에서실행된다. 따라서다른애플리케이션과는완벽하게분리된다. 이번절에서는다음과같은안드로이드의핵심개념에대하여살펴본다. 애플리케이션을구성하는컴포넌트 애플리케이션에대한정보를표시하는매니페스트파일 애플리케이션과분리되어서리소스를정의하는방법 애플리케이션컴포넌트 먼저, 가장중요한개념은안드로이드애플리케이션은컴포넌트 (component) 들로구성된다는점이다. 컴포넌트는애플리케이션을만드는빌딩블록이며, 각컴포넌트들은하나의독립된엔티티로존재하고, 정해진역할을수행한다. 각컴포넌트는애플리케이션을시작하는진입점을가질수있다. 안드로이드에는다음과같은 4가지의타입의컴포넌트가있다. 액티비티 29
30 안드로이드프로그래밍 서비스 방송수신자 콘텐트제공자 액티비티 액티비티 (activity) 는사용자인터페이스화면을가지고, 하나의작업을담당하는 컴포넌트이다. 액티비티 화면을통하여사용자를상대합니다. 액티비티 하나의애플리케이션은여러개의액티비티를가질수있다. 이메일애플리케이션을예로들어보자. 이메일애플리케이션은수신된이메일들의리스트를화면에표시하는액티비티를가질수있다. 또이메일을작성하는화면이또하나의액티비티가될수있다. 또다른액티비티에서는수신된이메일의내용을화면에표시할수있다. 이들액티비티를모두결합하면하나의이메일애플리케이션이된다. 액티비티는 Activity라는클래스를상속받아서작성된다. 그림 1.7 이메일애플리케이션은 3 개의액티비티로이루어진다. 액티비티 #1 수신된이메일리스트표시 액티비티 #2 이메일작성 액티비티 #3 수신된이메일내용표시 이메일애플리케이션 30
31 기초사항 01 CHAPTER 서비스 서비스 (service) 는백그라운드에서실행되는컴포넌트로서오랫동안실행되는작업이나원격프로세스를위한작업을할때사용된다. 서비스는사용자인터페이스화면을가지지않는다. 예를들어서서비스는사용자가다른애플리케이션을실행하는동안에배경음악을연주하는데사용된다. 또는사용자상호작용을방해하지않으면서네트워크를통하여데이터를꺼내올수도있다. 서비스는다른컴포넌트에의하여시작된다. 모든서비스는 Service 클래스를상속받아서작성된다. 서비스 서비스를사용하는전형적인예를살펴보자. 음악을재생하는애플리케이션은사용자가곡을선택하는화면을가지고있다. 이화면은액티비티로구현된다. 그러나실제로음악을재생하는작업은액티비티에의하여처리되지않는다. 왜냐하면사용자가이화면을떠나서다른작업을시작하더라도음악이계속재생되어야하기때문이다. 따라서음악재생액티비티는서비스를실행하고음악재생을서비스에위임한다. 배경에서장시간에걸친작업을수행합니다. 액티비티 #1 음악재생화면 서비스 #1 음악재생서비스 그림 1.8 미디어플레이어애플리케이션은 1 개의액티비티와 1 개의서비스로이루어진다. 미디어플레이어애플리케이션 방송수신자 방송수신자 (broadcast receiver) 는방송을받고반응하는컴포넌트이다. 많은방송들은시스템에서발생한다. 즉화면이꺼졌다거나배터리가낮은상태라든지, 사진이촬영되었다는것을알리기위하여방송을사용한다. 또애플리케이션도자기나름의방송을송출할수도있다. 예를들어서어떤데이터가다운로드되어서사용가능하게되었다는것을다른애플리케이션에게알릴목적으로방송을사용할수있 31
32 안드로이드프로그래밍 방송수신자 방송이나공지를수신합니다. 다. 방송수신자는 BroadcastReceiver 클래스를상속받아서작성된다. 방송수신자는일반적으로사용자인터페이스를가지지않는다. 방송수신자가수신된정보에반응하여새로운액티비티를시작할수도있다. 또사용자에게경고하기위하여통지매니저 (Notification Manager) 를사용할수도있다. 즉백라이트를점멸한다든지, 장치를진동시키거나, 사운드를재생할수있다. 또상태바에아이콘을통하여이벤트가발생하였다는것을알릴수있다. 콘텐트제공자 콘텐트제공자 (content provider) 는데이터를관리하고다른애플리케이션에게데이터를제공하는컴포넌트이다. 데이터는파일시스템이나 SQLite 데이터베이스, 웹상에저장될수도있다. 콘텐트제공자를통하여다른애플리케이션은데이터를쿼리하거나변경할수있다. 데이터를제공합니다. 콘텐트제공자 예를들어서전화번호부애플리케이션에는많은사람들의이름과전화번호가데이터베이스의형태로저장되어있고이데이터는콘텐트제공자를통하여다른애플리케이션에제공될수있다. 즉데이터를다른애플리케이션과공유할수있는것이다. 32
33 기초사항 01 CHAPTER 그림 1.9 전화번호부애플리케이션은 1 개의액티비티와 1 개의콘텐트제공자로이루어진다. 콘텐트제공자는 ContentProvider 클래스를상속받아서작성된다. 또다른애플 리케이션이데이터를받고저장할수있는메소드들을재정의하여서제공한다. 다른애플리케이션의컴포넌트를실행할수있다! 안드로이드애플리케이션은 PC에서실행되는프로그램과는매우다르다. PC의프로그램은코드와데이터가합쳐져서하나의실행파일로되어있으며이실행파일이메모리에적재되어서실행된다. 그리고일반적으로 PC에서하나의프로그램은다른프로그램안에들어있는코드를사용할수없다. 즉각프로그램은서로독립적으로실행된다. 다른애플리케이션의코드를사용할수없다! 그림 1.10 PC 에서는다른애플리케이션이가지고있는코드를사용할수없다. 애플리케이션 A 애플리케이션 B 그러나안드로이드의애플리케이션은상당히다르다. 안드로이드에서는하나의애플리케이션이다른애플리케이션의컴포넌트들을이용할수있다는점이다. 물론다른애플리케이션의컴포넌트를이용하려면그애플리케이션의허가를받아야한다. 허가만얻을수있다면여러개의애플리케이션들이특정한컴포넌트를공유하여서사용하는것이가능하다. 이것은 CORBA나 COM처럼, 분산된소프트웨어컴포넌트들이동시에실행되면서하나의작업을함께하는개념과유사하다. 다만 CORBA이 33
34 안드로이드프로그래밍 나 COM 은분산환경이지만안드로이드는하나의모바일장치안에서작업이이루어 진다는점이다르다. 그림 1.11 안드로이드에서는다른애플리케이션이가지고있는컴포넌트를사용할수있다. 다른애플리케이션의컴포넌트사용가능 애플리케이션 A 애플리케이션 B 이것을예를들어서설명하여보자. 애플리케이션에서사용자가사진을촬영하도록하고싶다. 하지만이러한기능을제공하려면상당한코딩이필요하다. 하지만생각해보면분명히안드로이드안에는사진촬영기능을제공하는카메라애플리케이션이존재한다. 이런경우에는카메라애플리케이션에포함된사진촬영기능을사용하면된다. 물론이러한기능은컴포넌트형태로카메라애플리케이션에포함되어있지만이컴포넌트를우리의코드에포함할필요도없고링크할필요도없다. 단순히필요할때마다카메라애플리케이션의액티비티를시작하기만하면된다. 영상이캡처되면영상은우리의애플리케이션으로반환된다. 따라서이영상을우리의애플리케이션에서사용할수있다. 이것은상당히혁신적인개념으로서스마트폰처럼자원이부족한환경에서는아주바람직하다. 이것이가능하려면어떤애플리케이션의컴포넌트를실행해달라고요청이들어왔을때그애플리케이션프로세스를시작할수있어야한다. 예를들어서우리의애 34
35 기초사항 01 CHAPTER 플리케이션이카메라애플리케이션에포함된액티비티를시작하였다면이액티비티는우리의애플리케이션프로세스안에서실행되는것이아니라카메라애플리케이션프로세스안에서실행되어야하기때문이다. 이런이유때문에 PC의애플리케이션과는다르게, 안드로이드애플리케이션은단일실행진입점 (single entry point) 을갖지않는다 ( 즉 main() 함수가없다 ). 반면에안드로이드애플리케이션은내부에포함된컴포넌트들을통하여여러갈래로실행될수있다. 하지만우리가직접적으로다른애플리케이션의컴포넌트를실행할수있는것은아니다. 반드시안드로이드시스템에게우리의의도가포함된메시지를보내서요청하여야한다. 요청이승인되면, 안드로이드시스템이우리가요청한컴포넌트를실행한다. 6. 인텐트 애플리케이션은어떻게자신이원하는컴포넌트를안드로이드안에서찾아서실행할까? 애플리케이션은어떻게자신이원하는컴포넌트를안드로이드안에서찾아서실행할수있을까? 바로여기에사용되는것이인텐트 (intent) 라고불리는비동기적인메시지이다. 인텐트를번역한다면 의도 라고할수있다. 즉애플리케이션의의도를적어서안드로이드에전달하면안드로이드가가장적절한컴포넌트를찾아서활성화하고실행한다. 인텐트객체 ACTION:. DATA:. 그림 1.12 인텐트를통하여다른애플리케이션의컴포넌트를활성화시킬수있다. 애플리케이션 A 애플리케이션 B 35
36 안드로이드프로그래밍 인텐트는 Intent 클래스의객체로서컴포넌트가필요로하는요청내용을가지고있다. 액티비티와서비스의경우에는인텐트객체안에필요한액션의이름 ( view 또는 send ) 과사용할데이터의 URI를가지고있다. 예를들어서이미지를화면에표시하거나웹페이지를오픈하는요청을인텐트에기술할수있다. 어떤경우에는인텐트를통하여결과를반환받기도한다. 그림 1.13 인텐트를통하여다른애플리케이션의컴포넌트를활성화시킬수있다. 방송수신자의경우에는인텐트가공지사항을가지고있다. 예를들어서배터리가 battery is low 라는문자열이인텐트안에액션으로저장된다. 4가지의컴포넌트종류중에서콘텐트제공자는약간다른접근방식을가지는데인텐트에의하여실행되지않고, 별도의객체인콘텐트리졸버 (ContentResolver) 를사용하여서실행된다. 콘텐트리졸버가콘텐트제공자와의모든트랜잭션을처리하기때문에우리는단순히콘텐트리졸버객체의메소드를호출하면된다. 이것은보안을위하여, 정보를제공하는콘텐트제공자와정보를요청하는컴포넌트사이에추상계층을하나더둔것이다. 각컴포넌트를활성화하는메소드들을나열하여보면다음과같다. 액티비티를시작하려면 startactivity() 나 startactivityforresult() 를호출한다. 서비스를시작하려면 startservice() 나 bindservice() 를호출한다. 방송을시작하려면 sendbroadcast(), sendorderedbroadcast(), sendstickybroadcast() 를호출한다. 콘텐트제공자에쿼리를보낼려면콘텐트리졸버의 query() 를호출한다. 36
37 기초사항 01 CHAPTER 7. 매니페스트파일 안드로이드가어떤컴포넌트를시작하려면먼저애플리케이션안에그컴포넌트가존재하는지를알아야한다. 애플리케이션안의모든컴포넌트들은매니페스트파일 (manifest file) 안에선언되어야한다. 매니페스트는 적하목록 이라고해석하면될것이다. 매니페스트파일은 XML로작성되어있으며모든애플리케이션에대하여 AndroidManifest.xml란이름으로존재한다. 이패키지에포함된컴포넌트 액티비티 #1 콘텐츠제공자. 그림 1.14 메니페스트파일은포함된컴포넌트들을나열한다. 매니페스트파일 매니페스트파일은컴포넌트를선언하는것이외에도다음과같은여러가지일을한다. 인터넷접근과같이애플리케이션이요청하는권한을나열한다. 애플리케이션이필요한최소한의 API 레벨을선언한다. 애플리케이션이필요로하는하드웨어사양을선언한다 ( 예를들어서카메라, 블루투스, 멀티터치스크린 ). 그러나가장중요한작업은안드로이드에게애플리케이션의컴포넌트에대하여알리는것이다. 예를들면매니페스트파일에서액티비티는다음과같이선언될수있다. 37
38 안드로이드프로그래밍 <?xml version="1.0" encoding="utf-8"?> <manifest... > <application... > <activity android:name="kr.co.company.myactivity" > </activity>... </application> </manifest> 액티비티정보기술 <activity> 엘리먼트의 name 어트리뷰트는 Activity의자식클래스의이름이다. icon 어트리뷰트는애플리케이션의아이콘이저장된리소스파일을가리킨다. label 어트리뷰트는액티비티가실행될때, 사용자에게표시되는텍스트이다. 다른컴포넌트들도유사한방식으로선언된다. < activity> 엘리먼트 : 액티비티선언 < service> 엘리먼트 : 서비스선언 < receiver> 엘리먼트 : 방송수신자 < provider> 엘리먼트 : 콘텐트제공자 매니페스트파일에선언되지않은액티비티, 서비스, 콘텐트제공자는시스템에서전혀알수가없다. 결과적으로실행할수없다. 참고사항 XML XML(Extensible Markup Language) 은 SGML의부분집합으로웹상에서구조화된텍스트형식의문서를전송하고수신하며처리가가능하도록만든마크업언어이다. 1996년 W3C에서제안되었으며, 기존의 HTML의한계를극복하는새로운방안으로각광을받고있다. HTML은문서의외관만정의할수있으며문서의내용에대해서는정의가불가능하다. 하지만 XML에는 HTML과는다르게사용자가용도에맞는새로운태그를정의하여서문서의내용에태그를붙일수있다. 최근 XML은어떤플랫폼에서나읽을수있는포맷을제공하기때문에인터넷상에서뿐만아니라많은영역에서개방된데이터베이스파일의역할을하고있다. 38
39 기초사항 01 CHAPTER 8. 안드로이드의미래 현재도많은사람들이스마트폰을이용하고있지만앞으로도스마트폰시장은확대될것이라고한다. 구글의안드로이드는미래에도상당한점유율을가질것으로예상된다. 전세계휴대폰제조업체들이안드로이드를탑재한제품을속속출시하고있기때문이다. 구글은삼성, HTC, 모토로라, LG 전자와제휴하여서안드로이드폰을전세계에출시하면서스마트폰의시장점유율을넓히고있다. 안드로이드는오픈된운영체제이기때문에스마트폰을한층저렴한가격으로생산할수있어서경쟁력을높일수있다. 허니콤에서는태블릿도지원할수있어서이것도안드로이드의인기에일조할예정이다. 발을넓혀가고있는안드로이드의미래는밝아요. 39
40
41 찾아보기 찾아보기 ㄱ가속도센서 (accelerometer) 713 가시적인프로세스 455 가중치 141 갤러리 (gallery) 331 결과집합 (result set) 501 공유프레퍼런스 (Shared Preferences) 481 구글개발자등록 760 구글지도라이브러리 581 구글플레이 (Google Play) 760 권한 (permission) 410 그래디언트 (gradient) 276 그리드뷰 (GridView) 328 ㄴ내부클래스 (inner class) 166 ㄷ다중스레딩 (multi-threading) 452 달빅 (Dalvik) 가상머신 23 대체리소스 393 대화상자 (dialog) 209 드로워블애니메이션 (drawable animation) 261 ㄹ라디오버튼 (radio button) 177 레이아웃 135 레이팅바 180, 338 로그캣 (logcat) 384 리소스 (resource) 89, 392 리스트뷰 (ListView) 319 ㅁ마진 143 매니페스트 (manifest) 94 매니페스트파일 (manifest file) 37 맵뷰 (MapView) 클래스 592 멀티태스킹 (multi-tasking) 348 메인스레드 (main thread) 453 명시적인텐트 361 무명클래스 (anonymous class) 169, 170 ㅂ방송수신자 (broadcast receiver) 31, 435 방향센서 709 배경스레드 ( background thread) 458 버튼 (Button) 130 변환 (transformation) 314 병렬작업 (muli-tasking) 452 보안 (security) 408 뷰 (View) 110 뷰그룹 (ViewGroup) 110 뷰애니메이션 (view animation) 252, 257 블루투스 (Bluetooth) 675 비터치모드 187 비트맵그래디언트 281 ㅅ사용자인터페이스 (UI; User Interface)
42 찾아보기 index 사용자정의권한 412 상대적레이아웃 149 색상 231 샌드박스 (sandbox) 408 서버 / 클라이언트통신 552 서브메뉴 (submenu) 207 서비스 (service) 31, 416 서피스뷰 264 선형레이아웃 (linear layout) 135 소프트웨어스택 (software stack) 26 스레드 (thread) 453 스무스컬러링 310 스타일어트리뷰트리소스 400 스피너 (Spinner) 325 시크바 (SeekBar) 336 ㅇ안드로이드 (android) 18 안드로이드 SDK 51 안드로이드애플리케이션 (application) 345 암시적인텐트 (implicit intent) 361, 372 애플리케이션마켓 19 애플리케이션배포 (publishing) 748 애플리케이션버전 757 애플리케이션프레임워크 27 액티비티 (activity) 30, 345 액티비티스택 (activity stack) 347 액티비티의생애주기 (life cycle) 351 앤티에일리어싱 (AntiAliasing) 234 어노테이션 80 어댑터뷰 (AdapterView) 318 에디트텍스트 (edit text) 174 역지오코딩 (reverse geocoding) 578 연결타입의서비스 (bound service) 427 영상처리 (image processing) 294 옵션메뉴 197 외부저장공간 491 원형그래디언트 279 위치관리자 (Location Manager) 572 위치기반애플리케이션 566 위치리스너 (Location Listener) 574 위치제공자 (Location Provider) 572 윈도폰 7 18 이미지뷰 (ImageView) 128 이벤트구동 (event-driven) 방식 160 이벤트리스너 (event listener) 165 이클립스 (eclipse) 46 인텐트 (intent) 35, 360 인텐트필터 378 ㅈ작업스레드 ( worker thread) 458 장치검색 (device discovery) 678 전경프로세스 455 절대적레이아웃 151 주소록 (contacts) 659 지역화 (localization) 402 지오코딩 (geocoding) 578 ㅊ체크박스 175 ㅋ캔버스클래스 275 커서 (cursor) 501 커스텀대화상자 (custom dialog) 219 커스텀버튼 (custom button) 182 컨텍스트메뉴 (context menu) 203 콘텐트 URI 514 콘텐트제공자 (content provider) 32 콜백메소드 (callback method) 161 클라우드컴퓨팅 (cloud computing)
43 찾아보기 ㅌ태그디스패치시스템 722 터치모드 (touch mode) 187 테이블레이아웃 147 텍스트뷰 (TextView) 125 텍스트정렬 236 토글버튼 (toggle button) 179 트랜스퍼모드 (transfer mode) 282 트윈애니메이션 (tween animation) 257 ㅍ패딩 143 페어링 (pairing) 679 페인트클래스 275 평행이동 (translation) 285 포커스 (focus) 186 폰트 235 폴링 (polling) 방식 160 프레임레이아웃 145 프레퍼런스액티비티 (PreferenceActivity) 485 프로그레스바 (progress bar) 334 프로세스 (process) 453 프로퍼티애니메이션 (property animation) 252 플랫컬러링 311 ㅎ핸들러 (handler) 464 ADT(Android Development Tool) 55 AsyncTask 클래스 469 AVD(Android Virtual Device) 58 ConnectivityManager 클래스 542 ContactsContract 클래스 662 Contacts 테이블 660 ContentResolver 객체 514 Data 테이블 660 DatePicker 위젯 338 DDMS 386 DOM 파서만 561 GPS(Global Position System) 568 gravity 속성 137 ios 18 JDK 44 JET 오디오 616 keytool 명령어 751 MediaPlayer 클래스 606 MediaRecorder 클래스 617, 641 NDEF(NFC Data Exchange Format) 720 NFC(Near Field Communication) 718 RawContacts 테이블 660 SensorManager 클래스 703 SQL 499 SQLite 408 SQLiteOpenHelper 502 TelephonyManager 클래스 655 TimePicker 위젯 338 UI 스레드 (user interface thread) 457 VideoView 클래스 639 View 클래스 121 WebView 위젯 547 XML 처리 560 2차원변환 (transformation)
44
45 저자약력 천인국 ( 千仁國 ) 1983년서울대학교전자공학과공학사 1985년한국과학기술원전기및전자공학과공학석사 1993년한국과학기술원전기및전자공학과공학박사 1985년 ~1988년삼성전자종합연구소주임연구원 1993년 ~ 현재순천향대학교정보기술공학부교수 2005년캐나다 UBC 방문교수 chunik@sch.ac.kr 저자와의협의하에인지를생략합니다. 그림으로쉽게설명하는안드로이드프로그래밍 천인국지음 초판인쇄 : 초판발행 : 발행인 : 김승기 발행처 : 생능출판사 신고번호 : 제 호 신고일자 : 경기도파주시문발동 파주출판도시대표전화 : (031) , FAX : (031) 홈페이지 : I S B N : 파본및잘못된책은바꾸어드립니다. 정가 38,000 원
(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 informationMicrosoft 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 informationMicrosoft PowerPoint App Fundamentals[Part1].pptx
To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 2 HangulKeyboard.apkapk 파일을다운로드 안드로이드 SDK 의 tools 경로아래에복사한후, 도스상에서다음과같이 adb 명령어수행 adb install HangulKeyboard.apk 이클립스에서에뮬레이터를구동 에뮬레이터메인화면에서다음과같이이동 메뉴버튼 설정 언어및키보드
More information1부
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 informationMicrosoft PowerPoint Android-구조.애플리케이션 기초(1.0h).pptx
To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 안드로이드정의및아키텍처 안드로이드커널접근 애플리케이션기초및컴포넌트 2 안드로이드는운영체제 (operating system), 미들웨어 (middleware), 핵심애플리케이션들 (key applications) 을포함하고있는모바일디바이스를위한소프트웨어스택 (software stack)
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일 / 신고번호제406-2005-000002호대표전화 (031)955-0761 / 팩스 (031)955-0768 홈페이지
More informationPowerPoint Template
01. 안드로이드개요와 개발환경구축 01 안드로이드의개요 02 안드로이드의개발환경 03 안드로이드의개발환경구축 1. 안드로이드개요 스마트폰개요 스마트폰 통화기능 + 컴퓨터 + 다양한기능내장 (MP3, 카메라, DMB, GPS 등 ) 스마트폰역사 1992년 IBM사의사이먼 ( 최초 ) 1996년노키아 9000 2002년마이크로소프트포켓PC 2007년아이폰 2008년안드로이드폰
More informationMicrosoft 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 informationWindows 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 informationTHE 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[Brochure] KOR_TunA
LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /
More information1. 자바프로그램기초 및개발환경 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 informationMicrosoft PowerPoint App Fundamentals[Part2].pptx
To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 애플리케이션기초 Part 1 애플리케이션컴포넌트 액티비티와태스크 프로세스와쓰레드 컴포넌트생명주기 Part 2 2 태스크는명시적으로정의 / 선언하는것이아니라, 주어진목적을위해 현재수행되고있는액티비티들의스택이다. 예를들어, 어떤액티비티가특정위치상의시가지지도를보여주고자한다하자. 해당액티비티는안드로이드에이미존재하는맵뷰어액티비티를실행
More informationMicrosoft 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 informationMicrosoft 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모바일 안드로이드 아키텍처
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서현수
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 informationMicrosoft 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어댑터뷰
04 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adatper View) 란? u 어댑터뷰의항목하나는단순한문자열이나이미지뿐만아니라, 임의의뷰가될수 있음 이미지뷰 u 커스텀어댑터뷰설정절차 1 2 항목을위한 XML 레이아웃정의 어댑터정의 3 어댑터를생성하고어댑터뷰객체에연결
More information슬라이드 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고객 카드 1588-7278
고객 카드 1588-7278 i 안전을 위한 경고사항 안전을 위한 주의사항 i 헤드유닛 DISP RADIO MEDIA PHONE SEEK TRACK 헤드유닛 FOLDER MUTE SCAN SETUP 스티어링 휠 리모트 컨트롤 + - MODE 기본모드 화면 Radio 모드 변경 RADIO 라디오 주파수 검색하기 SEEK TRACK 라디오 모드 사용하기 저장방송
More informationMicrosoft 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 informationiii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.
Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:
More information을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을
안드로이드설치및첫번째예제 안드로이드설치 안드로이드개발킷은안드로이드개발자사이트 (http://developer.android.com/) 에서다운로드받을수있으며현재 1.5 버전으로윈도우즈, 맥 OS X( 인텔 ), 리눅스플랫폼패키지가링크되어져있다. 안드로이드개발킷을설치하기위해서는다음과같은시스템환경이갖추어져있어야한다. 플랫폼 Windows Mac Linux 지원환경
More information4S 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이도경, 최덕재 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 informationMicrosoft PowerPoint - 4주차_Android_UI구현.ppt [호환 모드]
Android UI 구현 학습목표 교육목표 Android application 구성요소 Activity Layout UI 설계 Linear Layout 구현 Android application 구성요소 (1) () Application 구성요소 AndroidManifest.xml Android application 구성요소 (2) 구성요소 기능 Activity
More information보안공학연구회
보안공학연구논문지 (Journal of Security Engineering), 제 9권 제 4호 2012년 8월 모바일 운영체제 동향 분석 배유미 1), 정성재 2), 소우영 3) Trend analysis of Mobile Operating Systems Yu-Mi Bae 1), Sung-Jae Jung 2), Wooyoung Soh 3) 요 약 최근 모바일
More informationPowerPoint 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슬라이드 1
모바일소프트웨어프로젝트 지도 API 1 조 20070216 김성수 20070383 김혜준 20070965 이윤상 20071335 최진 1 매시업? 공개 API? 2 매시업 웹으로제공하고있는정보와서비스를융합하여새로운소프트웨어나서비스, 데이터베이스등을만드는것 < 최초의매시업 > 3 공개 API 누구나사용할수있도록공개된 API 지도, 검색등다양한서비스들에서제공 대표적인예
More informationPowerPoint Presentation
Ubiquitous United Network http://www.ubiu.net 2010 년제 1 회유비유넷세미나 2010 년 4 월 10 일 윤훈주유비유넷대표운영자 firehj@hanmail.net http://www.yhj.pe.kr http://twitter.com/firehj 들어가며 맛있는먹거리가있고동물들이뛰어노는곳, 2010 년유비유넷세미나 (http://www.ubiu.net)
More information디지털 공학
캡스톤디자인 App Inventor 디지털전자정보계열 앱 인벤터란? MIT 대학 미디어 랩 연구실에서 만든 안드로 이드용 스마트폰 앱 제작하는 블록 프로그래 밍 기법의 비주얼 프로그래밍 도구이다. 스마트폰의 화면을 디자인하고 블록들을 조 립하면 우리가 원하는 앱을 만들 수 있다. 인터넷이 연결된 곳에서는 어디서라도 접속 하여 앱 화면을 직접 디자인하고 프로그래밍
More information. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요
. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요소로써안드로이드시스템에서는 Activities, Services, Content Providers,
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[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID" android:title=" 항목제목 "/> </menu> public boolean oncreateoptionsmenu(menu menu) { getme
8 차시메뉴와대화상자 1 학습목표 안드로이드에서메뉴를작성하고사용하는방법을배운다. 안드로이드에서대화상자를만들고사용하는방법을배운다. 2 확인해볼까? 3 메뉴 1) 학습하기 [ 그림 8-1] XML 을이용한옵션메뉴설정방법 public boolean
More informationSpecial Theme _ 모바일웹과 스마트폰 본 고에서는 모바일웹에서의 단말 API인 W3C DAP (Device API and Policy) 의 표준 개발 현황에 대해서 살펴보고 관 련하여 개발 중인 사례를 통하여 이해를 돕고자 한다. 2. 웹 애플리케이션과 네이
모바일웹 플랫폼과 Device API 표준 이강찬 TTA 유비쿼터스 웹 응용 실무반(WG6052)의장, ETRI 선임연구원 1. 머리말 현재 소개되어 이용되는 모바일 플랫폼은 아이폰, 윈 도 모바일, 안드로이드, 심비안, 모조, 리모, 팜 WebOS, 바다 등이 있으며, 플랫폼별로 버전을 고려하면 그 수 를 열거하기 힘들 정도로 다양하게 이용되고 있다. 이
More information안드로이드 서비스
Android Service Team 4 20100031 강혜주 20100220 김소라 20100357 김진용 Contents Android Service 01 안드로이드서비스 02 사용이유 03 안드로이드서비스예 04 안드로이드서비스분류 Application Service 05 애플리케이션서비스 06 두가지방법 07 서비스생명주기 08 애플리케이션서비스분류
More information1) 리눅스커널 메모리관리, 프로세스관리, 파일시스템관리, 네트워크스택등하드웨어지원 2) Native 라이브러리 (C, C++) 안드로이드프레임워크에서필요한 C 와 C++ 라이브러리 3) 안드로이드런타임 코어라이브러리지원, Dalvik Virtual Machine 으로
1. 안드로이드란무엇인가? 안드로이드는구글을중심으로한 OHA(Open Handset Alliance) 컨소시엄에서만든최초의오픈소 스모바일애플리케이션플랫폼 리눅스커널을기반으로한운영체제, 풍부한 UI(user Interface), 다양한애플리케이션, 라이브러리, 애플리케이션프레임워크, 멀티미디어지원등의구성요소들을포함하며휴대전화기능도포함 되어있다. 운영체제와연관된컴포넌트들은
More information( )부록
A ppendix 1 2010 5 21 SDK 2.2. 2.1 SDK. DevGuide SDK. 2.2 Frozen Yoghurt Froyo. Donut, Cupcake, Eclair 1. Froyo (Ginger Bread) 2010. Froyo Eclair 0.1.. 2.2. UI,... 2.2. PC 850 CPU Froyo......... 2. 2.1.
More informationMicrosoft PowerPoint - Mobile SW Platform And Service Talk pptx
Mobile S/W Platform 및 Service 동향 서상범상무, Ph. D. System SW Lab. SW Platform Team SW Center Samsung Electronics 2011. 12.27 Contents 1. Smartphone Market 2. Mobile S/W Platform 3. Mobile Service 4. Conclusion
More information아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상
Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는
More information슬라이드 1
Android App 개발기초 & Activity, Intent 세미나 2012. 03. 26 ING 팀여상권, 이용균, 최상욱, 권지해 목차 프로젝트생성과정설명 안드로이드동작, 구조설명 Activity 설명 Intent 설명 질문 1 프로젝트생성과정설명 1. Eclipse의메뉴바에서 File 선택 2. New선택후 Android Project 선택 3. Project
More informationMicrosoft 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..,. Job Flow,. PC,.., (Drag & Drop),.,. PC,, Windows PC Mac,.,.,. NAS(Network Attached Storage),,,., Amazon Web Services*.,, (redundancy), SSL.,. * A
..,. Job Flow,. PC,.., (Drag & Drop),.,. PC,, Windows PC Mac,.,.,. NAS(Network Attached Storage),,,., Amazon Web Services*.,, (redundancy), SSL.,. * Amazon Web Services, Inc.. ID Microsoft Office 365*
More informationPowerPoint Template
JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것
More informationDoItAndroidAppProgramming
Do It! 안드로이드앱프로그래밍 첫째맀당 - Chapter 04 안드로이드프로젝트와개발도구 Jun. 2013 이번장에서는무엇을다룰까요? 한번만들어보긴했지만안드로이드프로젝트에대해더알고싶어요. 안드로이드최근버젂의주요특징을알아볼까요? 이클립스에서만든프로젝트구성요소에대해알아볼까요? 애플리케이션프레임워크에대해자세히살펴볼까요? 안드로이드개발도구에는어떤것들이있는지알아볼까요?
More informationSQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자
SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전
More informationMicrosoft 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 informationMicrosoft PowerPoint - CSharp-10-예외처리
10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.
More informationPowerPoint 프레젠테이션
Basic Widgets Jo, Heeseung Contents 뷰의개요 기본위젯다루기 기본위젯활용하기 2 뷰의개요 안드로이드화면에서실제로사용되는것은모두 View 클래스에서상속 이러한클래스를모두 ' 위젯 ' ( 또는뷰 ) 이라고도부름 위젯중에서다른위젯을담을수있는것들은주로 ViewGroup 클래스의하위에존재 이렇게다른위젯을담을수있는클래스를레이아웃이라고함 위젯
More information슬라이드 1
사용자인터페이스 (II) 시작하면서 2 목차 리스트뷰 : 어댑터, 어댑터뷰, 대화창 메뉴 리스트뷰 - 어댑터 Adapter 4 배열, XML 파일, 데이터베이스에서다양한종류의값을읽어오는공통의인터페이스 선택위젯에게데이터를제공, 각데이터항목들을위젯내부에표시하는위젯클래스로의변홖수행 사용자인터페이스인뷰와데이터소스를연결 Data Source: Array, XML, Database
More informationEclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일
Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae
More information슬라이드 1
강력한성능! 인터넷 / 업무용데스크탑 PC NX-H Series Desktop PC NX1- H700/H800/H900 NX2- H700/H800/H900 NX1-H Series 사양 Series 제품설명 ( 모델명 ) NX1-H Series, 슬림타입 기본형모델중보급형모델고급형모델 NX1-H800:112SN NX1-H800:324SN NX1-H800:534MS
More information슬라이드 1
10. 위치기반서비스 시작하면서 2 목차 위치정보출력 요구기준에의한위치정보조회 지오코딩 MapView와 MapActivity Maps API 키발급 위치정보출력 위치정보출력 4 위치정보제공 GPS 무선 LAN 이동통신망 위치기반서비스 android.location 패키지 휴대단말의위치를얻기위한클래스를포함 위치정보는지리적좌표 ( 위도와경도 ) 사용 위치정보와주소정보를변환하는
More information사용하기 전에 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사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사
IDIS Mobile Android 사용설명서 Powered by 사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사양 및 버전에 따라 일부
More informationJVM 메모리구조
조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.
More informationNX1000_Ver1.1
See the world in perfect detail 1 2 3 4 J J KL t P A S M i g s v B 5 6 t P A S M i E PASM Z g s v 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Chapter 1 25 12 11 10 9 1 2 3 4 5 6 7 8 1 t P A S M i g
More informationgnu-lee-oop-kor-lec06-3-chap7
어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base
More informationMicrosoft 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 informationF120S_(Rev1.0)_1130.indd
01 02 03 04 05 06 07 08 09 10 11 12 기본 구성품 구입 시 박스 안에 들어있는 구성품입니다. 구성품을 확인하세요. 누락된 구성품이 있을 경우, 또는 추가로 기본 구성품 구입을 원할 경우, LG전자 상담실 (T.1544-7777)로 문의하세요. 실제 제품과 그림이 다를 수 있으며 사정에 따라 일부 품목이 사전 통보 없이 변경될 수 있습니다.
More information안드로이드기본 11 차시어댑터뷰 1 학습목표 어댑터뷰가무엇인지알수있다. 리스트뷰와스피너를사용하여데이터를출력할수있다. 2 확인해볼까? 3 어댑터뷰 1) 학습하기 어댑터뷰 - 1 -
11 차시어댑터뷰 1 학습목표 어댑터뷰가무엇인지알수있다. 리스트뷰와스피너를사용하여데이터를출력할수있다. 2 확인해볼까? 3 어댑터뷰 1) 학습하기 어댑터뷰 - 1 - ArrayAdapter ArrayAdapter adapter = new ArrayAdapter(this, android.r.layout.simple_list_item_1,
More informationSBR-100S User Manual
( 1 / 13 ) SBR-100S 모델에 대한 사용자 펌웨어 업그레이드 방법을 안내해 드립니다. SBR-100S 는 신규 펌웨어가 있을시 FOTA(자동업데이트) 기능을 통하여 자동 업그레이드가 되며, 필요시 사용자가 신규 펌웨어를 다운받아 수동으로 업그레이드 할 수 있습니다. 1. 준비하기 1.1 연결 장치 준비 펌웨어 업그레이드를 위해서는 SBR-100S
More information목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.
소프트웨어매뉴얼 윈도우드라이버 Rev. 3.03 SLP-TX220 / TX223 SLP-TX420 / TX423 SLP-TX400 / TX403 SLP-DX220 / DX223 SLP-DX420 / DX423 SLP-DL410 / DL413 SLP-T400 / T403 SLP-T400R / T403R SLP-D220 / D223 SLP-D420 / D423
More information사용설명서를 읽기 전에 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 informationMicrosoft PowerPoint - 04기본위젯(Ver 1.0)
04. 기본위젯익히기 IT CookBook, 안드로이드프로그래밍 학습목표 뷰와뷰상속을이해한다. 기본위젯을다루는방법을익힌다. 안드로이드앱의기본적인프로그래밍을숙달한다. Page 3 차례 Page 4 1. 뷰의개요 뷰와뷰그룹 안드로이드화면에서실제로사용되는것은모두 View 클래스에서상속을받으며, 이러한클래스를모두 ' 위젯 '( 또는뷰 ) 이라고도부름. 위젯중에서다른위젯을담을수있는것들은주로
More informationHTML5* 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슬라이드 1
개발홖경구축 시작하면서 2 목차 소프트웨어다운로드 JDK 설치및설정 안드로이드 SDK 설치및설정 이클립스설치및설정 안드로이드 SDK 둘러보기 소프트웨어다운로드 설치준비 4 필요한소프트웨어 JDK 5.0 이상 안드로이드 SDK 이클립스 다운로드할폴더생성 D:\android 폴더생성 D:\android\software 폴더생성 JDK 다운로드 5 JAVA 웹사이트접속
More informationWindows Server 2012
Windows Server 2012 Shared Nothing Live Migration Shared Nothing Live Migration 은 SMB Live Migration 방식과다른점은 VM 데이터파일의위치입니다. Shared Nothing Live Migration 방식은 Hyper-V 호스트의로컬디스크에 VM 데이터파일이위치합니다. 반면에, SMB
More information미디어 및 엔터테인먼트 업계를 위한 Adobe Experience Manager Mobile
Adobe Experience Manager Mobile 앱 제작을 넘어 고객, 파트너 및 직원과의 유대 관계 형성 매년 모바일 디바이스에서 읽고 듣고 교류하는 사람들이 증가하고 있습니다. 미디어 및 엔터테인먼트 조직은 모바일 디바이스를 통해 고객, 직원, 파트너 및 광고주와 직접 교류할 수 있는 새로운 기회를 얻을 수 있는데, 이 기회를 민첩하게 활용하는
More information1
1 2 3 4 5 6 b b t P A S M T U s 7 m P P 8 t P A S M T U s 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Chapter 1 29 1 2 3 4 18 17 16 15 5 6 7 8 9 14 13 12 11 10 1 2 3 4 5 9 10 11 12 13 14 15
More information< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10
(https://www.kisarbl.or.kr) < 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10 Ⅰ. 개요 실시간스팸차단리스트 (RBL) 는메일서버를운영하는누구나손쉽게효과적으로스팸수신을차단하는데이용할수있도록한국인터넷진흥원 (KISA)
More information노트북 IT / 모바일 데스크탑 34 올인원PC 35 PC 소프트웨어 포터블SSD / SSD / 메모리카드 36 태블릿 37 휴대폰 39 PC 솔루션 IT / 모바일 IT / 모바일 노트북 29 삼성전자는 Windows 를 권장합니다. 삼성전자만의 편리하고 다양한 소프트웨어를 통해 초보자도 보다 쉽고 빠르게 이용 가능합니다. Easy Settings 삼성 패스트
More information비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리
ArcGIS for Desktop 10.4 Single Use 설치가이드 Software: ArcGIS for Desktop 10.4 Platforms: Windows 10, 8.1, 7, Server 2012, Server 2008 ArcGIS for Desktop 10.4 시스템 요구사항 1. 지원 플랫폼 운영체제 최소 OS 버전 최대 OS 버전 Windows
More informationvRealize 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 information9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요
9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요 [ 그림 9-1] 시간예약앱 활동과정 - 2 - [ 그림 9-2] 안드로이드 SDK Manager [ 예제 9-1]main.xml 1
More information제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호
제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법
More informationMicrosoft PowerPoint - 13-em14-안드로이드.ppt [호환 모드]
임베디드리눅스의사용자공간과안드로이드 BusyBox 웹서버 GUI Android 연세대학교컴퓨터정보통신공학부윤상균 연세대학교컴퓨터정보통신 1 연세대학교컴퓨터정보통신 2 Kernel Space vs. User Space User Space 응용프로그램을위한 POSIX 환경 주요컴포넌트 Program init, shell Libraries libc Configuration
More informationA SQL Server 2012 설치 A.1 소개 Relational DataBase Management System SQL Server 2012는마이크로소프트사에서제공하는 RDBMS 다. 마이크로소프트사는스탠다드 standard 버전이상의상업용에디션과익스프레스 exp
A SQL Server 0 설치 A. 소개 Relational DataBase Management System SQL Server 0는마이크로소프트사에서제공하는 RDBMS 다. 마이크로소프트사는스탠다드 standard 버전이상의상업용에디션과익스프레스 express 버전 의무료에디션을제공하는데, 이책에서는실습을위해 SQL Server 0 익스프레스에디 션 SP
More information<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 informationGoogle Maps Android API v2
Google Maps API 3 조 20080388 김현철 20080748 양태욱 20091493 김이현 Google Maps? 구글에서제공하는지도서비스 걷기, 차량두가지길찾기기능제공 최근, Open API 로현지대중교통과연동하여사용 Google Maps API? 개발자에게 Google Maps 를삽입할수있도록 Google 에서제공하는 Application
More information<4D F736F F D204954B1E2C8B9BDC3B8AEC1EE5FB0FBC1F82E646F63>
주간기술동향 2011. 4. 8 IT 기획시리즈 모바일애플리케이션 & 미디어태블릿 12 18 스마트폰 OS 및애플리케이션동향 곽진 순천향대학교정보보호학과교수 tolsmurf@sktelecom.com 박대식순천향대학교정보보호학과 1. 개요 2. 스마트폰 OS 종류및동향 3. 스마트폰애플리케이션동향 4. 결론 스마트폰이확산됨에따라스마트폰애플리케이션마켓이활성화되고있다.
More informationView Licenses and Services (customer)
빠른 빠른 시작: 시작: 라이선스, 라이선스, 서비스 서비스 및 주문 주문 이력 이력 보기 보기 고객 가이드 Microsoft 비즈니스 센터의 라이선스, 서비스 및 혜택 섹션을 통해 라이선스, 온라인 서비스, 구매 기록 (주문 기록)을 볼 수 있습니다. 시작하려면, 비즈니스 센터에 로그인하여 상단 메뉴에서 재고를 선택한 후 내 재고 관리를 선택하십시오. 목차
More informationJAVA PROGRAMMING 실습 08.다형성
2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스
More information제8장 자바 GUI 프로그래밍 II
제8장 MVC Model 8.1 MVC 모델 (1/7) MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델 View : 자료를시각적으로 (GUI 방식으로
More information제11장 프로세스와 쓰레드
제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드
More information슬라이드 1
인텐트, 서비스 시작하면서 2 목차 읶텐트 서비스 알림 방송수싞자 알람 인텐트 (Intent) 3 의도 또는 의향 이라는뜻일종의메시지전달메커니즘 컴포넌트간의사소통하는수단 예 ) 액션으로 Intent.ACTION_VIEW 를포함하는읶텐트읶경우 : 다른컴포넌트에게무엇읶가보여주는처리를요청함 독립적읶컴포넌트들을서로연결된하나의시스템으로구성해주는효과 구성요소 액션 :
More informationF120L(JB)_UG_V1.0_ indd
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 전화끊기, 통화중메뉴사용하기 전화통화를종료하려면 통화중 ➌ ( 끊기 ) 를누르세요. 전원버튼으로통화종료 ( 124쪽 ) 로설정한경우통화중전원
More informationMicrosoft 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 informationPowerPoint 프레젠테이션
Hello Android Jo, Heeseung Contents HelloAndroid program AVD 명칭과사용법안드로이드응용프로그램작성안드로이드프로젝트구성 2 처음만드는 [Hello Android] 프로그램 3 처음만드는 [Hello Android] 프로그램 이클립스메뉴 [File]-[New]-[Project] 를선택 [New Project] 창에서
More informationMicrosoft 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 informationiOS5_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 informationVisual Studio online Limited preview 간략하게살펴보기
11월의주제 Visual Studio 2013 제대로파헤쳐보기! Visual Studio online Limited preview 간략하게살펴보기 ALM, 언제어디서나 연결된 IDE Theme와 Visual Design 편집기의강화된생산성기능들성능최적화및디버깅개선 Microsoft 계정으로 IDE에서로그인가능다양한머신사이에서개발환경유지다양한디바이스에걸쳐설정을동기화개선된
More information쉽게 풀어쓴 C 프로그래밍
CHAPTER 13. HTML5 위치정보와드래그앤드롭 SVG SVG(Scalable Vector Graphics) 는 XML- 기반의벡터이미지포맷 웹에서벡터 - 기반의그래픽을정의하는데사용 1999 년부터 W3C 에의하여표준 SVG 의장점 SVG 그래픽은확대되거나크기가변경되어도품질이손상되지않는다. SVG 파일에서모든요소와속성은애니메이션이가능하다. SVG 이미지는어떤텍스트에디터로도생성하고편집할수있다.
More informationMicrosoft PowerPoint - 15주차(최종).pptx
15주차 15주차. 통지, 통지 그리고 안드로이드 마켓 안 켓 학습 내용 1. 백그라운드 알림 2. 통지 출력 3. 커 커스텀 텀 통지 뷰 4. 안드로이드 마켓 백그라운드 알림 사용자와의 통신 - 프로그램의 상태나 특정 사건이 발생했음을 사용자에게 통지하고 다음 동작에 대한 질문을 하거나, 사용자에게 작업 지시를 받을 수 있는 기능이 필요함 - 활성화된 프로그램의
More informationMicrosoft Word - R_120827_Display.doc
CONTENT SUMMARY _ 3 IT 성장 우려 속에 돋보이는 태블릿의 성장 _ 4 안드로이드 태블릿은 반격에 나설 것인가 _ 6 삼성 태블릿의 반격을 기대 _ 13 종목 분석 삼성SDI (64) 태블릿 성장으로 폴리머 전지 공급 확대 _ 18 일진디스플레이 (276) 이제 태블릿 시장이다 _ 2 이라이콤 (4152) 태블릿용 BLU도 기대된다! _ 22
More informationPowerPoint Presentation
객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television
More information정보
정보 Sangwook Lee Deogi High School III 문제해결과프로그래밍 1 추상화 2 알고리즘 3 프로그래밍 모바일프로그래밍 1. 모바일환경과기술 2. 앱인벤터 (App Inventor) 3. 앱만들기 3 1. 모바일환경과기술 학습목표 모바일환경과기술에대해설명할수있다 4 모바일디바이스 모바일디바이스란 손에들고이동하면서사용할수있는장치 다양한프로그램의설치및실행이가능한장치
More informationMicrosoft 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 informationDBMS & 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