LẬP TRÌNH TRÊN THIẾT BỊ DI ĐỘNG Game Ai Là Triệu Phú - Pdf 13

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN

TIỂU LUẬN
LẬP TRÌNH TRÊN THIẾT BỊ DI ĐỘNG
Đề tài: Game Ai Là Triệu Phú
Sinh viên thực hiện : Nguyễn Văn Đạt
Lê Văn Triệu
Lớp : 11TLTPY
Giáo viên hướng dẫn: TS.Huỳnh Hữu Hưng
Tuy Hòa, 30 tháng 03 năm
2012
MỤC LỤC
Báo cáo đồ án Chuyên Đề 1 Lập trình trên thiết bị di động
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN
1. LÝ DO CHỌN J2ME:
• 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 lọai 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 …
2. MỤC TIÊU CỦA J2ME:
• Tìm hiểu ngôn ngữ lập trình java J2ME cho điện thoại di động
• Khai thác và sử dụng bộ KIT lập trình cho điện thoại di động với các
source code dựng sẵn cung cấp bởi Sun Java.
• Xây dựng chương trình Game Rắn Săn Mồi đơn giản.
3. LỊCH SỬ CỦA J2ME:

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.
• 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
SVTH: Nguyễn Văn Đạt GVHD: TS. Huỳnh Hữu Hưng
Lê Văn Triệu
3
Báo cáo đồ án Chuyên Đề 1 Lập trình trên thiết bị di động
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 (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.
SVTH: Nguyễn Văn Đạt GVHD: TS. Huỳnh Hữu Hưng
Lê Văn Triệu
4
Báo cáo đồ án Chuyên Đề 1 Lập trình trên thiết bị di động
CLDC CDC
Ram >=32K,<=512K >=256K

Game Profile.
5. PHÁT TRIỂN ỨNG DỤNG :
5.1. Biên dịch
- Mã nguồn chương trình có thể được biên dịch bằng các trình biên dịch
chuẩn của Java, chúng tạo ra các file .class. Ta có thể biên dịch từ các trình
soạn thảo hoặc biên dịch trực tiếp từ dòng lệnh.
5.2. Kiểm tra lỗi và chạy thử
- Chúng ta sử dụng các công cụ như WTK để kiểm tra lỗi và chạy thử
chương trình vì việc này nếu tiến hành trên thiết bị thật rất mất thời gian.
Việc sử dụng các giả lập giúp nhanh chóng phát hiện các lỗi. Ngoài ra nó
SVTH: Nguyễn Văn Đạt GVHD: TS. Huỳnh Hữu Hưng
Lê Văn Triệu
6
Báo cáo đồ án Chuyên Đề 1 Lập trình trên thiết bị di động
còn giúp lập trình viên có những cái nhìn cảm quan về chương trình của
mình.
5.3. Đóng gói :
- Sau khi đã kiểm lỗi và chạy thử chương trình, chúng ta tiến hành đóng gói
ứng dụng để có thể cài đặt trên các thiết bị thật. Việc đóng gói ứng dụng
thực chất là nén các file .class vào trong một file .jar, điều này giúp giảm
kích thước ứng dụng và đơn giản hóa khi cài đặt trên thiết bị thật. Chúng ta
có thể đóng gói ứng dụng bằng trình đóng gói của JDK hoặc trình đóng gói
nằm trong các IDE.
- Hoặc một cách rất thủ công, chúng ta có thể đóng gói ứng dụng một cách
trực tiếp. Việc đóng gói trực tiếp thực chất cũng tiến hành lại các công việc
như các trình đóng gói nhưng chúng ta có thể kiểm soát lỗi tốt hơn. Tuy vậy
việc này khá phức tạp và dễ gây ra lỗi nếu lập trình viên chưa thuần thục
5.4. Đóng gói và triển khai ứng dụng thành tập tin JAR
- Các lớp đã được biên dịch của ứng dụng J2ME được đóng gói trong tập tin
JAR cùng với các tài nguyên khác như hành ảnh, âm thanh,… Tập tin JAR

- Sử dụng công nghệ J2ME cho việc lập trình trên thiết bị di động là một
việc không khó đối với các lập trình viên. Tuy vậy khi lập trình bằng J2ME,
lập trình viên sẽ gặp phải một số khó khăn đạc trưng không thể tránh khỏi:
+ Không hỗ trợ phép tính dấu phẩy động (floating point):
+ Không hỗ trợ bộ nạp class (Class loader).
+ Không hỗ trợ từ khóa finalize()
+ Phần lớn các thư viện API cho Swing và AWT không thể sử dụng
được trong MIDP.
SVTH: Nguyễn Văn Đạt GVHD: TS. Huỳnh Hữu Hưng
Lê Văn Triệu
8
Báo cáo đồ án Chuyên Đề 1 Lập trình trên thiết bị di động
+ 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 đã cung cấp một chức năng khác tương đương gọi là Record
Management system (RMS) để cung cấp khả năng lưu trữ cho các
thiết bị này.
+ Các thiết bị di động bị giới hạn về kích thước ứng dụng. Ví dụ như
với Series 40 của Nokia, Samsung X100, V200,… có dung lượng lưu
trữ rất hạn chế. Sau đây là kích thước tối đa của file JAR cài đặt trên
một số dòng điện thoại:
- Đó là một số khó khăn mà các lập trình viên thường gặp phải khi lập trình
cho điện thoại di động. Trong giới hạn của đề tài này, chúng em sẽ không đi
cụ thể vào việc giải quyết các khó khăn này mà sẽ chủ yếu đi vào việc khác
phục thông qua một số kỹ thuật khi tìm hiểu về các phần khác.
6. GIỚI THIỆU MIDP:
- Đây là Profile được định nghĩa dành riêng cho các thiết bị di động và là
thành hần chính trong J2ME.MIDP cung cấp các chức năng cơ bản cho hầu

như Stack, Vector và Hastable cũng như Enumeration.
SVTH: Nguyễn Văn Đạt GVHD: TS. Huỳnh Hữu Hưng
Lê Văn Triệu
10
Báo cáo đồ án Chuyên Đề 1 Lập trình trên thiết bị di động
+ 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ợ Form và các giao diện người dùng.
+ Hỗ trợ Timer và Alert.
+ Cung cấp tính năng Record Management System (RMS) cho việc
lưu trữ dữ liệu…
7. MIDlet:
- MIDP (Mobile Information Device Profile) là tập các hàm API dành cho
thiết bị thông tin di ộng. MIDlet là ứng dụng MIDP. Thuật ngữ MIDlet và
MID application được sử dụng như nhau.Các MIDlets hình thành nên các
khối xây dựng của môi trường thực thi Java 2 Platform Micro edition
(J2ME).
- MIDlet được thiết kế để chạy và được điều khiển bởi trình quản lý ứng
dụng trong máy ảo K(K Virtual Machine - KVM), một dạng đơn giản nhất
của máy ảo Java được thiết kế để chạy trên thiết bị di động. Lớp
javax.microedition.midlet.MIDlet hoạt động như là một giao diện
(interface)giữa MIDlet và trình quản lý ứng dụng. Các phương thức thuộc
lớp này cho phép trình quản lý ứng dụng tạo, bắt đầu, tạm dừng, và hủy
MIDlet.
SVTH: Nguyễn Văn Đạt GVHD: TS. Huỳnh Hữu Hưng
Lê Văn Triệu
11
Báo cáo đồ án Chuyên Đề 1 Lập trình trên thiết bị di động
Hình biểu diễn MIDlet

(5) pauseApp():
Phương thức pauseApp() được gọi bởi bộ quản lý ứng dụng mỗi khi
ứng dụng cần được tạm dừng (ví dụ, trong trường hợp có cuộc gọi
hoặc tin nhắn đến). Cách thích hợp để sử dụng pauseApp() là giải
phóng tài nguyên và các biến để dành cho các chức năng khác trong điện
thoại trong khi MIDlet được tạm dừng. Cần chú ý rằng khi nhận cuộc gọi
đến hệ điều hành trên điện thoại di động có thể dừng KVM thay vì dừng
SVTH: Nguyễn Văn Đạt GVHD: TS. Huỳnh Hữu Hưng
Lê Văn Triệu
13
Báo cáo đồ án Chuyên Đề 1 Lập trình trên thiết bị di động
MIDlet. Việc này không được đề cập trong MIDP mà đó là do nhà sản xuất
quyết định sẽ chọn cách nào.
(6) destroyApp():
Phương thức destroyApp() được gọi khi thoát MIDlet. Ví dụ khi
nhấn nút exit trong ứng dụng. Nó chỉ đơn thuần là thoát MIDlet. Nó không
thật sự xóa ứng dụng khỏi điện thoại di động.Phương thức destroyApp() chỉ
nhận một tham số Boolean. Nếu tham số này là true, MIDlet được tắt vô
điều kiện. Nếu tham số là false, MIDlet có thêm tùy chọn từ chối thoát
bằng cách ném ra một ngoại lệ MIDletStateChangeException.
9. VÒNG ĐỜI CỦA MIDLET:
- Lớp chính của một MIDlet kế thừa là lớp
javax.microedition.midlet.MIDlet. Lớp chính này định nghĩa ba phương
thức hành động trong chu kỳ sống của nó: startApp(), pauseApp(), và
destroyApp().
- Có ba trạng thái trong vòng đời của một MIDlet:
+ Pause: MIDlet instance đã được tạo xong và chưa hoạt động (inactive)
+ Active: MIDlet đang hoạt động.
+ Destroyed: MIDlet đã kết thúc và sẵn sàng cho việc tái chế bởi bộ thu
gom rác.

10. BỘ MIDLET (MIDLET SUITE):
- Một tập các MIDlet trong cùng một tập tin JAR được gọi là một bộ
MIDlet (MIDlet suite).Các MIDlet trong một bộ MIDlet chia sẻ các lớp,
các hình ảnh, và dữ liệu lưu trữ bền vững. Để cập nhật một MIDlet, toàn
bộ tập tin JAR phải được cập nhật.
Hình biểu diễn hai bộ MIDlet
- Trong hình trên, một bộ MIDlet chứa MIDlet1, MIDlet2, và MIDlet3.
Bộ kia chỉ chứa MIDlet4. Ba MIDlet trong bộ đầu tiên truy xuất các lớp
và dữ liệu của nhau nhưng không truy xuất đến các lớp hay dữ liệu của
MIDlet4. Ngược lại, MIDlet4 cũng không truy xuất được các lớp, hình ảnh,
và dữ liệu của chúng.
SVTH: Nguyễn Văn Đạt GVHD: TS. Huỳnh Hữu Hưng
Lê Văn Triệu
16
Báo cáo đồ án Chuyên Đề 1 Lập trình trên thiết bị di động
CHƯƠNG 2: ỨNG DỤNG GAME AI LÀ TRIỆU PHÚ
1. Giới thiệu:
Bạn rất thích chương trình “Ai là triệu phú” phát sóng trên VTV3 nhưng
không có dịp thử sức trên truyền hình, hãy thử tài của bạn qua game "Ai là
triệu phú" ngay trên điện thoại của bạn.
- Đây là game được mô phỏng lại chương trình “Ai là triệu phú” trên VTV3,
nhằm đáp ứng nhu cầu giải trí cho mọi người, với những ai chưa có cơ hội
ngồi trên chiếc ghế nóng thì đây là nơi để bạn vừa giải trí và kiểm tra lại
kiến thức của mình.
- Ai đã từng đam mê chương trình “Ai là triệu phú” thì hôm nay chắc chắn
không thể bỏ qua các phiên bản game mới mới nhất của gameshow đầy thú
vị này.
2. Hình trong Game:
SVTH: Nguyễn Văn Đạt GVHD: TS. Huỳnh Hữu Hưng
Lê Văn Triệu

kỹ thuật lập trình cho điện thoại di động. Những phần này đã được
nghiên cứu, tìm hiểu qua quá trình học tập cũng như làm việc. Hi vọng
đề tài này sẽ trở thành một công cụ tham khảo có ích cho những người
đang tham gia tìm hiểu về công nghệ J2ME.
- Nhìn chung game tạo ra đáp ứng được nhu cầu giải trí của người chơi.
Giao diện thân thiện, đơn giản, dễ sử dụng tháo tác.
- Tuy nhiên một số tính năng của game chưa được tích hợp đầy đủ, thời gian
cho mỗi câu hỏi, các sự trợ giúp, lưu điểm của người chơi….
- Tuy vậy, do những hạn chế về trình độ, thời gian cũng như thiết bị
nên chúng em không thể tránh khỏi những vướng mắc và sai sót trong
quá trình tìm hiểu, nghiên cứu. Chúng em rất mong được sự đánh giá
và chỉnh sửa của các thầy hướng dẫn cũng như các bạn sinh viên đọc
qua tài liệu này.
SVTH: Nguyễn Văn Đạt GVHD: TS. Huỳnh Hữu Hưng
Lê Văn Triệu
21


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status