0

LẬP TRÌNH JAVA TRÊN MOBILE J2ME

37 643 1
  • LẬP TRÌNH JAVA TRÊN MOBILE  J2ME

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

Tài liệu liên quan

Thông tin tài liệu

Ngày đăng: 27/03/2015, 18:03

LỜI MỞ ĐẦU4CHƯƠNG I: GIỚI THIỆU VỀ JAVA VÀ J2ME51.1. Giới thiệu về Java51.2. Lịch sử của J2ME51.3. Các phiên bản và đặc điểm61.3.1. MIDP 1.061.3.2. MIDP 2.061.4. Các đặc điểm khác của J2ME71.5. Ưu điểm và nhược điểm của J2ME71.5.1. Ưu điểm71.5.2. Nhược điểm8CHƯƠNG II: KIẾN TRÚC J2ME92.1. Tổng quan kiến trúc J2ME92.2. Các tầng của J2ME122.2.1. Tầng cứng thiết bị (Device Hardware Layer)122.2.2. Tầng máy ảo Java (Java Virtual Machine Layer)122.2.3. Tầng cấu hình152.2.4. Tầng hiện trạng15CHƯƠNG III: MIDLET163.1. Bộ khung MIDlet163.2. Chu kỳ sống của MIDlet183.3. Tập tin JAR183.4. Tập tin kê khai và JAD193.5. Bộ MIDlet20CHƯƠNG IV: ĐỐI TƯỢNG DISPLAY214.1. Khái niệm và phân loại214.2. Giao diện người dùng cấp cao214.2.1. TextBox214.2.2. List224.2.3. Alert224.2.5. Ticker244.3. Giao diện người dùng cấp thấp254.3.1. Lớp Canvas và kỹ thuật sử lý đồ họa254.3.2. Lớp Graphics28CHƯƠNG V: LẬP TRÌNH MẠNG325.1. Khung mạng CLDC tổng quát325.2. Các giao diện kết nối335.3. Kết nối HTTP345.4. Client Request và Sever Response355.4.1. Client request355.4.2. Sever Response35KẾT LUẬN37TÀI LIỆU THAM KHẢO38 LỜI MỞ ĐẦUSố lượng thiết bị di động ngày càng tăng ở Việt Nam, nhiều người đã coi điện thoại di động như một vật không thể thiếu trong cuộc sống hằng ngày. Cùng với sự gia tăng số lượng người dùng thì các tính năng dành cho điện thoại cũng tăng theo tương ứng. Hàng loạt các tính năng cao cấp được giới thiệu như chụp hình số, nghe nhạc và đặc biệt nhất là có thể sử dụng các chương trình không phải do nhà sản xuất điện thọai cung cấp. Đây có thể được coi là một cuộc cách mạng trong lĩnh vực di động, nó biến chiếc điện thọai nhỏ bé của bạn thành một chiếc máy tính thu nhỏ, với những chủng loại điện thoại này bạn có thể đọc báo, tiểu thuyết, tra từ điển, bản đồ và nhất là mang thế giới giải trí đến bên cạnh, những bản nhạc hay, những games hay sẽ luôn sẵn sàng mỗi khi bạn cần đến.Đặc biệt hơn, với sự hỗ trợ của nền tảng phần mềm sử dụng cho thiết bị di động, nhà thiết kế còn có thể biến những đồ vật dùng trong gia đình thành những “cỗ máy biết suy nghĩ” như lò vi sóng, hộp điều khiển tivi, hệ thống xem DVD, VCD, các máy PDA dùng cho cá nhân và trên xe hơi… Để góp phần cho sự phát triển đó ngoài yếu tố phần cứng thì nền tảng phần mềm là nhân tố quyết định vì chúng ta đã biết, có hàng chục hãng sản xuất điện thoại khác nhau và sử dụng công nghệ khác nhau. Làm sao để các thiết bị phần cứng khác nhau có thể sử dụng chung một nền tảng phần mềm? Đây là nội dung chúng ta sẽ tìm hiểu trong bài viết hôm nay, đó là nền tảng J2ME Java 2 Platform, Micro Edition.CHƯƠNG I: GIỚI THIỆU VỀ JAVA VÀ J2ME1.1. Giới thiệu về JavaJava là một công nghệ được hãng Sun Microsystems xây dựng từ cuối năm 1990 với cái tên Oak và hiện nay đang phát triển vượt bậc với sự đóng góp của hàng vạn lập trình viên trên thế giới. Ban đầu, Oak được kỹ sư James Gosling và các cộng sự xây dựng với mục đích lập trình cho các mặt hàng điện dân dụng với mục tiêu nhỏ gọn và tương thích được với nhiều loại thiết bị phần cứng khác nhau. Sau đó Oak được sử dụng trong nhiều dự án như dự án Xanh (Blue Project), dự án Phim theo yêu cầu (Video on demand Project). Sau một chuyến du lịch tới đảo Java của Indonesia, nhóm phát triển Oak đã đổi tên Oak thành Java. Java mà tiền thân là Oak được xây dựng chủ yếu dựa trên bộ công cụ phát triển (Java Development Kit JDK) như là bộ thư viện chuẩn trong đó chưa trình biên dịch, trình thông dịch, trình đóng gói, tài liệu,… Đây chính là nền tằng cho việc phát triển các ứng dụng Java. Hiện nay, cộng đồng Java trên thế giới mà đi đầu là hãng Sun Microsystems đã xây dựng nhiều nhánh mới cho Java như: JavaMail (thư điện tử), Java TAPI (viễn thông), Java3D (đồ họa 3 chiều), J2ME (ứng dụng cho thiết bị di động),… Hiện nay Java có các phiên bản sau: J2SETM (Java 2 Platform, Standart Edition): Phiên bản chuẩn gồm bộ công cụ thông dụng dùng để chạy trên các máy PC hoặc các mạng máy tính nhỏ. J2EETM (Java 2 Platform, Enterprise Edition): Phiên bản dành cho các máy chủ với bộ nhớ lớn. Bao gồm các kiến trúc nâng cao như Web, EJB, Transaction,… dùng để xây dựng các ứng dụng có quy mô lớn. J2METM (Java 2 Platform, Micro Edition): Bao gồm môi trường và thư viện Java dùng để phát triển các ứng dụng trên các thiết bị có bộ nhớ nhỏ như điện thoại di động, PDA, các đồ gia dụng,…1.2. Lịch sử của J2MEJ2ME (Java 2 Micro Edition) được phát triển từ kiến trúc Java Card, Embeded Java và Personal Java của phiên bản Java 1.1. Đến sự ra đời của Java 2 thì Sun quyết định thay thế Personal Java và đươc gọi với tên mới là Java 2 Micro Edition, hay viết tắt là J2ME. Đúng với tên gọi, J2ME là nền tảng cho các thiết bị có tính chất nhỏ, gọn (Micro có nghĩa là ‘nhỏ’ trong tiếng Anh) Hình 1.2. Lịch sử J2ME1.3. Các phiên bản và đặc điểmCó 2 phiên bản MIDP (Mobile Information Device Profile) chính trong ngôn ngữ J2ME.1.3.1. MIDP 1.0 Phiên bản này xuất hiện đầu tiên vào năm 2001, và phổ biến rộng rãi ở Mĩ (lần đầu là Motorola). Với thế hệ ban đầu này các chương trình chỉ được hỗ trợ cơ bản như giao diện chương trình, giao thức HTTP và các tính năng hỗ trợ âm thanh hay khả năng viết game chưa được hỗ trợ.Các lớp và kiểu dữ liệu: Phần lớn các lớp mà các lập trình viên Java quen thuộc vẫn còn được giữ lại (ví dụ như các lớp trong gói java.util như Stack, Vecto và Hastable cũng như Enumeration).Hỗ trợ đối tượng Display: Đúng như tên gọi một chương trình MIDP sẽ hỗ trợ duy nhất một đối tượng Display là đối tượng quản lý việc hiển thị dữ liệu trên màn hình điện thoại.Hỗ trợ From và các giao diện người dùng.Hỗ trợ Timer và Alet.Cung cấp tính năng Record Management System (RMS) cho việc lưu trữ dữ liệu.1.3.2. MIDP 2.0Phiên bản MIDP 2.0 được Sun hỗ trợ đầy đủ, cộng với các API (Application Program Interface) chính quy. Các tính năng về gửi SMS, kết nối với các tập tin âm thanh, hình ảnh được hỗ trợ tốt. Ngoài ra, lập trình viên còn có thể viết các ứng dụng kết nối bluetooth hay viết game trên thiết bị di động với J2ME.Nâng cấp các tính năng bảo mật như:Download qua mạng an toàn hơn qua việc hỗ trợ giao thức HTTPS.Kiểm soát việc kết nối giữa máy di động và server (ví dụ như các chương trình không thể kết nối tới server nếu thiếu sự chấp thuận của người sử dụng).Thêm các API hỗ trợ Multimedia: Một trong những cải tiến hấp dẫn nhất của MIDP 2.0 là tập các API media của nó. Các API này là một tập con chỉ hỗ trợ âm thanh của Mobile Media API (MMAPI).Mở rộng các tính năng của forrm. Nhiều cải tiến đã được đưa vào APIjavax.microedition.lcdui trong MIDP 2.0, nhưng các thay đổi lớn nhất (ngoài API cho game) là trong Form và Item.Hỗ trợ các lập trình viên game bằng cách tung ra game API: Với MIDP 1.0 thì lập trình viên phải tự mình viết code để quản lý các hành động của nhân vật cũng như quản lý đồ họa. Việc này làm tăng kích thước file của sản phẩm cũng như việc xuất hiện các đoạn mã bị lỗi. Được hưởng lợi nhất từ game API trong MIDP 2.0 không chỉ là các lập trình viên game mà còn là các lập trình viên cần sử dụng tính năng đồ họa cao cấp. Ý tưởng cơ bản của game API là việc giả định rằng một màn hình game là một tập hợp các layer (lớp). Với game API nhà phát triển còn cung cấp các tính năng như quản lý các thao tác bàn phím.Hỗ trợ kiểu ảnh RGB: một trong những cải tiến hấp dẫn cho các nhà phát triển MIDP là việc biểu diễn hình ảnh dưới dạng các mảng số nguyên,cho phép MIDlet thao tác với dữ liệu hình ảnh một cách trực tiếp. 1.4. Các đặc điểm khác của J2 HỌC VIỆN KỸ THUẬT MẬT MÃ  ĐỀ TÀI LẬP TRÌNH JAVA TRÊN MOBILE - J2ME Môn học: NGUYÊN LÝ HỆ ĐIỀU HÀNH Nhóm thực hiện: Hà Nội, 9/2014 MỤC LỤC Lập trình Java trên mobile - J2ME ALH Team – AT8B Page 2 Lập trình Java trên mobile - J2ME LỜI MỞ ĐẦU Số lượng thiết bị di động ngày càng tăng ở Việt Nam, nhiều người đã coi điện thoại di động như một vật không thể thiếu trong cuộc sống hằng ngày. Cùng với sự gia tăng số lượng người dùng thì các tính năng dành cho điện thoại cũng tăng theo tương ứng. Hàng loạt các tính năng cao cấp được giới thiệu như chụp hình số, nghe nhạc và đặc biệt nhất là có thể sử dụng các chương trình không phải do nhà sản xuất điện thọai cung cấp. Đây có thể được coi là một cuộc cách mạng trong lĩnh vực di động, nó biến chiếc điện thọai nhỏ bé của bạn thành một chiếc máy tính thu nhỏ, với những chủng loại điện thoại này bạn có thể đọc báo, tiểu thuyết, tra từ điển, bản đồ và nhất là mang thế giới giải trí đến bên cạnh, những bản nhạc hay, những games hay sẽ luôn sẵn sàng mỗi khi bạn cần đến. Đặc biệt hơn, với sự hỗ trợ của nền tảng phần mềm sử dụng cho thiết bị di động, nhà thiết kế còn có thể biến những đồ vật dùng trong gia đình thành những “cỗ máy biết suy nghĩ” như lò vi sóng, hộp điều khiển ti-vi, hệ thống xem DVD, VCD, các máy PDA dùng cho cá nhân và trên xe hơi… Để góp phần cho sự phát triển đó ngoài yếu tố phần cứng thì nền tảng phần mềm là nhân tố quyết định vì chúng ta đã biết, có hàng chục hãng sản xuất điện thoại khác nhau và sử dụng công nghệ khác nhau. Làm sao để các thiết bị phần cứng khác nhau có thể sử dụng chung một nền tảng phần mềm? Đây là nội dung chúng ta sẽ tìm hiểu trong bài viết hôm nay, đó là nền tảng J2ME - Java 2 Platform, Micro Edition. ALH Team – AT8B Page 3 Lập trình Java trên mobile - J2ME CHƯƠNG I: GIỚI THIỆU VỀ JAVA VÀ J2ME 1.1. Giới thiệu về Java Java là một công nghệ được hãng Sun Microsystems xây dựng từ cuối năm 1990 với cái tên Oak và hiện nay đang phát triển vượt bậc với sự đóng góp của hàng vạn lập trình viên trên thế giới. Ban đầu, Oak được kỹ sư James Gosling và các cộng sự xây dựng với mục đích lập trình cho các mặt hàng điện dân dụng với mục tiêu nhỏ gọn và tương thích được với nhiều loại thiết bị phần cứng khác nhau. Sau đó Oak được sử dụng trong nhiều dự án như dự án Xanh (Blue Project), dự án Phim theo yêu cầu (Video on demand Project). Sau một chuyến du lịch tới đảo Java của Indonesia, nhóm phát triển Oak đã đổi tên Oak thành Java. Java mà tiền thân là Oak được xây dựng chủ yếu dựa trên bộ công cụ phát triển (Java Development Kit - JDK) như là bộ thư viện chuẩn trong đó chưa trình biên dịch, trình thông dịch, trình đóng gói, tài liệu,… Đây chính là nền tằng cho việc phát triển các ứng dụng Java. Hiện nay, cộng đồng Java trên thế giới mà đi đầu là hãng Sun Microsystems đã xây dựng nhiều nhánh mới cho Java như: JavaMail (thư điện tử), Java TAPI (viễn thông), Java3D (đồ họa 3 chiều), J2ME (ứng dụng cho thiết bị di động),… Hiện nay Java có các phiên bản sau: - J2SE TM (Java 2 Platform, Standart Edition): Phiên bản chuẩn gồm bộ công cụ thông dụng dùng để chạy trên các máy PC hoặc các mạng máy tính nhỏ. - J2EE TM (Java 2 Platform, Enterprise Edition): Phiên bản dành cho các máy chủ với bộ nhớ lớn. Bao gồm các kiến trúc nâng cao như Web, EJB, Transaction,… dùng để xây dựng các ứng dụng có quy mô lớn. - J2ME TM (Java 2 Platform, Micro Edition): Bao gồm môi trường và thư viện Java dùng để phát triển các ứng dụng trên các thiết bị có bộ nhớ nhỏ như điện thoại di động, PDA, các đồ gia dụng,… 1.2. Lịch sử của J2ME J2ME (Java 2 Micro Edition) được phát triển từ kiến trúc Java Card, Embeded Java và Personal Java của phiên bản Java 1.1. Đến sự ra đời của Java 2 thì Sun quyết định thay thế Personal Java và đươc gọi với tên mới là Java 2 Micro Edition, hay viết tắt là J2ME. Đúng với tên gọi, J2ME là nền tảng cho các thiết bị có tính chất nhỏ, gọn (Micro có nghĩa là ‘nhỏ’ trong tiếng Anh) ALH Team – AT8B Page 4 Lập trình Java trên mobile - J2ME Hình 1.2. Lịch sử J2ME 1.3. Các phiên bản và đặc điểm Có 2 phiên bản MIDP (Mobile Information Device Profile) chính trong ngôn ngữ J2ME. 1.3.1. MIDP 1.0 Phiên bản này xuất hiện đầu tiên vào năm 2001, và phổ biến rộng rãi ở Mĩ (lần đầu là Motorola). Với thế hệ ban đầu này các chương trình chỉ được hỗ trợ cơ bản như giao diện chương trình, giao thức HTTP và các tính năng hỗ trợ âm thanh hay khả năng viết game chưa được hỗ trợ.  Các lớp và kiểu dữ liệu: Phần lớn các lớp mà các lập trình viên Java quen thuộc vẫn còn được giữ lại (ví dụ như các lớp trong gói java.util như Stack, Vecto và Hastable cũng như Enumeration).  Hỗ trợ đối tượng Display: Đúng như tên gọi một chương trình MIDP sẽ hỗ trợ duy nhất một đối tượng Display là đối tượng quản lý việc hiển thị dữ liệu trên màn hình điện thoại.  Hỗ trợ From và các giao diện người dùng.  Hỗ trợ Timer và Alet.  Cung cấp tính năng Record Management System (RMS) cho việc lưu trữ dữ liệu. 1.3.2. MIDP 2.0 Phiên bản MIDP 2.0 được Sun hỗ trợ đầy đủ, cộng với các API (Application Program Interface) chính quy. Các tính năng về gửi SMS, kết nối với các tập tin âm thanh, hình ảnh được hỗ trợ tốt. Ngoài ra, lập trình viên còn có thể viết các ứng dụng kết nối bluetooth hay viết game trên thiết bị di động với J2ME. Nâng cấp các tính năng bảo mật như:  Download qua mạng an toàn hơn qua việc hỗ trợ giao thức HTTPS.  Kiểm soát việc kết nối giữa máy di động và server (ví dụ như các chương trình không thể kết nối tới server nếu thiếu sự chấp thuận của người sử dụng).  Thêm các API hỗ trợ Multimedia: Một trong những cải tiến hấp dẫn nhất của MIDP 2.0 là tập các API media của nó. Các API này là một tập con chỉ hỗ trợ âm thanh của Mobile Media API (MMAPI). ALH Team – AT8B Page 5 Lập trình Java trên mobile - J2ME  Mở rộng các tính năng của forrm. Nhiều cải tiến đã được đưa vào APIjavax.microedition.lcdui trong MIDP 2.0, nhưng các thay đổi lớn nhất (ngoài API cho game) là trong Form và Item.  Hỗ trợ các lập trình viên game bằng cách tung ra game API: Với MIDP 1.0 thì lập trình viên phải tự mình viết code để quản lý các hành động của nhân vật cũng như quản lý đồ họa. Việc này làm tăng kích thước file của sản phẩm cũng như việc xuất hiện các đoạn mã bị lỗi. Được hưởng lợi nhất từ game API trong MIDP 2.0 không chỉ là các lập trình viên game mà còn là các lập trình viên cần sử dụng tính năng đồ họa cao cấp. Ý tưởng cơ bản của game API là việc giả định rằng một màn hình game là một tập hợp các layer (lớp). Với game API nhà phát triển còn cung cấp các tính năng như quản lý các thao tác bàn phím.  Hỗ trợ kiểu ảnh RGB: một trong những cải tiến hấp dẫn cho các nhà phát triển MIDP là việc biểu diễn hình ảnh dưới dạng các mảng số nguyên,cho phép MIDlet thao tác với dữ liệu hình ảnh một cách trực tiếp. 1.4. Các đặc điểm khác của J2ME Về bản chất J2ME là ngôn ngữ kế thừa và tinh lược của J2SE. Bên cạnh đó, MIDP vì được viết cho thiết bị có cấu hình lẫn bộ nhớ thấp nên nó không hỗ trợ:  Phép tính đấu phẩy động (floating point): phép tính đò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 vậy 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 bi xóa được đẩy về phía các lập trình viên.  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 (Abstract Window ToolKit) 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. 1.5. Ưu điểm và nhược điểm của J2ME 1.5.1. Ưu điểm • Cho phép phát triển các ứng dụng portable. • Cộng đồng developer lớn. • Có thể cung cấp được các nội dung động, trong khi WAP chỉ cung cấp các nội dung tĩnh. • Rich Client Application. • Tính thống nhất của các ứng dụng trên các nền tảng. • Tái sử dụng mã nguồn. ALH Team – AT8B Page 6 Lập trình Java trên mobile - J2ME 1.5.2. Nhược điểm • Ứng dụng Midlet sẽ không tác động được lên các ứng dụng khác trên cùng 1 thiết bị hoặc hệ điều hành của nó. • Không giống như J2SE, J2ME không có command-prompt. • Một ứng dụng Midlet được kiểm soát bởi Application Management Software(AMS). • AMS tương tác với các hoạt động của một ứng dụng Midlet và kiểm soát vòng đời của nó. Nó có trách nhiệm bắt đầu, xử lý, dừng và hủy các midlets của ứng dụng khi chạy. • Nó có bộ nhớ rất hạn chế, vì vậy tốc độ xử lý tương đối chậm. • Ứng dụng J2SE sử dụng cấu trúc Data Persistence, J2ME lưu dữ liệu thông qua hệ thống quản lý các bản ghi RMS, thao tác duy nhất trên các mảng byte. • Thiết bị J2ME không hỗ trợ bàn phím đầy đủ cho các phím ký tự đặc biết và số. • Đồ họa không được đẹp, trải nghiệm người dùng kém. • Thời gian, chi phí thiết kế giao diện khá tốn kém. Core API(s) đã cũ so với chuẩn của các công nghệ hiện tại. ALH Team – AT8B Page 7 Lập trình Java trên mobile - J2ME CHƯƠNG II: KIẾN TRÚC J2ME Hình 2.1a. Kiến trúc J2ME 2.1. Tổng quan kiến trúc J2ME Configuration (Cấu hình): là đặc tả định nghĩa một môi trường phần mềm cho một dòng các thiết bị được phân loại bởi tập hợp các đặc tính, ví dụ như: • Kiểu và số lượng bộ nhớ • Kiểu và tốc độ bộ vi xử lý • Kiểu mạng kết nối Do đây là đặc tả nên các nhà sản xuất thiết bị như Samsung, Nokia …bắt buộc phải thực thi đầy đủ các đặc tả do Sun qui định để các lập trình viên có thể dựa vào môi trường lập trình nhất quán và thông qua sự nhất quán này, các ứng dụng được tạo ra có thể mang tính độc lập thiết bị cao nhất có thể. Ví dụ như một lập trình viên viết chương trình game cho điện thoại Samsung thì có thể có thể sửa đổi chương trình của mình một cách tối thiểu nhất để có thể chạy trên điện thoại Nokia Qua đây ta thấy khẩu hiệu “Write Once, Run Everywhere” của Java đã không còn đúng nữa, nhưng ta cũng phải đánh giá cao sự nỗ lực của Sun trong việc tạo ra một môi trường phần mềm chung cho vô số chủng loại thiết bị di động có trên thị trường. Hiện nay Sun đã đưa ra 2 dạng Configuration:  CLDC (Connected Limited Device Configuration - Cấu hình thiết bị kết nối giới hạn): được thiết kế để nhắm vào thị trường các thiết bị cấp thấp (low-end), các thiết bị này thông thường là máy điện thọai di động và PDA với khoảng 512 KB bộ nhớ. Vì tài nguyên bộ nhớ hạn chế nên CLDC được gắn với Java không dây (Java Wireless), dạng như cho phép người sử dụng mua và tải về các ứng dụng Java, ví dụ như là Midlet. ALH Team – AT8B Page 8 Lập trình Java trên mobile - J2ME  CDC (Connected Device Configuration - Cấu hình thiết bị kết nối): CDC được đưa ra nhắm đến các thiết bị có tính năng mạnh hơn dòng thiết bị thuộc CLDC nhưng vẫn yếu hơn các hệ thống máy để bàn sử dụng J2SE. Những thiết bị này có nhiều bộ nhớ hơn (thông thường là trên 2Mb) và có bộ xử lý mạnh hơn. Các sản phẩm này có thể kể đến như các máy PDA cấp cao, điện thoại web, các thiết bị gia dụng trong gia đình… Cả 2 dạng cấu hình kể trên đều chứa máy ảo Java – JMV (Java Virtual Machine) và tập hợp các lớp (class) Java cơ bản để cung cấp một môi trường cho các ứng dụng J2ME. Tuy nhiên, bạn chú ý rằng đối với các thiết bị cấp thấp, do hạn chế về tài nguyên như bộ nhớ và bộ xử lý nên không thể yêu cầu máy ảo hỗ trợ tất cả các tính năng như với máy ảo của J2SE, ví dụ các thiết bị thuộc CLDC không có phần cứng yêu cầu các phép tính toán dấu phẩy động, nên máy ảo thuộc CLDC không được yêu cầu hỗ trợ kiểu float và double. Hình 2.1b. Phân khúc dòng thiết bị với các ngôn ngữ Java Bảng so sánh các thông số kỹ thuật của CDC và CLDC Profile: Profile mở rộng Configuration bằng cách thêm vào các class để bổ trợ các tính năng cho từng thiết bị chuyên biệt. Cả 2 Configuration đều có những profile ALH Team – AT8B Page 9 CLDC CDC RAM >=32Kb, <=512Kb >=256Kb ROM >=128kb, <=512kb >=512kb Nguồn năng lượng Có giới hạn (nguồn pin) Không giới hạn Network Chậm Nhanh Lập trình Java trên mobile - J2ME liên quan và từ những profile này có thể dùng các class lẫn nhau. Đến đây ta có thể nhận thấy do mỗi profile định nghĩa một tập hợp các class khác nhau, nên thường ta không thể chuyển một ứng dụng Java viết cho một profile này và chạy trên một máy hỗ trợ một profile khác. Cũng với lý do đó, bạn không thể lấy một ứng dụng viết trên J2SE hay J2EE và chạy trên các máy hỗ trợ J2ME. Sau đây là các profile tiêu biểu:  Mobile Information Device Profile (MIDP): Profile này sẽ bổ sung các tính năng như hỗ trợ kết nối, các thành phần hỗ trợ giao diện người dùng… vào CLDC. Profile này được thiết kế chủ yếu để nhắm vào điện thọai di động với đặc tính là màn hình hiển thị hạn chế, dung lượng chứa có hạn. Do đó MIDP sẽ cung cấp một giao diện người dùng đơn giản và các tính năng mạng đơn giản dựa trên HTTP. Có thể nói MIDP là profile nổi tiếng nhất bởi vì nó là kiến thức cơ bản cho lập trình Java trên các máy di động (Wireless Java).  PDA Profile: Tương tự MIDP, nhưng với thị trường là các máy PDA với màn hình và bộ nhớ lớn hơn.  Foundation Profile: Cho phép mở rộng các tính năng của CDC với phần lớn các thư viện của bộ Core Java2 1.3. Ngoài ra còn có Personal Basis Profile, Personal Profile, RMI Profile, Game Profile. Hình 2.1c. Vị trí các profile trong kiến trúc J2ME 2.2. Các tầng của J2ME J2ME được xây dựng bằng các tầng (layer) khác nhau để giấu đi việc thực hiện phần cứng khỏi nhà phát triển nhằm giúp các lập trình viên viết các ứng dụng độc lập với thiết bị di dộng, viết một lần đúng mọi chỗ, không cần quan tâm đến phần cứng ALH Team – AT8B Page 10 [...]... hoàn chỉnh và vai trò của KVM ALH Team – AT8B Page 11 Lập trình Java trên mobile - J2ME • • •    Hình 2.2.2 Tiến trình xây dựng MIDlet Quá trình phát triển ứng dụng MIDlet vói IDE (Intergrated Development Environment) Lập trình viên: Bước đầu tiên là lập trình viên phải tạo mã nguồn Java, có thể có nhiều tập tin (* .java) Trên IDE: Bộ biên dịch Java (Java Compiler): Biên dịch mã nguồn thành mã bytecode.. .Lập trình Java trên mobile - J2ME thực sự Các tầng của J2ME được xây dựng trên CLDC (Connected Limited Device Configuration) Hình 2.2 Các tầng kiến trúc J2ME Mỗi tầng trên tầng hardware là tầng trừu tượng hơn cung cấp cho lập trình viên nhiều giao diện lập trình ứng dụng (API – Application Program Interface) thân thiện hơn 2.2.1... giải màn hình cao hơn) Hiện trạng là tập các API hữu dụng hơn cho các ứng dụng cụ thể Lập trình viên có thể viết một ứng dụng cho một hiện trạng cụ thể và không cần quan tâm đến nó chạy trên thiết bị nào ALH Team – AT8B Page 14 Lập trình Java trên mobile - J2ME CHƯƠNG III: MIDLET Các ứng dụng J2ME được gọi là MIDlet (Mobile Information Device Applet) Hình 3.1a MIDlet Thông báo import dùng để truy xuất... trạng thái khác nhau: Thiết lập (Setup), Kết nối (Connectd), hay Đóng (Close) ALH Team – AT8B Page 33 Lập trình Java trên mobile - J2ME • • • • • Trong trạng thái Thiết lập, kết nối chưa được tạo Phương thức setRequestMethod() và setRequestProperty() chỉ có thể được dùng trong trạng thái thiết lập Chúng được dùng để thiết lập phương thức yêu cầu (GET, POST, HEAD) và thiết lập thuộc tính HTTP (ví dụ... chạy 2.2.3 Tầng cấu hình Tầng J2ME kế trên tầng KVM là CLDC hay cấu hình thiết bị kết nối giới hạn Mục đích của tầng này là cung cấp một tập tối thiểu các thư viện cho phép một ứng dụng Java chạy trên thiết bị di động Nó cung cấp cơ sở cho tầng Hiện trạng, tầng này sẽ chứa nhiều API chuyên biệt hơn   • • • • • • • ALH Team – AT8B Page 13 Lập trình Java trên mobile - J2ME     CLDC - Connected... AT8B Page 34 Lập trình Java trên mobile - J2ME Lấy nội dung header dựa vào tên header field  String getHeaderFiled(int n) Get header filed key use index → Dùng để lấy tên của header filed Body: Sever gửi hầu hết thông tin trong body cho client Client dùng input stream để đọc kết quả từ sever → • ALH Team – AT8B Page 35 Lập trình Java trên mobile - J2ME KẾT LUẬN J2ME (Java 2 Micro Edition) là ngôn ngữ... là điểm trái phía trên của thiết bị trình bày x,y=(0,0), giá trị x tăng dần về phía phải, giá trị y tăng dần về phía trái Khi vẽ độ dài bút sẽ là 1 điểm ảnh Phương thức xác định chiều rộng và chiều cáo của Canvas:  int getWidth(): dùng để xác định rộng của Canvas ALH Team – AT8B Page 24 Lập trình Java trên mobile - J2ME int getHeight(): dùng để xác định chiều cao của Canvas c Vẽ trên 1 đối tượng Cavas... x, int y) int getTranslateX() int getTranslateY() ALH Team – AT8B Page 30 Lập trình Java trên mobile - J2ME CHƯƠNG V: LẬP TRÌNH MẠNG 5.1 Khung mạng CLDC tổng quát Mạng cho phép client di động gửi và nhận dữ liệu đến server Nó cho phép thiết bị di động sử dụng các ứng dụng như tìm kiếm cơ sở dữ liệu, trò chơi trực tuyến trong J2ME, mạng được chia làm hai phần phần đầu tiên là khung được cung cấp bởi... từ chương trình Java đã biên dịch sang ngôn ngữ máy Chính KVM sẽ chuẩn hóa output của các chương trình Java cho các thiết bị di động khác nhau có thể có bộ vi xử lý và tập lệnh khác nhau Không có KVM, các chương trình Java phải được biên dịch thành tập lệnh cho mỗi thiết bị di động Như vậy lập trình viên phải xây dựng nhiều đích cho mỗi loại thiết bị di động Hình dưới đây biểu diễn tiến trình xây dựng... kiểm tra trên thiết bị di động Trên IDE: Tạo tập tin JAR IDE sẽ tạo một tập tin JAR chứa: Tất cả các tập tin *.class Các hình ảnh của ứng dụng Hiện tại chỉ hỗ trợ tập tin *.png Các tập tin dữ liệu có thể được yêu cầu bởi ứng dụng ALH Team – AT8B Page 12 Lập trình Java trên mobile - J2ME Một tập tin kê khai (manifest.mf) cung cấp mô tả về ứng dụng cho bộ quản lý ứng dụng (application manager) trên thiết . dùng thì các tính năng dành cho điện thoại cũng tăng theo tương ứng. Hàng loạt các tính năng cao cấp được giới thiệu như chụp hình số, nghe nhạc và đặc biệt nhất là có thể sử dụng các chương. khác nhau. Sau đó Oak được sử dụng trong nhiều dự án như dự án Xanh (Blue Project), dự án Phim theo yêu cầu (Video on demand Project). Sau một chuyến du lịch tới đảo Java của Indonesia, nhóm phát. trình chỉ được hỗ trợ cơ bản như giao diện chương trình, giao thức HTTP và các tính năng hỗ trợ âm thanh hay khả năng viết game chưa được hỗ trợ.  Các lớp và kiểu dữ liệu: Phần lớn các lớp mà các
- Xem thêm -

Xem thêm: LẬP TRÌNH JAVA TRÊN MOBILE J2ME, LẬP TRÌNH JAVA TRÊN MOBILE J2ME, LẬP TRÌNH JAVA TRÊN MOBILE J2ME, CHƯƠNG I: GIỚI THIỆU VỀ JAVA VÀ J2ME, CLDC - Connected Limited Device Configuration:, b. Image Item và Image: public class Imageltem extends Item, ImageItem (String label, Image itm, int loyoua, String altText), Gồm 3 thành phần: Status line, Header, Body

Mục lục

Xem thêm