Một MIDlet là một khung ứng dụng Java cho Cấu hình thông tin thiết bị di động (tiếng Anh: Mobile Information Device Profile viết tắt: MIDP) là một dạng ứng dụng Java để chạy trên điện thoại di động hoặc các thiết bị nhúng hoặc trình giả lập. MIDlet là các ứng dụng, như trò chơi.
Bộ công cụ thông tin thiết bị di động
MIDlet thường được phân phối dưới dạng tệp .jar, nhưng các MIDlet cũng có thể chứa tệp .jad chứa đường dẫn và mô tả nội dung của tệp .jar. Việc thực thi một MIDlet có thể hoặc không cần sự hiện diện của tệp .jad.
Một MIDlet cần có những điều kiện sau để chạy trên điện thoại di động:
Class chính phải là một class thừa kế từ class javax.microedition.midlet.MIDlet
MIDlet cần phải được đóng gói vào một tệp .jar
Tệp .jar cần được chứng thực bởi một trình chứng thực.
Trong một vài trường hợp, tệp .jar cần phải được xác nhận từ nhà cung cấp điện thoại.
Không như Java applet, một MIDlet bị giới hạn trong việc sử dụng LCDUI hơn là AWT và Swing. Có rất nhiều ảnh hưởng của nền tảng MIDP mà những lập trình viên MIDlet phải động chạm.
☼Cấu trúc của một MIDlet
import javax.microedition.midlet.*;
/* import*; dung để khai báo các gói thư viện đối tượng sẽ dung trong chương trình. Một ứng dụng MIDlet là một lớp kế thừa từ lớp MIDlet*/
…
public class <tên> extends MIDlet
/*tên do các bạn tự đặc*/
{
public <tên>()
/*tên ở hà này phải cùng tên với "tên" đã khai ở trên*/
{
/* Đây là hàm khởi tạo (constructor) và chỉ được gọi một lần duy nhất bởi bộ quản lý ứng dụng trong suốt vòng đời của MIDlet vào thời điểm MIDlet
được nạp bởi bộ quản lý ứng dụng.*/
}
public void startApp()
{
/*hàng này sử dụng khi MIDlet chuyển từ paused sang StartApp. 2 hàm này có thể chuyển qua lại nhiều lần khi ứng dụng hoạt động*/
}
public void pauseApp()
{
/*Hàm này sẽ được gọi bởi bộ quản lý ứng dụng khi MIDlet chuyển từ trạng thái hoạt động sang trạng thái paused. Ví dụ khi bạn đang chơi game thì đột nhiên có tin nhắn hoặc cuộc gọi đến. Ứng dụng J2ME phải tạm ngưng lại để cho phép người dung nhận cuộc gọi hoặc nhắn. Vào thời điểm ứng dụng chuyển từ trạng thái hoạt động sang tạm ngưng, hàm này sẽ được gọi. Bạn có thể đặt các mã lệnh lưu lại trạng thái hiện thời của trò chơi ở đây*/
}
public void destroyApp(boolean condition)
{
/*Hàm này sử dung khi game,úng dụng chuẩn bị thoát,các dử liệu sẻ được lưu lại.hay giả phóng là ta viết lệnh ở đây*/
}
}
startApp và pauseApp:
chỉ có được thực thi tự động bởi bộ quản lý ứng dụng mỗi khi MIDlet chuẩn bị chuyển trạng thái. Người dung không thể can thiệp được và cũng không thể chủ động gọi các hàm này một cách tường minh bằng mã lệnh. Riêng hàm destroyApp có thể được thực thi bởi bộ quản lý ứng dụng nhưng nếu muốn người dung có thể chủ động gọi thực thi hàm này bằng mã lệnh.
Ngoài các hàm được thực thi tự động bởi bộ quản lý ứng dụng mà người dùng không can thiệp được, MIDlet còn có những hàm cho phép người dung gọi tực tiếp trong mã lệnh để điều khiển quá trình thực thi của MIDlet
notifyDestroyed():
hàm này mà được gọi trong code thì có nghĩa là bạn muốn ra lệnh cho bộ quản lý ứng dụng hãy đóng MIDlet
notifyPaused():
Nếu ứng dụng đang trong trạng thái hoạt động bình thường mà người dung gọi hàm này thì ứng dụng sẽ bị chuyển sang trang thái tạm ngừng (Paused) bởi bộ quản lý ứng dụng
resumeRequest():
Nếu ứng dụng đang trong trạng thái tạm ngưng mà người dùng gọi hàm này thì ứng dụng sẽ quay trở về trạng thái hoạt động.
Hảy xem sự chạy một Midlet qua hình ảnh nhé
[You must be registered and logged in to see this image.]
☼Ví dụ:Tôi muốn in 1 dòng chữ là :"Chào Admin" ra màng hình thì tôi sẻ viết lệnh thế này:
☼Kết Quả:
"Chào Admin"
Bộ công cụ thông tin thiết bị di động
MIDlet thường được phân phối dưới dạng tệp .jar, nhưng các MIDlet cũng có thể chứa tệp .jad chứa đường dẫn và mô tả nội dung của tệp .jar. Việc thực thi một MIDlet có thể hoặc không cần sự hiện diện của tệp .jad.
Một MIDlet cần có những điều kiện sau để chạy trên điện thoại di động:
Class chính phải là một class thừa kế từ class javax.microedition.midlet.MIDlet
MIDlet cần phải được đóng gói vào một tệp .jar
Tệp .jar cần được chứng thực bởi một trình chứng thực.
Trong một vài trường hợp, tệp .jar cần phải được xác nhận từ nhà cung cấp điện thoại.
Không như Java applet, một MIDlet bị giới hạn trong việc sử dụng LCDUI hơn là AWT và Swing. Có rất nhiều ảnh hưởng của nền tảng MIDP mà những lập trình viên MIDlet phải động chạm.
☼Cấu trúc của một MIDlet
import javax.microedition.midlet.*;
/* import*; dung để khai báo các gói thư viện đối tượng sẽ dung trong chương trình. Một ứng dụng MIDlet là một lớp kế thừa từ lớp MIDlet*/
…
public class <tên> extends MIDlet
/*tên do các bạn tự đặc*/
{
public <tên>()
/*tên ở hà này phải cùng tên với "tên" đã khai ở trên*/
{
/* Đây là hàm khởi tạo (constructor) và chỉ được gọi một lần duy nhất bởi bộ quản lý ứng dụng trong suốt vòng đời của MIDlet vào thời điểm MIDlet
được nạp bởi bộ quản lý ứng dụng.*/
}
public void startApp()
{
/*hàng này sử dụng khi MIDlet chuyển từ paused sang StartApp. 2 hàm này có thể chuyển qua lại nhiều lần khi ứng dụng hoạt động*/
}
public void pauseApp()
{
/*Hàm này sẽ được gọi bởi bộ quản lý ứng dụng khi MIDlet chuyển từ trạng thái hoạt động sang trạng thái paused. Ví dụ khi bạn đang chơi game thì đột nhiên có tin nhắn hoặc cuộc gọi đến. Ứng dụng J2ME phải tạm ngưng lại để cho phép người dung nhận cuộc gọi hoặc nhắn. Vào thời điểm ứng dụng chuyển từ trạng thái hoạt động sang tạm ngưng, hàm này sẽ được gọi. Bạn có thể đặt các mã lệnh lưu lại trạng thái hiện thời của trò chơi ở đây*/
}
public void destroyApp(boolean condition)
{
/*Hàm này sử dung khi game,úng dụng chuẩn bị thoát,các dử liệu sẻ được lưu lại.hay giả phóng là ta viết lệnh ở đây*/
}
}
startApp và pauseApp:
chỉ có được thực thi tự động bởi bộ quản lý ứng dụng mỗi khi MIDlet chuẩn bị chuyển trạng thái. Người dung không thể can thiệp được và cũng không thể chủ động gọi các hàm này một cách tường minh bằng mã lệnh. Riêng hàm destroyApp có thể được thực thi bởi bộ quản lý ứng dụng nhưng nếu muốn người dung có thể chủ động gọi thực thi hàm này bằng mã lệnh.
Ngoài các hàm được thực thi tự động bởi bộ quản lý ứng dụng mà người dùng không can thiệp được, MIDlet còn có những hàm cho phép người dung gọi tực tiếp trong mã lệnh để điều khiển quá trình thực thi của MIDlet
notifyDestroyed():
hàm này mà được gọi trong code thì có nghĩa là bạn muốn ra lệnh cho bộ quản lý ứng dụng hãy đóng MIDlet
notifyPaused():
Nếu ứng dụng đang trong trạng thái hoạt động bình thường mà người dung gọi hàm này thì ứng dụng sẽ bị chuyển sang trang thái tạm ngừng (Paused) bởi bộ quản lý ứng dụng
resumeRequest():
Nếu ứng dụng đang trong trạng thái tạm ngưng mà người dùng gọi hàm này thì ứng dụng sẽ quay trở về trạng thái hoạt động.
Hảy xem sự chạy một Midlet qua hình ảnh nhé
[You must be registered and logged in to see this image.]
☼Ví dụ:Tôi muốn in 1 dòng chữ là :"Chào Admin" ra màng hình thì tôi sẻ viết lệnh thế này:
- Code:
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class HelloWorld extends MIDlet{
private Form form;/*Tạo ra 1 form*/
private Display display;/*Đối tượng màng hình*/
public HelloWorld(){
super();
}
public void startApp(){
form = new Form("BÀI HỌC ĐẦU TIÊN");/*Hàng này chỉ định tên form*/
String msg = "Chào Admin";/*Hàng này có tác dụng in ra 1 chỗi.và cụ thể chuổi đó là "chào admin"*/
form.append(msg);
display = Display.getDisplay(this);
display.setCurrent(form);/*cho phép "form" hiện lên Form*/
}
public void pauseApp(){}
public void destroyApp(boolean unconditional){
notifyDestroyed();
}
}
☼Kết Quả:
"Chào Admin"
Mon Mar 16, 2020 3:51 pm by Admin
» admin cho mình hỏi chút về game pc nhé !!
Tue Jul 15, 2014 9:11 pm by tiqngao
» Thông báo tới toàn thể memb iêu lập trình.
Sat Dec 22, 2012 9:58 pm by Admin
» Thông báo tới các member..?
Fri Nov 09, 2012 4:02 pm by Admin
» Anh hacker oi,huong dan em lap trinh java nhé.
Wed Oct 31, 2012 6:04 pm by long246
» Giup em voi.
Tue Oct 30, 2012 8:12 am by long246
» Cho em xim phần mềm
Thu Oct 25, 2012 1:19 pm by Rubyc
» anh hacker oi, cho em xin phan mem
Tue Oct 23, 2012 10:18 am by Admin
» giup em rezise game
Mon Oct 22, 2012 11:26 am by Admin