1. Trang chủ
  2. » Luận Văn - Báo Cáo

Lab 02 ung dung giao dien nguoi dung muc cao

9 12 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 590,47 KB

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

Nội dung

- Sử dụng giao diện người dùng mức cao trong J2ME để xây dựng ứng dụng.. Thư viện lớp Screen: javax.microedition.lcdui.Screen - Các Interface cho GUI: o Choice: Định nghĩa API cho thàn

Trang 1

1 KS Thái Duy Quý - quytd@dlu.edu.vn , thaiduyquy@gmail.com

LAB 2 XÂY DỰNG ỨNG DỤNG GIAO DIỆN NGƯỜI DÙNG MỨC CAO

A MỤC TIÊU

- Tìm hiểu các công cụ giao diện người dùng mức cao

- Sử dụng giao diện người dùng mức cao trong J2ME để xây dựng ứng dụng

- Xử lý các sự kiện, chuyển giao diện và các toán tử tính toán

B KẾT QUẢ ĐẠT ĐƯỢC

- Biết vận dụng các công cụ để xây dựng ứng dụng

- Có thể xây dựng các ứng dụng thông qua các công cụ hỗ trợ trong Netbean

C KIẾN THỨC LÝ THUYẾT

1 Các công cụ hộ trợ lập trình giao diện người dùng bậc cao

- Mô hình GUI:

- Để hiển thị ra thiết bị MIDP, cần phải có được display của thiết bị Thư viện lớp display: javax.microedition.lcdui.display

Trang 2

2 KS Thái Duy Quý - quytd@dlu.edu.vn , thaiduyquy@gmail.com

- Screen tổ chức các đối tượng và xem xét việc nhập của người dùng Screen được

trình diễn bởi đối tượng Display bằng cách gọi phương thức setCurrent() Thư viện lớp Screen: javax.microedition.lcdui.Screen

- Các Interface cho GUI:

o Choice: Định nghĩa API cho thành phần giao diện người dùng, hiện thực sự lựa chọn từ một số các lựa chọn đã được định nghĩa trước

o CommandListener: Được sử dụng bởi các ứng dụng mà chúng cần nhận các

sự kiện từ các hiện thực

o ItemStateListener: Được sử dụng bởi các ứng dụng mà chúng cần nhận các

sự kiện chỉ ra các sự thay đổi trạng thái ở bên trong của các item tương tác

- Các lớp GUI:

o Alert: Một màn hình nó biểu diễn dữ liệu cho người sử dụng và đợi một

khoảng thời gian trôi qua trước khi chuyển đến màn hình kế tiếp

o AlertType: Một lớp tiện ích nó chỉ ra bản chất của alert

o Canvas: Lớp cơ sở cho việc viết các ứng dụng nó cần xử lý các sự kiện

mức thấp và sử dụng đồ họa

o ChoiceGroup: Một nhóm các thành phần phần có thể chọn được dùng để đặt vào trong một Form

o Command:Một cấu trúc nó đóng gói thông tin ngữ nghĩa của môt hành động

o DateField: Một thành phần có thể chỉnh sửa được dùng để biểu diễn thông tin lịch và thời gian nó có thể dùng để đặt vào một Form

o Display: Một tiện ích nó đại diện cho trình quản lý ứng dụng trong các thiết

bị nhập và hiển thị của hệ thống

o Displayable: Một đối tượng nó có khả năng được thay thế trên màn hình

o Font: Một tiện ích nó đại diện cho font và font metric

o Form: Một màn hình màn hình mà nó chứa các mục hỗn hợp bất kỳ(hình ảnh, text field, hoặc choice group, …)

Trang 3

3 KS Thái Duy Quý - quytd@dlu.edu.vn , thaiduyquy@gmail.com

o Gauge: Một tiện ích nó hiện thực một màn hình đồ họa dạng âm thanh của

một giá trị được sử dụng trong form

o Graphics: Một tiện ích nó cung cấp một khả năng biểu diễn hình học hai chiều

o Image: Một tiện ích nó chứa dữ liệu hình ảnh

o ImageItem: Một tiện ích nó cung cấp điều khiển sắp xếp khi các đối tượng

hình ảnh được thêm vào một form hoặc một alert

o Item: Một lớp cha của tất cả các thành phần mà nó có thể được thêm vào một Form hoặc một Alert

o List: Một màn hình mà nó chứa một danh sách các lựa chọn

o Screen: Một lớp cha của tất cả các lớp giao diện người sử dụng mức cao

o StringItem: Một mục mà nó có thể chứa một String

o TextBox: Một màn hình mà nó cho phép nhập và chỉnh sửa văn bản

o TextField: Một thành phần văn bản có thể chỉnh sửa được nó có thể được đặt vào một Form

o Ticker: Một Ticker là một mẫu văn bản nó chạy liên tục ngang qua màn hình Nó có thể được gắn vào tất cả màn hình ngoại trừ Canvas

2 Luyện tập các công cụ:

- Display:

public class MyMIDlet extends MIDlet {

Display display = null;

public MyMIDlet( ) { // constructor }

public void startApp( ) { display = Display.getDisplay(this);

}

Trang 4

4 KS Thái Duy Quý - quytd@dlu.edu.vn , thaiduyquy@gmail.com

// other methods }

- Ticker:

Display display = Display.getDisplay( );

List list = new List("Trade Stocks", Choice.EXCLUSIVE);

list.append("Buy", null);

list.append("Sell", null);

list.setTicker(new Ticker("Welcome to my discount broker"));

display.setCurrent(list);

- TextBox:

TextBox tb = new TextBox("TextBox", "This is a textbox", 20, TextField.ANY);

Display display = Display.getDisplay(this);

display.setCurrent(tb);

Các tham số tương ứng:

– TextField.ANY: Cho phép người dùng nhập bất kỳ kí tự nào

– TextField.EMAILADDR: Giá trị nhập phải là một địa chỉ email

– TextField.NUMBER: Giá trị nhập phải là một số nguyên

– TextField.PASSWD: Văn bản nhập vào bị che không nhìn thấy được

– TextField.PHONENUMBER: Giá trị nhập phải là một số điện thoại

– TextField.URL: Giá trị nhập phải là một URL

- Alert:

Image img = Image.createImage("/baochau.png");

Alert alTest = new Alert("New Alert", “Thái Trần Bảo Châu", img, AlertType.INFO);

Trang 5

5 KS Thái Duy Quý - quytd@dlu.edu.vn , thaiduyquy@gmail.com

alTest.setTimeout(Alert.FOREVER);

Các tham số của Alert:

– AlertType.ALARM

– AlertType.CONFIRMATION

– AlertType.ERROR

– AlertType.INFO

– AlertType.WARNING

- List

Image images[] = { Image.createImage("/coffee.png"),

Image.createImage("/check.png"),

Image.createImage("/coffee.png") };

String options[] = {" Next", " Previous", " New"};

list = new List("Document Option:", List.IMPLICIT, options, images); ̣

- Các phương thức của Form:

o public int append(Image img);

o public int append(Item item);

o public int append(String str);

o public void delete(int itemNum):

o public Item get(int itemNum);

o public void insert(int itemNum, Item item);

o public int size( );

- Các phương thức của Choigroup:

– public ChoiceGroup(String label, int choiceType);

– public ChoiceGroup(String label, int choiceType, String[] stringElements,

Image[] imageElements);

Trang 6

6 KS Thái Duy Quý - quytd@dlu.edu.vn , thaiduyquy@gmail.com

– public int append(String stringElement, Image imageElement);

– public void insert(int index, String stringElement, Image imageElement); – public void set(int index, String stringElement, Image imageElement); – public void delete(int index);

– public String getString(int index);

– public Image getImage(int index);

– public int getSelectedIndex( )

– public boolean isSelected(int index);

– public setSelectedIndex(int index, boolean selected);

– public int getSelectedFlags(boolean[] selectedArray);

– public void setSelectedFlags(boolean[] selectedArray);

- DateField:

DateField date = new DateField("Today's date", DateField.DATE);

Form form = new Form("Date Info");

form.append(date);

Gauge

Gauge gaVolume = new Gauge("Sound Level", true, 30, 4);

Form form = new Form("");

form.append(gaVolume);

- Các phương thức của TextFiled:

o public int getConstraints( );

o public void setConstrants(int c);

o public int getMaxSize( );

o public void setMaxSize(int size);

Trang 7

7 KS Thái Duy Quý - quytd@dlu.edu.vn , thaiduyquy@gmail.com

o public String getString( );

o public void setString(String s);

o public int size( );

o public void delete(int offset, int length);

o public void insert(char[] data, int offset, int length, int position);

o public void insert(String src, int position);

o public void setChars(char[] data, int offset, int length);

o public int getCaretPosition( );

- Ví dụ về sự kiện:

class CMidlet extend Midlet implements CommandListener {

private Form fmMain; // Form

private Command cmExit; // Command to exit the MIDlet

fmMain = new Form("Core J2ME");

// Create Form and give it a title

//Create Command object, with label, type and priority

cmExit = new Command("Exit", Command.EXIT, 1);

fmMain.addCommand(cmExit); // Add Command to Form

fmMain.setCommandListener(this); // Listen for Form events

public void commandAction(Command c, Displayable s) {

if (c == cmExit) {

destroyApp(true);

notifyDestroyed();

}

}

Trang 8

8 KS Thái Duy Quý - quytd@dlu.edu.vn , thaiduyquy@gmail.com

D BÀI TẬP

Bài 1:

Viết chương trình minh họa hiển thị các màn hình:

- TextBox,

- Alert

- List

- Form và các Item như TextField, Image, Gauge, Ticker, …

Bài 2:

Viết chương trình cho phép nhập và kiểm tra đúng số điện thoại Thêm và xử

lý nút lệnh Exit để thoát ứng dụng

Bài 3:

Viết chương trình hiển thị lựa chọn (List) các thành

phần: New Game, Settings, High Scores, Help, About và

hiển thị tới các form tương ứng khi chọn

Chương trình hiễn thị lên như hình vẽ sau:

Bài 4:

Viết ứng dụng tổng hợp theo yêu cầu sau đây

Tên ứng dụng: ExtraApp

Các chức năng của ứng dụng:

1 Màn hình chờ

Màn hình chờ là một hình ảnh, chờ khoảng 2 hoặc 3s thì tắt Sau khi màn hình chờ tắt, các chức năng sau hiện lên cho người dùng chọn:

2 Máy tính toán

- Chức năng máy tính toán cho phép thực hiện các phép toán như một máy tính

Trang 9

9 KS Thái Duy Quý - quytd@dlu.edu.vn , thaiduyquy@gmail.com

- Các phép toán thức hiện: +, -, *, /

- Các phép mở rộng: Khai căn, tính sin, cos, tan, cotan, arcsin, pow, ln, exp

3 Đổi đơn vị

- Chức năng này cho phép đổi các đơn vị độ dài như sau:

o Centimeters

o Inches

o Feet

o Yard

o Meters

o Chains

o Kilometers

o Miles

- Chức năng này còn cho phép đổi đơn vị nhiệt độ

4 Đổi năm dương qua năm âm theo tài liệu đi kèm

Chức năng này cho phép đổi năm dương qua năm âm, như tài liệu đi kèm

5 Giúp đỡ

- Chức năng này giới thiệu cách sử dụng các chức năng của chương trình

6 Tác giả

- Chức năng này giới thiệu tác giả

7 Thoát

- Thoát ứng dụng

Yêu cầu:

- Thực hiện các chức năng đầy đủ

- Giao diện càng đẹp càng tốt

- Biên dịch thành file jar và cho chạy thử nghiệm trên điện thoại thật

Chú ý:

Cho phép sử dụng Internet để tìm hiểu về tài liệu liên quan

E ĐÁNH GIÁ KẾT QUẢ

- Sinh viên thực hành bài lab với thời gian là 6 tiết

- Sinh viên thực hiện trên điện thoại giả lập, so sánh và đánh giá kết quả

- Sinh viên nên copy qua điện thoại thật và chạy thử ứng dụng

Ngày đăng: 17/02/2021, 15:35

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w