이미 소장하고 있다면 판매해 보세요.
|
1장 모바일 시스템과 위피 출현
-모바일 단말기의 소프트웨어 구조 핸드셋 하드웨어 : 계층 핸드셋 기본 소프트웨어 : 계층 무선 인터넷 플랫폼 : 계층 모바일 응용프로그램 : 계층 -위피 탄생과 표준 규격 위피의 역사 위피 표준 정의 시 요구사항들 상호운용성의 필요성 위피의 규격 위피 응용프로그램 종류 무선 인터넷 플랫폼과 위피 플랫폼 -위피의 주요 기능 규격 기능 규격의 목적 응용프로그램 머신 코드 규격 다중 응용프로그램 수행 지원 프로그래밍 언어 플랫폼 보안 API 추가/갱신 지원 메모리 관리 응용프로그램 관리 다국어 지원 CLDC/MIDP 지원 필수 API와의 상호운용성 -위피 표준안의 용어 정리 -단말기 최소 권장 사양 -위피 응용프로그램의 개발 및 다운로드 과정 개발 인증 AOTC 변환 및 저장 다운로드 위피 탑재 의무와 위피의 미래 -연습문제 2장 jlet 개발 환경 -jlet 응용프로그램 개발 환경 개요 통합 개발 환경 자바 소스 편집 및 통합 도구 자바 개발 도구 위피 에뮬레이터 아로마 위피 에뮬레이터 설치 -eclipse에 통합 환경 설정 사전 점검 위피 실행 디렉토리 생성 eclipse를 이용한 프로젝트 생성 및 위피 SDK 설정 eclipse에서 jlet 자바 소스 작성 eclipse에서 컴파일 및 jar 생성 jlet 응용프로그램 실행 -연습문제 3장 jlet 프로그래밍 기초 -jlet 응용프로그램의 기본 jlet이란? jlet을 위한 위피 자바 패키지 jlet의 생명주기 -jlet 응용프로그램 기본 구조 “hello”를 출력하는 jlet 응용프로그램 Console 출력과 프로그램 종료 -startApp(String[] args) 메소드 startApp( ) 메소드로 전달되는 명령 인자 읽기 -jlet 응용프로그램의 UI(User Interface) 형태 하위레벨 UI의 구성 요소 하위레벨 UI로 사용자 인터페이스를 작성하는 방법 상위레벨 UI로 사용자 인터페이스를 작성하는 방법 상위레벨 UI를 사용한 예 1 : ShellComponent.show( )로 화면 출력 상위레벨 UI를 사용한 예 2 : Display를 이용한 화면 출력 -연습문제 4장 상위레벨 UI -상위레벨 UI로 작성된 프로그램의 구성 요소 -Component 클래스와 컴포넌트 컴포넌트를 추상화한 클래스 org.kwis.msp.lwc 패키지 Component의 기능 및 특징 -ContainerComponent와 컨테이너 ContainerComponent의 특징 위피 자바의 컨테이너들 컴포넌트의 크기와 위치 결정 색 표현 -ShellComponent ShellComponent의 특징 ShellComponent의 영역 ShellComponent의 생성자 ShellComponent의 주요 메소드 키 그랩 -FormComponent FormComponent의 특징 FormComponent의 생성자 FormComponent 안에 FormComponent 추가 -이벤트 핸들링 이벤트의 흐름 이벤트 리스너를 이용하는 방법 이벤트 리스너 작성 및 등록 컴포넌트 별 이벤트 핸들링 사례 콜백(Call back)형 이벤트 핸들링 콜백형 이벤트 핸들링과 EventListener -다중 쉘(Multiple ShellComponent)을 가진 UI -연습문제 5장 단순 컴포넌트 -ButtonComponent 개요 생성자 버튼 이미지 생성 이벤트 핸들링 주요 메소드 -ActionListener 호출되는 경우 리스너 등록 action( ) 메소드 -LabelComponent 개요 생성자 이벤트 핸들링 주요 메소드 LabelComponent의 정렬 -CheckboxComponent 개요 체크박스와 라디오버튼 생성자 CheckboxGroup과 라디오버튼 생성 이벤트 핸들링 주요 메소드 체크박스나 라디오버튼을 선택하는 방법 -ChangeListener 호출되는 경우 리스너 등록 changed( ) 메소드 -ListComponent와 ListItemComponent 개요 생성자 이벤트 핸들링 주요 메소드 리스트 종류 3가지 리스트 아이템에 번호키 입력 : controlNumber( ) 메소드 호출 리스트 아이템 선택 선택된 리스트 아이템 알아내기 -ImageComponent 개요 생성자 이벤트 핸들링 주요 메소드 -연습문제 6장 고급 컴포넌트 -CommandBarComponent 개요 생성자 이벤트 핸들링 주요 메소드 Command 명령바의 생성 -CommandListener 호출되는 경우 리스너 등록 commandAction( ) 메소드 -TickerComponent 개요 생성자 이벤트 핸들링 주요 메소드 티커 컴포넌트의 이동 조절 -ProgressComponent 개요 생성자 이벤트 핸들링 주요 메소드 -ComboComponent 개요 생성자 이벤트 핸들링 주요 메소드 -DateFieldComponent 개요 생성자 이벤트 핸들링 주요 메소드 -TextComponent 개요 전체 화면을 문자 편집용으로 사용 입력 제한자 입력 가능 문자 수 -TextFieldComponent와 TextBoxComponent 개요 생성자 이벤트 핸들링 주요 메소드 -DialogComponent 개요 생성자와 다이얼로그 컴포넌트의 종류 이벤트 핸들링 주요 메소드 다이얼로그 화면 출력 : doModal( )과 show( ) -AnnunciatorComponent 개요 생성자 이벤트 핸들링 주요 메소드 -연습문제 7장 중간 테스트 8장 이벤트 처리와 keyNotify, 스레드 및 타이머 -이벤트 큐와 이벤트 처리 스레드 jlet은 이벤트 기반 응용 jlet의 이벤트 발생 및 처리 과정 -KEY_EVENT 키의 입력에 따른 콜백 이벤트 핸들링과 이벤트 리스너의 관계 이벤트 발생 키 종류 키 판별 KEY_EVENT 핸들링, keyNotify( ) 컴포넌트와 포커스 스레드 활용 주기적 작업을 위한 타이머 활용 -연습문제 9장 컨테이너와 배치, 페인팅, 새로운 컴포넌트 만들기 -학습이 필요한 이유 -컴포넌트의 위치와 크기 조절 Component의 멤버 configure() 메소드 컴포넌트 크기 조절을 위한 getPreferredWidth( ), getPreferredHeight( ) -ContainerComponent의 자식 컴포넌트의 배치 과정 void validate( ) void layout( ) void configure(int x, int y, int w, int h. int mask) void invalidate( ) -컨테이너와 컴포넌트의 페인팅 페인팅 과정 void paint(Graphics g) 다시 그리기를 위한 repaint( ) 즉시 그리기를 위한 serviceRepaints( ) Card의 페인팅과 컴포넌트의 repaint( ) 페인팅과 배치 -기존 컴포넌트를 상속받아 새로운 컴포넌트 만들기 -컨테이너 만들기 컨테이너 만들기 기초 그리드 레이아웃 컨테이너 만들기 널 컨테이너(Null Container) 만들기 널 컨테이너를 이용하여 2,4,6,8 키로 움직이는 버튼 만들기 -연습문제 10장 하위레벨 UI -하위레벨 UI란? 하위레벨 UI를 위한 위피 자바 구성 요소 하위레벨 UI의 특징 하위레벨 UI 맛보기 -Card의 그래픽 Graphics 도형 그리기 및 칠하기 텍스트 출력 폰트 및 폰트 제어 색상 제어 그리기 모드 제어 -이미지 다루기 Image 클래스 이미지 객체 생성 이미지 그리기 이미지 복사 및 이미지 수정 이미지 인코딩과 부분 이미지 이미지 애니메이션 이미지 로딩과 ImageObserver 인터페이스 -기타 Graphics 기능 : 클리핑, 픽셀 다루기 클리핑 픽셀 다루기 -그래픽 컴포넌트 만들기 -Display Display와 Card Display 객체 얻기 -Card Card의 특징 Card의 생성 Card의 paint( ), repaint( ), serviceRepaints( ) -Card의 이벤트 처리 : 하위레벨 UI 이벤트 처리 Card의 키 입력 이벤트 처리 Card의 showNotify( ) Card의 pointerNotify( ) -ShellComponent와 Card와의 관계 쉘과 자식 컴포넌트들은 모두 쉘의 Card 공유 Graphics 컨텍스트 공유 Card에서 컴포넌트로 이벤트 전달 -연습문제 보너스문제 11장 파일 및 파일 시스템 -파일 입출력 기초 휴대폰의 메모리 특성 위피 파일 입출력 패키지 위피 파일 시스템의 특성 위피 에뮬레이터의 파일 시스템 -파일 입출력 File 클래스를 이용한 파일 생성 및 열기 저수준 입출력과 고수준 스트림 입출력 File을 이용한 저수준 파일 입출력 File을 이용한 스트림 파일 입출력 -파일 시스템 관리 FileSystem 클래스 디렉토리 내 파일 리스트 디렉토리 다루기 파일 및 디렉토리 이름 변경 파일 다루기 파일 및 디렉토리 검사 -연습문제 12장 위피의 DB 입출력 -위피의 DB 기초 위피 플랫폼의 DB 특징 DB 입출력 패키지 DB와 레코드 다중 필드 레코드 만들기 -DB 입출력 DB 생성 및 열기, 닫기 레코드 쓰기 레코드 읽기 레코드 읽기 시 유의 레코드 정렬 sortRecord( )의 활용 DataFilter와 DataComparator를 구현한 클래스 레코드 삭제 DB 삭제 -전화번호부 만들기 예제 예제 개요 -연습문제 13장 네트워킹 -위피의 네트워킹 네트워킹 기초 네트워킹을 위한 위피 자바 패키지 -소켓 통신을 위한 응용프로그램 구성 스트림 방식의 TCP 소켓 통신 데이터그램 방식의 UDP 소켓 통신 -클래스 상세 Network 클래스 URL 클래스 Socket 인터페이스 HttpSocket 인터페이스 -연습문제 14장 미디어 처리 및 기타 기능 -단말기 속성 제어 -BackLight 개요 생성자 주요 메소드 -HandsetProperty 개요 생성자 주요 메소드 미디어 재생 패키지 -Clip 개요 생성자 주요 메소드 -Player 개요 재생 중지 일시 정지 재개 녹음 -PlayListener 인터페이스 개요 498 리스너 등록 연습문제 15장 최종 테스트 부록 찾아보기 |
황기태의 다른 상품
|
겨울에 시작한 작업이 또 하나의 겨울이 지나고, 매섭게 쏘아대는 햇볕 사냥꾼의 불볕 화살로 달구어진 여름이 되어서 끝이 났습니다. 파워포인트로 강의 노트를 만들었더니 그것 만으로 한 권의 책이 되었고 다시 강의 노트에 살을 더하고 생명을 불어넣는데 1년의 세월이 지나갔습니다. 가편집된 상태로 책을 만들어 한 학기 수업을 진행하고, 부족한 부분을 메우고 애매한 부분을 고치고 학습에 도움이 될까 하는 내용을 이것 저것 추가하여 또 6개월의 시간이 흘렀습니다. 고진감래 끝에 한 권의 책을 완성할 수 있어서 너무나 기쁩니다.
2009년 4월 이후 출시되는 휴대폰에 위피 탑재의 의무가 사라지게 되었습니다. 노키아, 애플, 구글 등 외국 휴대폰들이 국내에 상륙하고 있습니다. 휴대폰에 PC의 기능을 보강한 강력한 성능의 스마트 폰이 뜨거운 관심을 받으면서 모바일 시장을 들썩이고 있습니다. 마치 위피의 세계가 완전히 몰락할 것 같은 분위기가 확산되고 있는 것이지요. 그러나 위피 전문가 집단에 따르면 현재 모바일 콘텐츠의 약 90% 이상에 이르는 위피 콘텐츠와 위피 중심의 모바일 네트워크가 작동되고 있는 이상 위피를 갈아치울수 없는 현실이라고 합니다. 또한 휴대폰에 탑재되는 운영체제는 기본적으로 원시적인 수준이므로 응용 프로그램 개발의 용이함과 생산성, 표준성을 보장하기 위해 위피 플랫폼은 피할 수 없는 현실입니다. 위피를 사용하지 않는다 하더라도 결국 그 자리에 위피 같은 중간 플랫폼이 들어갈 수밖에 없는 셈입니다. 스마트폰의 경우, 윈도우 모바일, 맥 OS X, 심비안, 안드로이드 등 제대로 된 운영체제나 플랫폼을 탑재하고 있지만 이들을 국내에서 서비스하고자 하는 이동통신사들은 기존 위피 콘텐츠를 계속 사용하기 위해 이들 위에 위피 플랫폼을 탑재할 필요성을 인지하고 있습니다. 위피의 생명력은 계속될 것입니다. 이 책은 Java 언어로 jlet 위피 응용프로그램을 개발하는 기법을 설명하는 책입니다. 위피 프로그래밍은 C와 Java 둘 다 가능하지만 저자는 이전의 강의 경험을 바탕으로 고민 끝에 Java 기반의 jlet 위피 프로그래밍만을 다루기로 결정하였습니다. 자바 언어가 응용 프로그램 시장에서 대세를 이루며, 다루기 쉽기 때문입니다. 이 책을 지음에 있어 학습자와 강사 모두를 위해 노력하였습니다. 학습자를 위한 다양하고 적절한 예제와 설명을 갖추고, 자기 학습의 여지를 위해 풍부한 연습문제를 제공합니다. 또한 6장까지의 내용을 배운 뒤 스스로의 실력을 테스트할 수 있도록 중간 테스트 문제를 삽입하였으며, 책의 마지막에 최종 테스트 문제를 두어 종합적인 응용 테스트를 할 수 있도록 하였습니다. 부록에는 SKT 휴대폰을 가진 사용자에게 한정되지만, 개발한 위피 응용프로그램을 자신의 휴대폰에 탑재해 볼 수 있도록 그 방법을 실었습니다. 이 책이 출간되기까지 많은 사람들의 도움이 있었습니다. 책 교정을 도와준 류장상, 이승현, 최상민, 박진원, 신민철 학생, 언제나 걱정해주고 즐겁게 해주는 귀여운 수연, 연수, 수희, 그리고 아내에게 감사를 드립니다. 책의 출간을 위해 적극적으로 애써주시고 도와주신 생능 출판사의 사장님과 팀장님께 진심으로 감사드립니다. 하나님께 모든 영광을 돌립니다. 2009년 8월 코스모스 핀 가을을 기다리는 여름날에 지은이가 1장 위피와 모바일 시스템 모바일 시스템에 대해 개괄적으로 설명한다. 위피의 출현 배경과 위피 표준 규격을 설명하며 휴대폰에 탑재되는 무선 인터넷 플랫폼에 있어 위피의 위상에 대해서 설명한다. 그리고 위피 응용프로그램을 개발 배포하는 과정을 설명한다. 2장 jlet 응용프로그램 개발 환경 jlet 응용프로그램을 개발하기 위한 통합 개발 환경을 설명하고 환경을 구축하는 과정을 자세히 설명한다. 통합 개발 환경은 자바 JDK, 위피 패키지, 이클립스, 아로마 위피 에뮬레이터 등으로 구성되며 이들은 모두 무료로 사용할 수 있는 것들이다. 이들을 하나씩 설치하는 방법을 설명하며, 이클립스를 중심으로 jlet 응용프로그램 소스를 작성하고 컴파일하며 아로마 에뮬레이터를 자동으로 호출하여 컴파일된 jlet 응용프로그램을 실행시키는 자동화 과정을 소개한다. 3장 jlet 프로그래밍 기초 jlet 응용프로그램 작성을 위한 위피에서 표준으로 제공되는 위피 자바 패키지와 jlet 응용프로그램의 기본 골격, jlet 응용프로그램의 실행 주기 등 jlet 프로그래밍의 기초에 대해 설명하고 이해를 돕기 위해 간단한 jlet 응용프로그램의 예제를 보인다. 위피 자바 패키지에 제공되는 하위레벨 UI와 상위레벨 UI 클래스를 설명하며, 이들로 jlet 응용프로그램의 UI를 작성하는 방법을 설명하고 이들의 이해를 돕기 위해 간단히 예를 들어 설명한다. 4장 상위레벨 UI 상위레벨 UI를 이용하여 jlet 응용프로그램을 작성하는 전반적인 기술에 대해 소개한다. 상위레벨 UI에 속하는 컴포넌트와 컨테이너를 설명하고, 상위레벨 UI에 있어 가장 중요한 ShellComponent와 FormComponent의 사용에 대해 설명한다. 이벤트와 상위레벨 UI에서 이벤트의 흐름에 대해서 설명하고, 이벤트를 처리하는 두 가지 방법인 이벤트 리스너를 이용하는 방법과 콜백 핸들러를 이용하는 방법에 대해 설명한다. 여러 개의 ShellComponent를 가진 jlet 응용프로그램을 작성하는 방법 또한 설명한다. 5장 단순 컴포넌트 상위레벨 UI에 해당하는 컴포넌트들 중 비교적 단순한 컴포넌트인 ButtonComponent, LabelComponent, CheckboxComponent, ListComponent, ListItemComponent, ImageComponent에 대해 소개하고, 이들 컴포넌트를 생성하고 활용하는 방법을 다양한 예제와 함께 설명한다. 또한 ACTION 이벤트와 CHANGE 이벤트를 처리하는 리스너인ActionListener와 ChangeListener에 대해 설명하고, 이들 컴포넌트에 발생하는 ACTION 이벤트와 CHANGE 이벤트를 처리하는 방법에 대해서도 예제와 함께 설명한다. 6장 고급 컴포넌트 상위레벨 UI에 해당하는 컴포넌트 중 고급 컴포넌트인 CommandBarComponent, TickerComponent, ProgressComponent, ComboComponent, DateFieldComponent, TextComponent, TexfFieldComponenet, TextBoxComponent, DialogComponent, AnnunciatorComponent 등에 대해, 이들 컴포넌트를 생성하고 활용하는 방법을 예제와 함께 설명한다. 또한 이들 컴포넌트와 연관된 이벤트가 발생하는 각 경우에 대해서도 예제와 함께 자세히 설명한다. 7장 중간 테스트 지금까지 배운 내용을 기반으로 독자가 스스로의 실력을 확인해보기 위한 도전 문제를 제공한다. 총 3 문제로서 C등급 20분, B 등급 40분, A등급 60분짜리가 제공된다. 8장 이벤트 처리와 keyNotify, 스레드 및 타이머 jlet 응용프로그램에서 발생하는 이벤트를 처리하기 위해 위피 플랫폼에서 지원하는 이벤트 큐와 이벤트 처리 스레드 등을 설명하고, 사실상 가장 중요한 이벤트인 KEY_EVENT에 대해서 자세히 설명한다. 키 패드로부터 키 입력이 이루어지면 KEY_EVENT가 발생하며 이 이벤트를 처리하는 keyNotify( ) 메소드를 설명하고, 발생한 키의 종류를 판별하는 방법을 설명한다. 9장 컨테이너와 배치, 페인팅, 새로운 컴포넌트 만들기 상위레벨 UI 컴포넌트의 위치와 크기 조절의 난해함에 대해 설명하고, 컨테이너에서 자식 컴포넌트를 배치하는 과정을 자세히 설명한다. 컨테이너와 컴포넌트가 자신의 모양을 그리는 페인팅의 과정을 자세히 설명하고 페인팅과 배치의 관련성에 대해서 설명한다. 컴포넌트의 repaint( ) 과정에 대해 설명하고 Card의 페인팅과의 연관성에 대해서 설명한다. 기존 컴포넌트를 상속받아 새로운 컴포넌트를 만드는 과정과 새로운 컨테이너를 만드는 과정을 다루고, 배치를 전혀 하지 않는 널 컨테이너(Null Container)를 만들고 이 컨테이너를 이용하여 2,4,6,8 키로 움직이는 버튼을 가진 jlet 응용프로그램을 작성하는 예를 보인다. 이 예제는 움직이는 개체를 가진 게임을 작성할 때 많은 도움을 줄 것이다. 10장 하위레벨 UI 하위레벨 UI는 상위레벨 UI에 비해 위피 플랫폼과 밀접하게 상호작용하는 보다 원시적인 UI 패키지이다. 하위레벨 UI에 속하는 Card, Display, Graphics 등에 대해서 자세히 소개한다. 특히 Card에 그래픽을 위한 선, 원, 사각형 등의 도형 그리기와 칠하기, 텍스트 출력, 폰트, 색상, 그리기 모드 제어, 이미지 로딩, 이미지 복사, 수정, 화면 출력, 클리핑, 픽셀 다루기 등을 예제와 함께 자세히 설명한다. 그리고 Card에서 키 이벤트를 처리하는 방법과 showNotify( )에 대해서 설명하고 ShellComponent와 Card와의 관계에 대해서도 설명한다. 11장 파일 및 파일 시스템 위피에서 파일 입출력을 위한 패키지를 소개하고 위피 파일 시스템의 특징을 설명한다. File 클래스를 이용하여 파일 읽기와 파일 쓰기의 과정을 예제와 함께 자세히 설명하고 FileSystem 클래스를 이용하여 파일 시스템을 제어하는 방법을 예제와 함께 자세히 설명한다. 파일 시스템 제어에는 파일 시스템 크기 정보, 파일과 디렉토리의 구분, 디렉토리 내 파일 리스트 얻기, 파일 삭제, 디렉토리 삭제, 디렉토리 생성, 파일 또는 디렉토리의 이름 변경 등의 작업을 포함한다. 12장 DB 입출력 위피 DB의 기초 개념, DB 특징, DB 입출력 패키지에 대해서 설명한다. DB 입출력을 위해 제공되는 DataBase 클래스를 이용하여 DB 생성 및 열기, 닫기, DB에 레코드 쓰기, DB로부터 레코드 읽기, 레코드 정렬, DB로부터 레코드 삭제, DB 삭제 등의 과정을 예제와 함께 자세히 설명한다. 그리고 마지막으로 전화번호부를 작성하고 검색하는 예제 소스를 보인다. 13장 네트워킹 위피에서의 네트워킹에 대해 기초를 설명하고 TCP와 UDP 소켓을 이용하여 통신하는 방법에 대해서 자세히 설명한다. 어떤 웹 서버로부터 이미지를 받아와서 화면에 출력하는 응용 프로그램을 예제로 소개한다. 14장 미디어 처리 및 기타 기능 기타 나머지 몇 가지 위피의 기능에 대해서 설명한다. 단말기의 속성을 제어하는 org.kwis.msp.handset 패키지에 대해 설명하고, 미디어를 재생하기 위해 지원되는 org.kwis.msp.media 패키지에 대해 설명한다. 이 패키지를 이용하여 미디어의 재생/중단/재개 등의 방법을 예제와 함께 자세히 설명한다. 15장 최종 테스트 지금까지 배운 내용을 기반으로 독자가 스스로의 실력을 확인해보기 위한 도전 문제를 제공한다. 총 3 문제로서 A등급 100분, A 등급 5시간, A등급 8시간짜리가 제공된다. 부록 아로마 에뮬레이터의 LCD 크기를 변경하는 방법과 SK 텔레콤의 휴대폰을 가진 독자가 자신이 개발한 위피 응용프로그램을 자신의 휴대폰에 직접 탑재하고 실행하는 방법을 기술한다. |