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

J2ME game API

46 334 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 46
Dung lượng 4,57 MB

Nội dung

1 LỜI CẢM ƠN Trƣớc tiên em xin gửi lời cám ơn chân thành sâu sắc tới các thầy cô giáo trong trƣờng Đại học Dân Lập Hải Phòng nói chung và các thầy cô giáo trong khoa Công nghệ Thông tin nói riêng đã tận tình giảng dạy, truyền đạt cho em những kiến thức, kinh nghiệm quý báu trong suốt thời gian qua. Đặc biệt em xin gửi lời cảm ơn đến thầy Đỗ Xuân Toàn đã tận tình giúp đỡ, trực tiếp chỉ bảo, hƣớng dẫn em trong suốt quá trình làm đồ án tốt nghiệp. Trong thời gian làm việc với thầy, em không ngừng tiếp thu thêm nhiều kiến thức bổ ích mà còn học tập đƣợc tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc, hiệu quả, đây là những điều rất cần thiết cho em trong quá trình học tập và công tác sau này. Đồng thời xin chân thành cảm ơn, trƣờng Đại học Dân Lập Hải Phòng đã tạo mọi điều kiện về cơ sở vật chất giúp em có một môi trƣờng tốt để thực hiện đề tài. Sau cùng xin gửi lời cảm ơn chân thành tới gia đình, bạn bè đã động viên, đóng góp ý kiến và giúp đỡ trong quá trình học tâp, nghiên cứu và hoàn thành đồ án tốt nghiệp. Hải Phòng, tháng 07/2009 Nguyễn Thị Thuỳ Dương 2 MỤC LỤC LỜI CẢM ƠN 1 Lời Mở Đầu 3 Chương 1. Cơ sở lý thuyết. . 4 1.1. Máy ảo java cho các điện thoại di động . 4 1.2. Lập trình java cho Mobile 5 1.2.1. Ngôn ngữ java . 5 1.3. Giới thiệu về J2ME 7 1.3.1. J2ME(Java 2 Micro Edition): 7 1.3.2. Kiến trúc của J2ME . 8 1.3.3 - MIDP(Mobile Information Device Profile) . 9 11 1.3.5.Tìm hiểu về một ứng dụng trong ĐTDĐ . 11 2ME 11 1.3.5.2. Cách quản lý màn hình của ĐTDĐ : 14 1.3.5.3. Kiến trúc tổng quan giao diện ngƣời dùng trong MIDP 15 Chương 2: J2ME game API . 19 1. GameCanvas class . 20 2. Layer class . 20 3. Sprite Class 20 4. TiledLayer class 23 5. LayerManager class 24 6. Công cụ lập trình của Netbeans 25 31 31 31 2.1.Các lớp đối tƣợng : 34 2.2. VisualMIDlet 38 Chương 4: Kết quả đạt được 43 1. Môi trƣờng cài đặt . 43 2. Chạy ứng dụng Game . 43 3. Kết luận và hƣớng phát triển . 45 . 45 . 45 TÀI LIỆU THAM KHẢO 46 3 Lời Mở Đầu Ngày nay, sự phát triển về nhu cầu sở hữu các thiết bị kỹ thuật số mà trong đó thiết bị di động có thị phần khá lớn. Sự đòi hỏi về mẫu mã, chất lƣợng dịch vụ mà đặc biệt là tính năng của chiếc điện thoại, các phần mềm tiện ích đi kèm đã kéo theo sự phát triển của các Hệ điều hành để các nhà phát triển ứng dụng có thể thực hiện các ý tƣởng của mình.Các hệ điều hành phổ biến đó nhƣ: Windows Mobile, Linux Mobile, Symbian… . Hiển nhiên có nhiều hạn chế cho game hơn là ứng dụng trên điện thoại bởi vì có nhiều sự tƣơng tác giữa bàn phím, hình ảnh, sự sinh động, âm thanh và hiệu ứng rung. Hơn nữa, khi lập trình bạn không chỉ quan tâm đến sự khác nhau của từng nhà sản xuất mà còn đến sự khác nhau của các dòng sản phẩm của cùng 1 nhà sản xuất Mặc dù hầu hết các điện thoại đời mới trên thị trƣờng hiện nay đều hỗ trợ MIDP 2.0, tuy nhiên nếu bạn sử dụng điện thoại cũ hơn thì có thể nó chỉ hỗ trợ MIDP 1.0 4 Chương 1. Cơ sở lý thuyết. 1.1. Máy ảo java cho các điện thoại di động Để có một chiếc điện thoại tốt luôn đòi hỏi những phần mềm cao cấp đi kèm. Nhƣng vấn đề lại đặt ra là có quá nhiều nhà sản xuất điện thoại sử dụng nhiều công nghệ khác nhau. Chính vì thế, việc tạo ra các ứng dụng chạy đƣợc trên tất cả các dòng sản phẩm là một vấn đề không đơn giản. Nhƣng với sự ra đời của J2ME, nó không những đáp ứng đƣợc các vấn đề nêu trên mà còn tạo nên tiền đề quan trọng trong việc phát triển và đẩy mạnh các ứng dụng cho Mobile. Độc lập với phần cứng, chạy trên mọi nền tảng khác nhau của các nhà sản xuất khác nhau, đây cũng là một mục tiêu đồng thời cũng là thế mạnh mà J2ME đã mang lại. Khi mã nguồn Java đƣợc biên dịch nó đƣợc chuyển đổi thành mã bytecode. Mã bytecode này sau đó đƣợc chuyển thành mã ngôn ngữ máy của thiết bị di động. Tầng máy ảo Java bao gồm KVM (K Virtual Machine) là bộ biên dịch mã bytecode có nhiệm vụ chuyển mã bytecode của chƣơng trình Java thành ngôn ngữ máy để chạy trên thiết bị di động. Vai trò của máy ảo Java hay KVM là dịch mã bytecode đƣợc sinh ra 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. 5 Hình 1 Biểu diễn tiến trình xây dựng ứng dụng MIDlet hoàn chỉnh và vai trò của KVM. 1.2. Lập trình java cho Mobile 1.2.1. Ngôn ngữ java a. Java là một ngôn ngữ biên dịch. Tuy nhiên khác với các ngôn ngữ biên dịch phổ biến khác nhƣ C/C++, chƣơng trình nguồn Java không đƣợc biên dịch trực tiếp sang một mã máy đích cụ thể nào mà đƣợc biên dịch sang mã máy ảo Java. Mã má ảo đƣợc thực hiện bởi máy ảo Java khi cần có thể đƣợc thông dịch sang hệ máy cụ thể. Ƣu điểm dễ nhận thấy của phƣơng thức này là mã đích không phụ thuộc vào phần cứng hay hệ điều hành cụ thể do đó đảm bảo tính khả chuyển của chƣơng trình. Nhƣợc điểm của nó là do phải thực hiện trong môi trƣờng máy ảo nên tốc độ sẽ chậm hơn so với nếu đƣợc dịch sang mã máy và thực hiện trực tiếp. 6 Một ƣu điểm quan trọng khác của cơ chế máy ảo là nó cho phép kiểm soát sự truy cập đến các tài nguyên hệ thống. b.Quá trình phát triển của Java c. So sánh công nghệ Java và Microsoft.Net 7 1.3. Giới thiệu về J2ME 1.3.1. J2ME(Java 2 Micro Edition): J2ME đƣợ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 . Java ban đầu đƣợc thiết kế dành cho các máy với tài nguyên bộ nhớ hạn chế. Thị trƣờng của J2ME đƣợc mở rộng ra cho nhiều chủng loại thiết bị nhƣ: - Các loại thẻ cá nhân nhƣ 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 . Các bộ công cụ phát triển J2ME hầu nhƣ đƣợc cung cấp miễn phí . Đây sẽ là một thuận lợi cho những ngƣời mới bắt đầu với J2ME. Một số tính năng ƣu việt của J2ME: Cung cấp nội dung linh động, bảo mật, tƣơng thích nền tảng, tính năng nâng cao,truy cập ngoại tuyến, và mang tính năng mạnh mẽ của một ngôn ngữ lập trình hƣớng đối tƣợng hiện đại. 8 1.3.2. Kiến trúc của J2ME Hình 2 Kiến trúc của J2ME Kiến trúc J2ME bao gồm các thành phần: Cấu hình (configuration), hiện trạng (profile), các gói tuỳ chọn (optional package) cho việc xây dựng hoàn thiện môi trƣờng thực thi Java mà đáp ứng các yêu cầu cho một phạm vi lớn của các thiết bị và thị trƣờng đích. Các nhà sản xuất thiết bị phát triển các tính năng mới trong các thiết bị của họ hoặc cung cấp các dịch vụ, ứng dụng. Các cấu hình có thể đƣợc mở rộng với các thƣ viện bổ sung cho từng thiết bị. Cấu hình: Cấu hình bao gồm máy ảo Java và một tập hợp rất nhỏ các hàm API theo đặc tả của một loại thiết bị nhất định. 9 Hình trạng: Để cung cấp một môi trƣờng thực thi hoàn thiện tại các loại thiết bị nhất định, các cấu hình phải đƣợc kết nối với một tập các API mức cao hơn. Gói tuỳ chọn: Nền tảng J2ME có thể đƣợc mở rộng hơn nữa bằng các gói tùy chọn với cấu hình CLDC, CDC, và các hình trạng tƣơng ứng. Các gói tuỳ chọn đƣa ra các chuẩn cho việc sử dụng cả công nghệ đã có và công nghệ đang đƣợc sử dụng rộng rãi là Bluetooth, dịch vụ Web, nhắn tin không dây, đa phƣơng tiện, và kết nối cơ sở dữ liệu. Các nhà sản xuất thiết bị có thể kèm theo các gói tùy chọn để thúc đẩy các tính năng của các thiết bị. 1.3.3 - MIDP(Mobile Information Device Profile) Tầng J2ME cao nhất là tầng hiện trạng và mục đích của nó là định nghĩa các API cho các thiết bị di động. Một thiết bị di động có thể hỗ trợ nhiều hiện trạng. Một hiện trạng có thể áp đặt thêm các giới hạn trên các loại thiết bị di động (nhƣ nhiều bộ nhớ hơn hay độ phân 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. Hiện tại hiện trạng đƣợc công bố là MIDP (Mobile Information Profile) với đặc tả JSR - 37. Có 22 công ty là thành viên của nhóm chuyên gia tạo ra chuẩn MIDP. MIDP cung cấp các API cho phép thay đổi trạng thái chu kỳ sống ứng dụng, đồ họa (mức cao và mức thấp), tuyến đoạn, timer, lƣu trữ bền vững (persistent storage), và mạng. Nó không định nghĩa cách mà ứng dụng đƣợc nạp trong thiết bị di động. Đó là trách nhiệm của nhà sản xuất. Nó cũng không định nghĩa bất kỳ loại mô hình bảo mật end-to- end nào, vốn cần thiết cho ứng dụng kinh doanh nhận số thẻ tín dụng của ngƣời dùng. Nó cũng không bắt buộc nhà sản xuất cách mà lớp MIDP đƣợc thực hiện. 10  MIDP là một Profile đƣợc định nghĩa dành riêng cho các thiết bị di động và là thành phần chính trong J2ME, nó 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 hiện nay nhƣ các máy điện thoại di động và các máy PDA.  Các ứng dụng J2ME đƣợc gọi là MIDlet (Mobile Information Device applet).  Ứng dụng của MIDP với di động Do MIDP là chuẩn phát triển ứng dụng Java trên các điện thoại Symbian nên hiện nay,có rất nhiều hãng điện thoại lớn sử dụng công nghệ J2ME trên nền Symbian có hỗ trợ MIDP. Vào tháng 11 năm 2003, Sun đã tung ra phiên bản mới nhất là MIDP 2.0 với hàng loạt tính năng đƣợc cung cấp so với MIDP 1.0 nhƣ : nâng cao tính bảo mật, hỗ trợ Form tốt hơn, chụp ảnh RGB…v.v… Các thiết bị nhắm tới J2ME : Các hãng Điện thoại di động nhƣ : NOKIA, SAMSUNG, MOTOROLA, SIEEMS, TOSIBA, SHARP . SAMSUNG SGH-D500 SGH-730 SGH-E630 . 2: J2ME game API giới thiệu về : • 2ME • 1. J2MEgame API 1. anvas 2. 3. 4. 5. javax.microedition.lcdui .game. : . • . • TiledLayer. • . • . 20 • 1. GameCanvas. trong MIDP 15 Chương 2: J2ME game API . 19 1. GameCanvas class .

Ngày đăng: 10/12/2013, 11:10

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. JavaVietNam.org & Nhà sách Đất Việt , Lập trình Mobile Games bằng J2ME, NXB Giao Thông Vận Tải Sách, tạp chí
Tiêu đề: Lập trình Mobile Games bằng J2ME
Nhà XB: NXB Giao Thông Vận Tải
2. Phương Lan & Hoàng Đức Hải , Java(Tập 1),NXB Lao Động Xã Hội Sách, tạp chí
Tiêu đề: Java(Tập 1)
Nhà XB: NXB Lao Động Xã Hội
5. Hungry Minds, Wireless Programming with J2ME™: Cracking the code, Inc Sách, tạp chí
Tiêu đề: Wireless Programming with J2ME™: Cracking the code
6. James White, Java in Small Things, Maning Publications 7. J2ME Game Programming – by Martin Wells Sách, tạp chí
Tiêu đề: Java in Small Things", Maning Publications 7. "J2ME Game Programming
8. Wireless Game Development in Java with MIDP.2.0 - by Ralph Barbagallo Sách, tạp chí
Tiêu đề: Wireless Game Development in Java with MIDP.2.0
9. J2ME Game Development with MIDP2 – by Jason Lam Sách, tạp chí
Tiêu đề: J2ME Game Development with MIDP2
3. Addison Wesley Publisher, Programming Wireless Devices with the Java™ 2 Platform, Micro Edition, Second Edition Khác
4. Sams Publisher, Java™ 2 Micro Edition Application Development Khác

Xem thêm

HÌNH ẢNH LIÊN QUAN

Hình 1  Biểu diễn tiến trình xây dựng ứng dụng MIDlet hoàn chỉnh và vai  trò của KVM. - J2ME game API
Hình 1 Biểu diễn tiến trình xây dựng ứng dụng MIDlet hoàn chỉnh và vai trò của KVM (Trang 5)
Hình 2  Kiến trúc của J2ME - J2ME game API
Hình 2 Kiến trúc của J2ME (Trang 8)
Hình 7  Canvas và Graphics - J2ME game API
Hình 7 Canvas và Graphics (Trang 16)
Hình trên là tạo ra Sprite với Image duke.png. Có thể tự điều chỉnh độ rộng  độ dài của Frame - J2ME game API
Hình tr ên là tạo ra Sprite với Image duke.png. Có thể tự điều chỉnh độ rộng độ dài của Frame (Trang 27)
Hình 16  Tạo scene - J2ME game API
Hình 16 Tạo scene (Trang 30)
Hình 19  Hình ảnh quá trình của trò chơi : - J2ME game API
Hình 19 Hình ảnh quá trình của trò chơi : (Trang 42)

TỪ KHÓA LIÊN QUAN

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w