CÔNG NGHỆ KHÔNG dây và ỨNG DỤNG

269 298 0
CÔNG NGHỆ KHÔNG dây và ỨNG DỤNG

Đ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

CÔNG NGHỆ KHÔNG DÂY VÀ ỨNG DỤNG Biên tập bởi: Khoa CNTT ĐHSP KT Hưng Yên CÔNG NGHỆ KHÔNG DÂY VÀ ỨNG DỤNG Biên tập bởi: Khoa CNTT ĐHSP KT Hưng Yên Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên Phiên trực tuyến: http://voer.edu.vn/c/cd38c3e6 MỤC LỤC Giới thiệu J2ME 1.1 Lịch Sử 1.2 Lý chọn J2ME 1.3 Kiến trúc J2ME 1.4 Giới thiệu MIDP 1.5 Môi trường phát triển J2ME Các thành phần giao diện mức cao ứng dụng MIDP 2.1 Đối tượng Display, Displayable Screens 2.2 Thành phần Form Items 2.3 Thành phần List, Textbox, Timer Các thành phần giao diện mức thấp ứng dụng MIDP 3.1 Các hàm API mức thấp 3.2 Lớp Canvas 3.3 Lớp Graphics 3.4 Các hàm API dùng để lập trình Game Xử lý kiện 4.1 Đối tượng Command 4.2 Đối tượng Item 4.3 Ví dụ Record Management System 5.1 Persistent Storage Through the Record Store 5.2 Các vấn đề liên quan đến RMS 5.3 Các hàm API RMS 5.4 Duyệt Record với RecordEnumeration 5.5 Searching with RecordFilter 5.6 Notification of Changes with RecordListener 5.7 Sắp xếp record với interface RecordComparator 5.8 Exception Handling The Generic Connection Framework 6.1 Giới thiệu 6.2 Những protocol hỗ trợ GCF 6.3 Hỗ trợ giao thức HTTP MIDP 6.4 Accessing a Java servlet 1/267 TÀI LIỆU THAM KHẢO Tham gia đóng góp 2/267 Giới thiệu J2ME Lịch Sử J2ME phát triển từ kiến trúc Java Card, Embeded Java Personal Java phiên Java 1.1 Đến đời Java Sun định thay Personal Java đươc gọi với tên Java Micro Edition, hay viết tắt J2ME Đúng với tên gọi, J2ME tảng cho thiết bị có tính chất nhỏ, gọn: 3/267 Lý chọn J2ME a) Java ban đầu thiết kế dành cho máy với tài nguyên nhớ hạn chế b) Thị trường J2ME mở rộng cho nhiều chủng loại thiết bị như: • Các lọai thẻ cá nhân Java Card • Máy điện thoại di động • Máy PDA (Personal Digital Assistant - thiết bị trợ giúp cá nhân) • Các hộp điều khiển dành cho tivi, thiết bị giải trí gia dụng … 4/267 Kiến trúc J2ME Phần trình bày kiến trúc tổng quát tảng Java a) Giới thiệu thành phần tảng J2ME: Định nghĩa Configuration (Cấu hình): đặc tả định nghĩa môi trường phần mềm cho dòng thiết bị phân loại tập hợp đặc tính, ví dụ như: • Kiểu số lượng nhớ • Kiểu tốc độ vi xử lý • Kiểu mạng kết nối Do đặc tả nên nhà sản xuất thiết bị Samsung, Nokia …bắt buộc phải thực thi đầy đủ đặc tả Sun qui định để lập trình viên dựa vào môi trường lập trình quán thông qua quán này, ứng dụng tạo mang tính độc lập thiết bị cao Ví dụ lập trình viên viết chương trình game cho điện thoại Samsung sửa đổi chương trình cách tối thiểu để chạy điện thọai Nokia Hiện Sun đưa dạng Configuration: • CLDC (Connected Limited Device Configuration-Cấu hình thiết bị kết nối giới hạn): thiết kế để nhắm vào thị trường thiết bị cấp thấp (low-end), thiết bị thông thường máy điện thọai di động PDA với khoảng 512 KB nhớ Vì tài nguyên nhớ hạn chế nên CLDC gắn với Java không dây (Java Wireless ), dạng cho phép người sử dụng mua tải ứng dụng 5/267 Java, ví dụ Midlet • CDC- Connected Device Configuration (Cấu hình thiết bị kết nối): CDC đưa nhắm đến thiết bị có tính mạnh dòng thiết bị thuộc CLDC yếu hệ thống máy để bàn sử dụng J2SE Những thiết bị có nhiều nhớ (thông thường 2Mb) có xử lý mạnh Các sản phẩm kể đến máy PDA cấp cao, điện thoại web, thiết bị gia dụng gia đình … Cả dạng Cấu hình kể chứa máy ảo Java (Java Virtual Machine) tập hợp lớp (class) Java để cung cấp môi trường cho ứng dụng J2ME Tuy nhiên, bạn ý thiết bị cấp thấp, hạn chế tài nguyên nhớ xử lý nên yêu cầu máy ảo hổ trợ tất tính với máy ảo J2SE, ví dụ, thiết bị thuộc CLDC phần cứng yêu cầu phép tính toán dấu phẩy động, nên máy ảo thuộc CLDC không yêu cầu hỗ trợ kiểu float double Bảng so sánh thông số kỹ thuật CDC CLDC 6/267 Định nghĩa Profile: Profile mở rộng Configuration cách thêm vào class để bổ trợ tính cho thiết bị chuyên biệt Cả Configuration có profile liên quan từ profile dùng class lẫn Đến ta nhận thấy profile định nghĩa tập hợp class khác nhau, nên thường ta chuyển ứng dụng Java viết cho profile chạy máy hỗ trợ profile khác Cũng với lý đó, bạn lấy ứng dụng viết J2SE hay J2EE chạy máy hỗ trợ J2ME Sau profile tiêu biểu: • Mobile Information Device Profile (MIDP): profile bổ sung tính hỗ trợ kết nối, thành phần hỗ trợ giao diện người dùng … vào CLDC Profile thiết kế chủ yếu để nhắm vào điện thọai di động với đặc tính hình hiển thị hạn chế, dung lượng chứa có hạn Do MIDP cung cấp giao diện người dùng đơn giản tính mạng đơn giản dựa HTTP Có thể nói MIDP profile tiếng kiến thức cho lập trình Java máy di động (Wireless Java) PDA Profile: tương tự MIDP, với thị trường máy PDA với hình nhớ lớn • Foundation Profile: cho phép mở rộng tính CDC với phần lớn thư viện Core Java2 1.3 Ngoài có Personal Basis Profile, Personal Profile, RMI Profile, Game Profile 7/267 8/267 ret = processServerResponse(http, iStrm); } finally { // Clean up if (iStrm != null) iStrm.close(); if (http != null) http.close(); } // Process request failed, show alert if (ret == false) showAlert(errorMsg); } Code cho servlet, hầu hết phương thức biết doPost(), biến format dùng để lưu request từ client, sau servlet gọi SimpleDateFormat để tạo kết phù hợp với request: import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.Date; import java.text.SimpleDateFormat; import java.util.TimeZone; import java.util.Locale; public class DateFormatServlet extends HttpServlet 253/267 { public void init(ServletConfig config) throws ServletException { super.init(config); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String format = request.getParameter("format"); SimpleDateFormat simpleDate = new SimpleDateFormat(format); Date dt = new Date(); PrintWriter out = response.getWriter(); response.setContentType("text/html"); out.println(simpleDate.format(dt)); out.close(); } public String getServletInfo() 254/267 { return "DateFormatServlet"; } } Để MIDlet nhận kết trả từ servlet, trước hết phải kiểm tra status line với server có kết trả kết hay không (HTTP_OK) Do thông tin header nên tiến hành lấy kết từ input stream: /* -* Process a response from a server * -*/ private boolean processServerResponse(HttpConnection http, InputStream iStrm) throws IOException { //Reset error message errorMsg = null; // 1) Get status Line if (http.getResponseCode() == HttpConnection.HTTP_OK) { // 2) Get header information - none // 3) Get body (data) int length = (int) http.getLength(); String str; if (length != -1) 255/267 { byte servletData[] = new byte[length]; iStrm.read(servletData); str = new String(servletData); } else // Length not available { ByteArrayOutputStream bStrm = new ByteArrayOutputStream(); int ch; while ((ch = iStrm.read()) != -1) bStrm.write(ch); str = new String(bStrm.toByteArray()); bStrm.close(); } // Save the server message serverMsg = str; return true; } else // Use message from the servlet errorMsg = new String( http.getResponseMessage()); return false; 256/267 } 257/267 TÀI LIỆU THAM KHẢO http://java.sun.co m /j2me/ http://www.cs.ar m strong.edu/burg e /pdf/huc/01_J2ME_Overview.pdf http://www.onjava.co m /pub/a / onjava/2001/03/08/J2ME.ht m l http://de v el o p ers.sun.c o m/techtopic s / m obility/ m idp/articles/wtoolkit/ CLDC Specification (JSR-30) http://www.jcp.org/jsr/detail/30.jsp CLDC Next Generation (JSR-139) http://www.jcp.org/jsr/detail/139.jsp M IDP Specificatio n (J SR-37) http://www.jcp.org/jsr/detail/37.jsp M o bile Information Device N e xt Generation (JSR-118) http://www.jcp.org/jsr/detail/132.jsp PDA Profile Specification (JSR-75) http://www.jcp.org/jsr/detail/75.jsp CDC S p ecification (JSR-36) http://www.jcp.org/jsr/detail/36.jsp Foundation Profile S p ecification (JSR-46) http://www.jcp.org/jsr/detail/46.jsp Personal Profile Specification (JSR-62) http://www.jcp.org/jsr/detail/62.jsp 258/267 R M I Profile Specification (JSR-6 ) http://www.jcp.org/jsr/detail/66.jsp Java Game Profile (JSR-134) http://www.jcp.org/jsr/detail/134.jsp J2 M E M u ltimedia API Specification (JSR-135) http://www.jcp.org/jsr/detail/135.jsp J2ME White Papers KVM http://java.sun.com/products/cldc/wp Applications for M o bile Devices http://java.sun.com/j me/docs/pdf/midpwp.pdf J2ME Technologies J2 M E http://java.sun.com/j2me CLDC a n d K V M http://java.sun.com/products/cldc MIDP http://java.sun.com/products/midp M IDP for Palm OS http://java.sun.com/ CDC and C V M http://java.sun.com/products/cdc J2ME Development Kits J2 M E Wireless Toolkit 259/267 http://java.sun.com/pr oducts/j2mewtoolkit M e trowerks CodeWarrior for J 2M E http://www.metrowerks.com/desktop/java Zucotto WHITEboard SDK http://www.zucotto.com /whitebo a rd/index.h t ml R I M BlackBerry Java IDE http://developers.rim n e t/tools/jde/inde x shtml J2ME Developer Resources Java Developer Connection http://developer.java.sun.com/developer Java Wireless Deve l oper Initiative http://java.sun.com/wireless Wireless Developer Network http://www.wireles s d e vnet.com M icro Java Network http://www.microjava.com Java M obi l e Community http://www.javamobile org Java Ena b led Phones and PDAs http://www.javamobil e s.com K V M World http://www.kvmworld.com 260/267 KV M -Interest M a iling List Archive http://archives.java.s u n com/kv m -interest.html XML Pars er s for J2ME TinyX M L Parser http://gibaradunn.sra c org/tiny Nano X M L Parser http://nanoxml.sourceforge.net 261/267 Tham gia đóng góp Tài liệu: CÔNG NGHỆ KHÔNG DÂY VÀ ỨNG DỤNG Biên tập bởi: Khoa CNTT ĐHSP KT Hưng Yên URL: http://voer.edu.vn/c/cd38c3e6 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Lịch Sử Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/9d7f5cb0 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Lý chọn J2ME Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/a03c38cc Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Kiến trúc J2ME Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/83e1898c Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Giới thiệu MIDP Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/51e563ee Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Môi trường phát triển J2ME Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/4d98764c Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Đối tượng Display, Displayable Screens Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/feb21454 262/267 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Thành phần Form Items Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/c7989e2b Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Thành phần List, Textbox, Timer Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/b84f8014 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Các hàm API mức thấp Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/eaa96054 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Lớp Canvas Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/63d26d40 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Lớp Graphics Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/18fa9f41 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Các hàm API dùng để lập trình Game Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/a1aa98d3 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Đối tượng Command Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/f86a7733 Giấy phép: http://creativecommons.org/licenses/by/3.0/ 263/267 Module: Đối tượng Item Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/4cafd9f6 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Ví dụ Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/bd74d1b3 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Persistent Storage Through the Record Store Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/346eedf6 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Các vấn đề liên quan đến RMS Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/84a64913 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Các hàm API RMS Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/8b2c5478 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Duyệt Record với RecordEnumeration Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/be0546eb Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Searching with RecordFilter Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/923efad1 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Notification of Changes with RecordListener 264/267 Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/1f2dc09c Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Sắp xếp record với interface RecordComparator Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/7cb02600 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Exception Handling Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/dfbf4727 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Giới thiệu Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/1cd9d551 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Những protocol hỗ trợ GCF Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/8a100705 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Hỗ trợ giao thức HTTP MIDP Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/2da8b5b2 Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: Accessing a Java servlet Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên URL: http://www.voer.edu.vn/m/465d3b2a Giấy phép: http://creativecommons.org/licenses/by/3.0/ Module: TÀI LIỆU THAM KHẢO Các tác giả: Khoa CNTT ĐHSP KT Hưng Yên 265/267 URL: http://www.voer.edu.vn/m/4bbb5050 Giấy phép: http://creativecommons.org/licenses/by/3.0/ 266/267 Chương trình Thư viện Học liệu Mở Việt Nam Chương trình Thư viện Học liệu Mở Việt Nam (Vietnam Open Educational Resources – VOER) hỗ trợ Quỹ Việt Nam Mục tiêu chương trình xây dựng kho Tài nguyên giáo dục Mở miễn phí người Việt cho người Việt, có nội dung phong phú Các nội dung đểu tuân thủ Giấy phép Creative Commons Attribution (CC-by) 4.0 nội dung sử dụng, tái sử dụng truy nhập miễn phí trước hết trong môi trường giảng dạy, học tập nghiên cứu sau cho toàn xã hội Với hỗ trợ Quỹ Việt Nam, Thư viện Học liệu Mở Việt Nam (VOER) trở thành cổng thông tin cho sinh viên giảng viên Việt Nam Mỗi ngày có hàng chục nghìn lượt truy cập VOER (www.voer.edu.vn) để nghiên cứu, học tập tải tài liệu giảng dạy Với hàng chục nghìn module kiến thức từ hàng nghìn tác giả khác đóng góp, Thư Viện Học liệu Mở Việt Nam kho tàng tài liệu khổng lồ, nội dung phong phú phục vụ cho tất nhu cầu học tập, nghiên cứu độc giả Nguồn tài liệu mở phong phú có VOER có chia sẻ tự nguyện tác giả nước Quá trình chia sẻ tài liệu VOER trở lên dễ dàng đếm 1, 2, nhờ vào sức mạnh tảng Hanoi Spring Hanoi Spring tảng công nghệ tiên tiến thiết kế cho phép công chúng dễ dàng chia sẻ tài liệu giảng dạy, học tập chủ động phát triển chương trình giảng dạy dựa khái niệm học liệu mở (OCW) tài nguyên giáo dục mở (OER) Khái niệm chia sẻ tri thức có tính cách mạng khởi xướng phát triển tiên phong Đại học MIT Đại học Rice Hoa Kỳ vòng thập kỷ qua Kể từ đó, phong trào Tài nguyên Giáo dục Mở phát triển nhanh chóng, UNESCO hỗ trợ chấp nhận chương trình thức nhiều nước giới 267/267 [...]... Image và ImageItem Image được dùng để tạo ra một đối tượng hình ảnh và giữ thông tin như là chiều cao và chiều rộng, và dù ảnh có biến đổi hay không Lớp ImageItem mô tả một tấm ảnh sẽ được hiển thị như thế nào, ví dụ tấm ảnh sẽ được đặt ở trung tâm, hay đặt về phía bên trái, hay bên trên của màn hình MIDP đưa ra 2 loại hình ảnh là loại ảnh không biến đổi và ảnh biến đổi Một tấm ảnh không biến đổi thì không. .. nhấp chuột vào nút bấm New Project và nhập vào tên Project và Class mà bạn muốn tạo, ví dụ TestMidlet 11/267 Chú ý là bạn không nhất thiết phải tạo trùng tên class với tên Project Trên cửa sổ chương trình sẽ hiển thị các thông báo về việc tạo các thư mục phục vụ cho việc xây dựng và thực thi mã chương trình dụng Hãy để ý thư mục : “E:\WTK22\apps\Example\src”, đây sẽ là nơi chứa source của ứng Bạn có... trợ JNI • Hỗ trợ hạn chế thao tác bắt lỗi • Phần lớn các thư viện API cho Swing và AWT không thể sử dụng được trong MIDP • Không hỗ trợ các tính năng quản lý file và thư mục: Đây có thể làm bạn ngạc nhiên nhưng thực tế là các thiết bị J2ME không có hỗ trợ các thiết bị lưu trữ thông thường như ổ cứng v.v Tuy nhiên, điều đó không có nghĩa là bạn phải mất đi mọi dữ liệu quan trọng mỗi khi tắt máy, Sun đã... destroyApp(), mỗi hàm này sẽ đựợc gọi thực thi tương ứng khi user chọn dừng hoặc thoát chương trình 14/267 15/267 Các thành phần giao diện ở mức cao của ứng dụng MIDP Đối tượng Display, Displayable và Screens Một ứng dụng MIDlet chỉ có 1 đối tượng thể hiện Display Đối tượng này dùng để lấy thông tin về đối tượng trình bày, ví dụ màu được hỗ trợ, và bao gồm các phương thức để yêu cầu các đối tượng được... cgPrefs.setSelectedIndex(selectAllIndex, false); } } } } Spacer Spacer là thành phần không nhìn thấy, được dùng để định vị trí cho các đối tượng khác trên màn hình hiển thị Bạn có thể dùng Spacer để chỉ rõ khoãng trắng theo chiều dọc và chiều ngang giữa các thành phần, đơn giản bằng cách chỉ ra chiều dài và chiều rộng cho từng cái Vì Spacer là thành phần không nhìn thấy nên nó không có sự kiện b CustomItem Thành phần CustomItem cho... Những thành phần này cũng giống như những Item khác là cũng có thể được đặt vào trong Form và có thể nhận biết và xử lý sự kiện CustomItem được vẽ lên màn hình hiển thị bằng phương thức paint() Vì thế nó sẽ tùy thuộc vào đoạn mã được bạn hiện thực bên trong phương thức paint() Quá trình tạo ra một đối tượng CustomItem cũng không khác các đối tượng có sẵn trên nền Java Đoạn mã dưới đây minh họa sườn... Những chức năng MIDP không thực hiện được: • Phép tính dấu phẩy động (floating point): Phép tính này đòi hỏi rất nhiều tài nguyên CPU và phần lớn các CPU cho các thiết bị di động không hỗ trợ phép tính này, do đó MIDP cũng không có • Bộ nạp class (Class Loader) • Hỗ trợ từ khóa finalize() như trong J2SE: Việc “dọn dẹp“ tài nguyên trước khi nó bị xóa được đẩy về phía các lập trình viên • Không hỗ trợ JNI... được phép nhập, và loại dữ liệu được phép nhập Ngoài ra TextField còn cho phép bạn nhập vào mật khẩu với các ký tự nhập vào sẽ được che bởi các ký tự mặt nạ Phương thức dựng của lớp TextField TextField(String label, String text, int maxSize, int constraints) Thành phần thứ 3 constraints là thành phần mà chúng ta quan tâm, vì nó là phương tiện để xác định loại dữ liệu nào được phép nhập vào TextField... bị di động và là thành phần chính trong J2ME MIDP cung cấp các chức năng cơ bản cho hầu hết các dòng thiêt bị di động phổ biến nhất như các máy điện thoạI di động và các máy PDA Tuy nhiên MIDP không phải là cây đũa thần cho mọi lập trình viên vì như chúng ta đã biết, MIDP được thiết kế cho các máy di động có cấu hình rất thấp Trong phần sau tôi sẽ liệt kê qua các tính năng mà MIDP cung cấp và những giới... copy source này vào thư muc nói trên Rồi tiến hành build và run chương trình 13/267 Vòng đời của một MIDlet Giống như dạng chương trình Applet trên J2SE, một Midlet luôn luôn kế thừa javax.microedition.midlet Hàm cơ bản nhất trong mọi Midlet là startApp(), hàm này sẽ khởi tạo Midlet cũng như vận hành các thành phần hoặc đối tượng khác, ngoài startApp(), mỗi Midlet còn có pauseApp() và destroyApp(), ...CÔNG NGHỆ KHÔNG DÂY VÀ ỨNG DỤNG Biên tập bởi: Khoa CNTT ĐHSP KT Hưng Yên Các tác giả: Khoa CNTT ĐHSP KT Hưng... đựợc gọi thực thi tương ứng user chọn dừng thoát chương trình 14/267 15/267 Các thành phần giao diện mức cao ứng dụng MIDP Đối tượng Display, Displayable Screens Một ứng dụng MIDlet có đối tượng... giao diện mức thấp ứng dụng MIDP Các hàm API mức thấp Mặc dù hàm API cấp cao cung cấp tập đầy đủ thành phần để xây dựng giao diện ứng dụng người dùng Tuy nhiên thành phần cấp cao không cung cấp phương

Ngày đăng: 31/12/2015, 08:50

Từ khóa liên quan

Mục lục

  • Giới thiệu về J2ME

    • Lịch Sử

    • Lý do chọn J2ME

    • Kiến trúc của J2ME

    • Giới thiệu MIDP

    • Môi trường phát triển J2ME

    • Các thành phần giao diện ở mức cao của ứng dụng MIDP

      • Đối tượng Display, Displayable và Screens

      • Thành phần Form và Items

      • Thành phần List, Textbox, Timer

      • Các thành phần giao diện ở mức thấp của ứng dụng MIDP

        • Các hàm API ở mức thấp

        • Lớp Canvas

        • Lớp Graphics

        • Các hàm API dùng để lập trình Game

        • Xử lý sự kiện

          • Đối tượng Command

          • Đối tượng Item

          • Ví dụ

          • Record Management System

            • Persistent Storage Through the Record Store

            • Các vấn đề liên quan đến RMS

            • Các hàm API trong RMS

            • Duyệt Record với RecordEnumeration

            • Searching with RecordFilter

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

Tài liệu liên quan