1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng điện tử môn tin học: Căn bản về J2ME pps

61 533 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Căn bản về J2ME pps
Tác giả Võ Phương Bình
Trường học Đại học Duy Tân (Duy Tan University)
Chuyên ngành Tin học
Thể loại Bài giảng điện tử
Năm xuất bản 2014
Thành phố Đà Nẵng
Định dạng
Số trang 61
Dung lượng 3,26 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Profile › Đặc tả cần thiết cho một họ thiết bị J2ME Profile J2ME Libraries Java Virtual Machine...  Lớp kế thừa là lớp chính của ứng dụng Lớp MIDlet định nghĩa c

Trang 2

 J2ME là gì?

 Các khái niệm chính của J2ME

 MIDlet, MIDlet Suite

 Các lớp API cơ bản

 Cài đặt và sử dụng bộ Toolkit

 Lập trình J2ME trên Eclipse

Trang 3

Java gồm có 3 phiên bản.

 Mỗi phiên bản cung cấp một mội

trường hoàn chỉnh cho việc chạy các ứng dụng Java, bao gồm:

› Máy ảo Java (JVM – Java Virtual Machine)

› Các lớp thời gian chạy.

 3 phiên bản này nhằm tới các ứng

dụng khác nhau chạy trên các loại thiết bị khác nhau

Trang 4

Java2

Standard Edition

(J2SE™)

Java2 Enterprise Edition

(J2EE™)

Java2 Micro Edition (J2ME™) Java 2 Platform

Standard desktop &

workstation applications Heavy duty serversystems constrained devicesSmall & memory

Trang 5

Mỗi phiên bản định nghĩa tập các thư viện lớp khác nhau

 Có đến hàng ngàn lớp thời gian chạy J2SE chính, khoảng 10-20 MB

 J2ME- có số lớp ít hơn

J2ME J2SE J2EE

Trang 6

 Configuration

› Yêu cầu nền tối

thiểu cho một nhóm thiết bị.

 Profile

› Đặc tả cần thiết

cho một họ thiết bị

J2ME Profile

J2ME Libraries

Java Virtual Machine

Trang 7

Configurations

 Profiles

 Optional packages

Trang 8

 Configuration là một môi trường

thời gian chạy Java hoàn chỉnh, bao gồm:

› Java virtual machine (VM): thực thi Java

bytecode

› Mã tự nhiên để giao tiếp với hệ thống cơ sơ

› Tập các lớp thời gian chạy Java chính.

 Để sử dụng một configuration, một thiết bị phải đạt được các yêu cầu tối thiểu

Trang 9

CLDC CDC

Connected Limited Device

Configuration Connected Device Configuration

Trang 10

lượng thấp (dùng

pin)

thông giới hạn

hoặc hơn đối với nền(flatform) Java

› Bộ xử lý: 32-bit

thông mạng cao, thường sử dụng TCP/IP

Trang 11

KVM – máy ảo Java dành cho cấu hình CLDC

 CVM - máy ảo Java dành cho cấu hình CDC

Trang 12

 CLDC bao gồm các

lớp từ:

› java.lang

› java.io

› java.util

 Chỉ bao gồm các

lớp được chọn từ

mỗi package

 CDC bao gồm 17 package

 Bao gồm cả các lớp trong package chia se

Trang 13

CDC CLDC J2SE

Trang 14

 Configurations

 Optional packages

Trang 15

Thêm các lớp đặc tả miền cho một

configuration:

› Để hỗ trợ sử dụng đặc tả của một thiết bị

 Hầu hết các profiles định nghĩa các lớp giao diện người dùng cho việc xây dựng các ứng dụng tích hợp

 Để sử dụng profile, thiết bị phải đáp ứng yêu cầu tối thiểu của

configuration và profile cơ sở

Trang 16

n Profile

Personal Basis Profile

Personal Profile

Trang 17

MIDP là profile dành cho các MID -

Mobile Information Device

 Đặc trưng tối thiểu của MID:

› Đủ bộ nhớ để chạy các ứng dụng MIDP

› Độ phân giải tối thiểu 96 X 56 pixels, màu hoặc trắng đen

› Bộ phím: keypad, keyboard, hoặc touch screen

› Khả năng mạng không dây 2 chiều

Trang 18

Có 2 phiên bản MIDP:

 MIDP 1.0 – 9/2000: Nhiều thiết bị trên thì trường hiện tại hỗ trợ

 MIDP 2.0 – 11/2003: Nhiều cải

tiến vượt bậc so với MIP 1.0

› Nâng cấp tính năng bảo mật: HTTPS, kết

nối tới server

› Thêm các API hỗ trợ Multimedia

› Mơ rộng các tính năng của Form

› Hỗ trợ Game API

› Hỗ trợ kiểu ành RGB

Trang 19

Configurations

 Profiles

Trang 20

 Tập các API hỗ trợ thêm

 Độc lập với một cấu hình và một hoặc nhiều profile

 Các optional package:

Bluetooth

Trang 21

Ứng dụng J2ME là một dạng không rõ ràng (ambiguous term)

 Nên chọn cụ thể Configuration,

profile và các optional package

 Các CDC-based profile giúp phát

triển đơn giản hơn J2SE, nhưng không phù hợp với các low-end device

 Các CLDC-based profile khó hơn cho việc phát triển, đặc biệt là cố gắng hạn chế kích thước ứng dụng để chạy trên nhiều thiết thị nho

Trang 22

 Phần quan trọng nhất của J2ME

MIDP không dùng phương thức static

main, cũng không gọi phương thức System.exit để thoát ứng dụng

 Thay vậy, chúng ta sử dụng MIDlet, một ứng dụng MID Profile

Trang 23

Mỗi ứng dụng phải kế thừa lớp

javax.microedition.midlet.MIDlet để

cho phép phần mềm quản lý ứng dụng:

› Quản lý MIDlet

› Có thể lấy các đặc trưng từ bộ mô tả ứng dụng

› Thông bào và yêu cầu các thay đổi trạng thái

Trang 24

 Lớp kế thừa là lớp chính của ứng dụng

 Lớp MIDlet định nghĩa các phương thức trừu tượng mà lớp chính thực thi như: startApp(), destroyApp(), notifyDestroyed()

Trang 25

Một hay nhiều MIDlet được đóng gói

vào một MIDlet suite, bao gồm:

› JAR (Java archive) file

› JAD (Java Application Descriptor) file

 Tất cả các lớp người dùng định

nghĩa và tài nguyên được cần thiết cho MIDlet Suite nằm trong file JAR

Trang 26

 File JAR cũng phải chứa file

manifest mô tả các MIDlet trong

Suite

 File JAD chứa thông tin tương tự, và được sử dụng bởi thiết bị đế lấy thông tin vềmột MIDlet Suite mà

không phải download và cài đặt

MIDlet Suite

Trang 28

Khai báo các gói đặc tả

MIDP

import javax.microedition.lcdui.*;

import javax.microedition.midlet.*;

Trang 29

Thực thi giao diện CommandListener

public class HelloMIDlet

extends MIDlet

implements CommandListener {

Trang 30

Tạo form, thêm các Command

Trang 32

MIDlet – Lớp cơ sở

Trang 33

protected abstract void startApp()

protected abstract void pauseApp()

 protected abstract void

Trang 35

Form là màn hình chứa các thành

phần như: image, text field, date field, gauge, choice group, và

Trang 36

 Quản lý Item

public int append(Item item)

public Item get(int itemNum)

 Layout

 public void

setItemStateListener(ItemStateListe

ner iListener)

Trang 38

 Lớp Command biểu diễn mặc ngữ nghĩa của một hành động

 Hành động được thực thi trong đối

tượng CommandListener

 CommandListener được kết hợp với

một Displayable hoặc Item

 Một khi Command được gọi –

CommandListener được gọi, và hành động đucợ thực thi

Trang 40

 Đối tượng này là bộ lắng nghe các Command được đưc vào một

Displayable

 public void

commandAction(Command c,

Displayable d)

Trang 41

Khi một Command (được đưa vào một Item) được gọi, ứng dụng được thông báo có commandAction() được gọi

trong ItemCommandListener

 public void

commandAction(Command c, Item item)

Trang 43

Lớp cha của các thành phần có thể được thêm vào Form

 Tất cả các đối tượng Item có một trường label

 Layout, size, và appearance

 Thêm vào các Command

Trang 44

public void notifyStateChanged()

public int getPreferredWidth()

Trang 45

Bước 1: Download sun ’s J2ME Wireless Toolkit từ:

http://java.sun.com/products/j2mewtool kit/download-2_1.html

Bước 2: Kiểm tra J2SE SDK đã được cài đặt

Bước 3: Cài đặt J2ME Toolkit

Trang 46

Shortcut trên menu Start:

chương trình:

Trang 48

 Chọn “File\New Project”

 Nhập tên project và lớp MIDlet

 Một thư mục mới chứa project sẽ tự động được tạo

Trang 49

files.

ZIP) for a specific project

J2ME/apps/lib external class libraries, (JAR or ZIP) for all KToolbar projects.

Trang 51

sử dụng các công cụ cần thiết

dụng J2ME

Java IDE từ Eclipse.

Trang 52

Bước 1: Download tại địa chi

› Eclipse: http://www.eclipse.org

› EclipseME:

http://www.sourceforge.net/projects/eclipseme

Bước 2: Kiểm tra yêu cầu

› Để chạy được EclipseME, cần phải có J2ME

Wireless Toolkit (WTK) 1.0, JDK 1.4 và Eclipse 3.0M9 trơ lên.

Bước 3: Cài đặt EclipseMe

› Để cài đặt EclipseMe, chỉ cần giải nén file zip đến thư mục plugins của Eclipse

Trang 53

Bước 4:

Menu Window -> Preferences Mơ rộng

mục J2ME, chọn mục Platform

Components.

› Trong khung bên phải, kích chuột phải vào

mục Wireless Toolkits, kích vào Add

Wireless Toolkit.

› Cửa sổ hiện ra yêu cầu bạn chọn thư mục cài

đặt WTK Nhấn nút Browse và chọn thư mục

WTK đã cài đặt.

Nhất Finish rồi nhấn OK Quá trình cài đặt

và cấu hình đã hoàn tất.

Trang 55

Mở rộng mục J2ME, chọn J2ME MIDlet Suite Nhấn Next.

Gõ tên project (ví dụ HelloWorld) và chọn thư mục chứa project (ví dụ

C:\projects\J2ME) Nhấn Next.

Chọn nền WTK Nhấn Next.

Có thể thêm các thư viện cần dùng, thêm thư mục chứa source v.v… Cũng có thể để mọi thứ theo mặc định.

Nhấn Finish để kết thúc quá trình tạo J2ME project

Trang 56

Trong khung Navigator, kích chuột

phải trên J2ME project (theo ví dụ ở trên là HelloWorld).

Trang 57

chương trình hiển thị

một màn hình intro

trong 30 giây với một

hình ảnh dạng png

làm logo.

Trang 58

g.setColor(0xFF0000); Font font =

Font.getFont(Font.FACE_SYSTE

M, Font.STYLE_BOLD, Font.SIZE_MEDIUM);

g.setFont(font);

int x = (getWidth() - font.stringWidth(hello)) / 2; int y = (getHeight() - font.getHeight()) / 2;

g.drawString(hello, x, y, Graphics.TOP | Graphics.LEFT); }

}

Trang 59

public class IntroCanvas extends Canvas{

private static final String logoName =

"/Images/image.png";

private Display display;

private Displayable nextScreen;

private int timeout;

private Timer timer = new Timer();

display, Displayable nextScreen, int timeout){ this.display = display;

this.nextScreen = nextScreen;

this.timeout = timeout; }

public void startIntro(){

display.setCurrent(this); }

public void endIntro(){

display.setCurrent(nextScr een);

}

Trang 60

protected void paint(Graphics

protected void keyPressed(int keyCode) { endIntro();}

private class CountDown extends TimerTask { public void run()

{endIntro();}

}

Trang 61

private Display display;

private IntroCanvas introCanvas;

private HelloCanvas helloCanvas;

public HelloWorldMIDlet() {

super();

}

MIDletStateChangeException { display =

Display.getDisplay(this);

helloCanvas = new HelloCanvas();

introCanvas = new IntroCanvas (display,

helloCanvas, 3000);

introCanvas.startIntro(); }

protected void pauseApp() { }

protected void destroyApp(boolean arg0) throws

MIDletStateChangeException {}

}

Ngày đăng: 11/08/2014, 23:20

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm