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

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

Đ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

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.

Võ Phương Bình – ITFAC - DLU   J2ME là gì? Các khái niệm chính của J2ME › Configurations (CLDC, CDC) › Profiles (MIDP)  MIDlet, MIDlet Suite  Các lớp API bản  Cài đặt và sử dụng bộ Toolkit  Lập trình J2ME Eclipse Võ Phương Bình – ITFAC - DLU 05/09/21   Java gồm có 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  phiên bản này nhằm tới các ứng dụng khác chạy các loại thiết bị khác Võ Phương Bình – ITFAC - DLU 05/09/21 Java Platform Java2 Java2 Standard Edition Enterprise Edition (J2SE™) (J2EE™) Standard desktop & Heavy duty server workstation applications systems Võ Phương Bình – ITFAC - DLU 05/09/21 Java2 Micro Edition (J2ME™) Small & memory constrained devices    Mỗi phiên bản định nghĩa tập các thư viện lớp khác 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 J2EE J2SE J2ME 05/09/21 Võ Phương Bình – ITFAC - DLU J2ME Profile › Yêu cầu nền tối thiểu cho một nhóm thiết bị  Profiles Configuration J2ME Libraries Profile › Đặc tả cần thiết cho một họ thiết bị Configuration  Java Language Java Virtual Machine Host Operating System 05/09/21 Võ Phương Bình – ITFAC - DLU    Configurations Profiles Optional packages Võ Phương Bình – ITFAC - DLU 05/09/21  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 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 Võ Phương Bình – ITFAC - DLU 05/09/21 Configuration Configuration CLDC CLDC CDC CDC Connected Limited Device Configuration Connected Device Configuration 05/09/21 Võ Phương Bình – ITFAC - DLU  CLDC › Tổng bộ nhớ:160 512 KB › Bộ xử lý:16-bit hoặc 32-bit › Tiêu thụ lượng thấp (dùng pin) › Kết nối với băng thông giới hạn Võ Phương Bình – ITFAC - DLU  CDC › Tổng bộ nhớ: 2MB hoặc đối với nền(flatform) Java › Bộ xử lý: 32-bit › Kết nối với băng thông mạng cao, thường sử dụng TCP/IP 05/09/21 10 Võ Phương Bình – ITFAC - DLU 05/09/21 47    05/09/21 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 Võ Phương Bình – ITFAC - DLU 48 J2ME/apps/{proj} source, resource, and binary files J2ME/apps/{proj}/bin JAR, JAD, unpacked manifest files J2ME/apps/{proj}/lib external class libraries, (JAR or ZIP) for a specific project J2ME/apps/{proj}/res resource files J2ME/apps/{proj}/src source files J2ME/apps/lib external class libraries, (JAR or ZIP) for all KToolbar projects 05/09/21 Võ Phương Bình – ITFAC - DLU 49      05/09/21 Chọn platform Viết code Save Build (Compile + Preverify) Run Võ Phương Bình – ITFAC - DLU 50  Eclipse › Thiết kế theo mô hình platform › Kiến trúc mơ cho phép gắn các plugin để sử dụng các công cụ cần thiết  EclipseMe › Plugin dành riêng cho phát triển ứng dụng J2ME › Thừa hương đầy đủ các tính của Java IDE từ Eclipse 05/09/21 Võ Phương Bình – ITFAC - DLU 51  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 05/09/21 Võ Phương Bình – ITFAC - DLU 52  Bước 4: Khởi động Eclipse › 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 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 05/09/21 Võ Phương Bình – ITFAC - DLU 53 05/09/21 Võ Phương Bình – ITFAC - DLU 54       05/09/21 Menu File -> New -> Project 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 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ể để thứ theo mặc định Nhấn Finish để kết thúc quá trình tạo J2ME project Võ Phương Bình – ITFAC - DLU 55       05/09/21 Trong khung Navigator, kích chuột phải J2ME project (theo ví dụ là HelloWorld) Chọn New -> Other Mở rộng mục J2ME, chọn J2ME Midlet Nhấn Next Nhập tên gói chứa MIDlet mục package, ví dụ: edu.eclipseme.helloworld Nhập tên lớp MIDlet mục Name, ví dụ: HelloWorldMIDlet Nhấn Finish để kết thúc quá trình tạo MIDlet Võ Phương Bình – ITFAC - DLU 56   05/09/21 Chương trình vẽ dòng chữ Hello World in đậm màu đỏ màn hình điện thoại Trước in dòng chữ, chương trình hiển thị màn hình intro 30 giây với hình ảnh dạng png làm logo Võ Phương Bình – ITFAC - DLU 57 package eclipseme.HelloWorld; import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Font; import javax.microedition.lcdui.Graphics; public class HelloCanvas extends Canvas { protected void paint(Graphics g) { clearScreen(g); paintHello(g); } private void clearScreen(Graphics g) { g.setColor(0xFFFFFF); g.fillRect(0, 0, getWidth(), getHeight()); } 05/09/21 private void paintHello(Graphics g) { String hello = "Hello World"; 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); } } Võ Phương Bình – ITFAC - DLU 58 package eclipseme.HelloWorld; import java.io.IOException; import java.util.Timer; import java.util.TimerTask; import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Graphics; import javax.microedition.lcdui.Image; 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(); public IntroCanvas(Display 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); } 05/09/21 Võ Phương Bình – ITFAC - DLU 59 protected void paint(Graphics protected void g) { showNotify() { try { timer.schedule(new Image logo = CountDown(), timeout); Image.createImage(logoNa } me); protected void g.drawImage(logo, 0, keyPressed(int 0, Graphics.TOP | keyCode) { endIntro();} Graphics.LEFT); } private class CountDown catch (IOException e) { extends TimerTask { g.drawString("Logo Error", 0, 0, Graphics.TOP | public void run() Graphics.LEFT); {endIntro();} } } } 05/09/21 Võ Phương Bình – ITFAC - DLU 60 protected void startApp() throws package eclipseme.HelloWorld; MIDletStateChangeException { import display = javax.microedition.lcdui.Display; Display.getDisplay(this); import helloCanvas = new javax.microedition.midlet.MIDlet; HelloCanvas(); import introCanvas = new javax.microedition.midlet.MIDletS IntroCanvas (display, tateChangeException; helloCanvas, 3000); public class HelloWorldMIDlet extends MIDlet { private Display display; private IntroCanvas introCanvas; private HelloCanvas helloCanvas; public HelloWorldMIDlet() { super(); } introCanvas.startIntro(); } protected void pauseApp() { } protected void destroyApp(boolean arg0) throws MIDletStateChangeException {} } 05/09/21 Võ Phương Bình – ITFAC - DLU 61 ... J2ME/ apps/{proj} source, resource, and binary files J2ME/ apps/{proj}/bin JAR, JAD, unpacked manifest files J2ME/ apps/{proj}/lib external class libraries, (JAR or ZIP) for a specific project J2ME/ apps/{proj}/res... 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 Võ... có số lớp ít J2EE J2SE J2ME 05/09/21 Võ Phương Bình – ITFAC - DLU J2ME Profile › Yêu cầu nền tối thiểu cho một nhóm thiết bị  Profiles Configuration J2ME Libraries Profile › Đặc

Ngày đăng: 08/05/2021, 20:04

Từ khóa liên quan

Mục lục

  • LẬP TRÌNH MOBILE

  • Căn bản về J2ME

  • Phiên Bản Java

  • Phiên Bản Java (2)

  • Phiên Bản Java (3)

  • Kiến Trúc J2ME

  • Các Khái Niệm J2ME

  • Configurations

  • Slide 9

  • So Sánh CLDC & CDC

  • KVM & CVM

  • CLDC & CDC – Tập con J2SE

  • CLDC & CDC – Tập con J2SE (2)

  • Các Khái Niệm Chính J2ME (2)

  • Profiles

  • Profiles (2)

  • MIDP – MID Profile

  • MIDP – Đặc tả

  • CÁC KHÁI NIỆM CHÍNH J2ME (3)

  • Optional Packages

Tài liệu cùng người dùng

Tài liệu liên quan