Công nghệ J2ME và xây dựng trò chơi bóng rổ trên điện thoại di động

89 345 0
Công nghệ J2ME và xây dựng trò chơi bóng rổ trên điện thoại di độ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

MỤC LỤC Lời nói đầu Lời cảm ơn Error! Bookmark not defined Lời cam đoan Error! Bookmark not defined Danh Sách Các Hình Các chữ viết tắt, thuật ngữ sử dụng MỤC LỤC CHƯƠNG I GIỚI THIỆU TỔNG QUAN Lý chọn đề tài Mục tiêu Đối tượng nghiên cứu Phạm vi nghiên cứu Môi trường thực 6 Giới thiệu Java công nghệ J2ME 6.1 Lý chọn J2ME 6.2 Kiến trúc J2ME 6.3 Phát triển ứng dụng 11 6.4 Kiểm tra lỗi chạy thử .11 6.5 Đóng gói 12 6.6 Đóng gói triển khai ứng dụng thành tập tin JAR 12 6.7 Tập tin manifest.mf tập tin JAD .12 6.8 Tối ưu mã chương trình giảm kích thước ứng dụng 13 6.9 Những khó khăn lập trình thiết bị di động 13 Lập trình bluetooth .14 CHƯƠNG II LẬP TRÌNH VỚI J2ME .16 MIDlet đối tượng Display 16 1.1 MIDlet – Vòng đời MIDlet .16 1.2 Đối tượng Display 19 1.3 Đối tượng Displayable 19 Giao diện người dùng cấp cao 19 2.1 Đối tượng Display, Displayable Screens 19 2.2 Thành phần Form Items 21 2.3 Thành phần List, Textbox, Alert, Ticker 31 Giao diện người dùng cấp thấp .32 3.1 Các hàm API mức thấp 32 3.2 Lớp Canvas kỹ thuật xử lý đồ họa: 33 3.3 Lớp Graphics 38 CHƯƠNG III XÂY DỰNG TRÒ CHƠI BÓNG RỔ 44 Giới thiệu 44 Giao diện người dùng 44 Thiết kế mã nguồn chương trình 49 Mã nguồn 50 KẾT LUẬN 87  Tóm tắt vấn đề nghiên cứu : .87  Hướng nghiên cứu 88 Tài liệu tham khảo 89 Lời nói đầu Với đà phát triển thông tin di động nay, thiết bị di động trở thành trợ thủ thiếu đa số người Công nghệ ngày phát triển, thiết bị di động hạn chế so với máy tính có ưu riêng Không giống điện thoại trước có nhiệm vụ thoại, điện thoại di động ngày nhiệm vụ thoại hỗ trợ nhiều ứng dụng khác như: truy cập Internet, gửi mail, xem phim, nghe nhạc, chơi games… Những điện thoại di động hỗ trợ âm thanh, hình ảnh, đồ họa Để góp phần tăng tính giải trí điện thoại di động đồng thời tìm hiểu việc xây dựng ứng dụng điện thoại di động, em chọn đồ án “Công nghệ J2ME xây dựng trò chơi bóng rổ điện thoại di động” Java lựa chọn có khả thành công lĩnh vực Java với ổn định, tính tương thích với hỗ trợ nhà cung cấp phát triển đặc biệt công nghệ J2ME Qua đồ án em cố gắng nắm bắt ứng dụng tốt kỹ thuật lập trình điện thoại di động Hy vọng kết đồ án tài liệu tham khảo tốt cho người bạn sinh viên phần nắm bắt thông tin có ích cho công việc học tập Danh Sách Các Hình Hình 1.1 Hình 1.2 Hình 1.3 Hình 2.1 Hình 2.2 Hình 2.3 Hình 2.4 Hình 2.5 Hình 2.6 Hình 3.1 Hình 3.2 Hình 3.3 Hình 3.4 Hình 3.5 Hình 3.6 Hình 3.7 Hình 3.8 Hình 3.9 Hình 3.10 Hình 3.11 Hình 3.12 Các tầng J2ME xây dựng CLDC Các thành phần J2ME Các thành phần ứng dụng CLDL CDC 11 Vòng đời MIDlet 18 Thành phần Displayable 20 Cây phân lớp đối tượng 20 Cây phân lớp đối tượng (đầy đủ) .31 Mô tả hình vẽ cung .40 Mô tả hình vẽ chữ nhật .41 Thiết kế giao diện .44 Thiết kế giao diện chương trình giả lập 45 Giao diện hình .45 Giao diện menu 45 Giao diện mức chơi 46 Giao diện hướng dẫn 46 Giao diện giới thiệu tác giả 47 Giao diện trò chơi .47 Giao diện chúc mừng người chơi thắng 48 Giao diện chúc mừng máy thắng 48 Chương trình điện thoại giả lập .48 Mối quan hệ lớp chương trình 50 Các chữ viết tắt, thuật ngữ sử dụng API Application Program Interface CDC Connected Device Configuration CLDC Connected Limited Device Configuration Configuration Đặc tả quy định thư viện gốc J2ME phải hỗ trợ cho dòng phần cứng J2EE Java Enterprise Edition, phiên Java cho dự án lớn J2ME Java Micro Edition, phiên Java cho thiết bị nhỏ J2SE Java Standard Edition, phiên Java đời dành cho PC thông thường JDK Java Development Kits KVM Máy ảo Java cho môi trường CLDC MIDlet Tên gọi chung cho ứng dụng J2ME MIDP Mobile Information Device Profile PDA Personal Device Assistant Profile Các tập thư viện cấp cao định nghĩa Configuration CHƯƠNG I GIỚI THIỆU TỔNG QUAN Lý chọn đề tài Công nghệ thông tin ngày có vai trò quan trọng sống hàng ngày Hiện có nhiều công nghệ phát triển song song với việc phát triển công nghệ thông tin Bluetooth, Wireless, WAP, SOAP,… nhằm giúp công nghệ thông tin ngày thân thiết với người dùng Một công nghệ góp phần không nhỏ việc kết nối người với thông tin người với người công nghệ di động Với tốc độ phát triển lợi ích to lớn công nghệ di động, thấy có ảnh hưởng lớn đến sống người Không giống trước điện thoại có chức đơn giản đàm thoại, điện thoại có thêm nhiều chức năng, ứng dụng khác như: email, truy cập Internet, video, nghe nhạc, chơi game, … đồng thời với phát triển vũ bão dịch vụ gia tăng điện thoại di động dựa công nghệ WAP SOAP Em chọn đề tài đồ án tốt nghiệp “Công nghệ J2ME xây dựng trò chơi bóng rổ điện thoại di động” viết số ứng dụng đơn giản nhằm khai thác tính thiết bị di động mà chủ yếu điện thoại di động Qua em cố gắng nắm bắt ứng dụng tốt kỹ thuật lập trình thiết bị di động Mục tiêu Khi thực đề tài này, mục tiêu mà em mong muốn đạt là:  Hiểu chi tiết J2ME ứng dụng để lập trình thiết bị di động  Nắm kỹ thuật xử lý form, âm thanh, hình ảnh, lưu trữ điện thoại di động  Ứng dụng kết đạt để xây dựng chương trình đơn giản, có tiện ích phục vụ nhu cầu người sử dụng điện thoại di động  Áp dụng thành công số dòng máy điện thoại di động hỗ trợ Java hãng Nokia, Sony, Samsung,… Đối tượng nghiên cứu  Hiểu chi tiết J2ME ứng dụng để lập trình điện thoại di động  Nắm kỹ thuật xử lý âm thanh, hình ảnh, lưu trữ liệu điện thoại di động  Ứng dụng kết có để xây dựng ứng dụng thực tiễn điện thoại di động  Ngoài lập trình J2ME, nghiên cứu số công cụ lập trình khác trên điện thoại di động lập trình Bluetooth  Chương trình demo trò chơi bóng rổ điện thoại di động Phạm vi nghiên cứu Nghiên cứu chi tiết công nghệ J2ME kỹ thuật lập trình điện thoại di động Ứng dụng kết nghiên cứu để xây dựng ứng dụng triển khai điện thoại di động Vì thời gian có hạn khả tìm hiểu nhiều hạn chế nên em trình bày kỹ thuật lập trình số dòng điện thoại phổ biển hãng lớn Nokia, Samsung, Sony Ericssion Em cố gắng khai thác mạnh form, âm thanh, hình ảnh mà nhà sản xuất cung cấp điện thoại di động họ Môi trường thực  Hệ điều hành Windows XP  IDE: NetBeans 6.0.1, NetBeans Mobility Pack 5.5.1 ( kèm WTK 2.5)  JDK 1.6.02  Sun Wireless Toolkit 2.2 Giới thiệu Java công nghệ J2ME Giới thiệu Java Java công nghệ hãng Sun Microsystems xây dựng từ cuối năm 1990 với tên Oak phát triển vượt bậc với đóng góp hàng vạn lập trình viên giới Ban đầu, Oak kỹ sư James Gosling cộng xây dựng với mục đích lập trình cho mặt hàng điện dân dụng với mục tiêu nhỏ gọn tương thích với nhiều loại thiết bị phần cứng khác Sau Oak sử dụng nhiều dự án dự án Xanh (Blue Project), dự án Phim theo yêu cầu (Video on demand Project) Sau chuyến du lịch tới đảo Java Indonesia, nhóm phát triển Oak đổi tên Oak thành Java Java mà tiền thân Oak xây dựng chủ yếu dựa công cụ phát triển (Java Development Kit - JDK) thư viện chuẩn chứa trình biên dịch, trình thông dịch, trình đóng gói, tài liệu,… Đây tảng cho việc phát triển ứng dụng Java Hiện nay, cộng đồng Java giới mà đầu hãng Sun Microsystems xây dựng nhiều nhánh cho Java như: JavaMail (thư điện tử), Java TAPI (viễn thông), Java3D (đồ họa chiều), J2ME (ứng dụng cho thiết bị di động),… Hiện Java có phiên sau: J2SETM (Java Platform, Standart Edition): Phiên chuẩn gồm công cụ thông dụng dùng để chạy máy PC mạng máy tính nhỏ J2EETM (Java Platform, Enterprise Edition): Phiên dành cho máy chủ với nhớ lớn Bao gồm kiến trúc nâng cao Web, EJB, Transaction,… dùng để xây dựng ứng dụng có quy mô lớn J2METM (Java Platform, Micro Edition): Bao gồm môi trường thư viện Java dùng để phát triển ứng dụng thiết bị có nhớ nhỏ điện thoại di động, PDA, đồ gia dụng,… Giới thiệu J2ME lập trình cho thiết bị di động J2ME phát triển từ kiến trúc JavaCard, EmbededJava PersonalJava phiên Java 1.1 Đến đời phiên Java Sun định thay PersonalJava phiên có tên Java Micro Edition, viết tắt J2ME J2ME sử dụng cho thiết bị nhỏ gọn với dung lượng nhớ bé khả xử lý thấp Mục tiêu Java cho phép người lập trình viết ứng dụng độc lập với thiết bị di động, không cần quan tâm đến phần cứng thật Để làm thế, J2ME xây dựng tầng khác để che giấu việc tương tác trực tiếp với phần cứng thiết bị Các tầng J2ME xây dựng CLDC (Connected Limited Device Configuration): Hình 1.1 Các tầng J2ME xây dựng CLDC Tầng tầng Phần cứng thiết bị - tầng vật lý bao gồm phần cứng thiết bị di động Các tầng bên tầng Phần cứng thiết bị tầng trừu tượng, chúng cung cấp cho lập trình viên nhiều giao diện lập trình thân thiện dễ dàng mà không cần quan tâm đến phần cứng Nói cách khác chúng đóng vai trò trung gian giúp cho lập trình viên tương tác với phầncứng mà không cần quan tâm đến chi tiết thực phần cứng thiết bị Tầng Phần cứng thiết bị (Device Hardware Layer): thiết bị di động thật với nhớ tốc độ xử lý cụ thể Các thiết bị di động khác có vi xử lý tập lệnh khác Mục tiêu J2ME cung cấp cho lập trình viên khả giao tiếp giống với tất loại thiết bị di động khác Tầng máy ảo Java (Java Virtual Machine Layer): tầng đóng vai trò thông ngôn chương trình thiết bị Nó thông dịch mã bytecode (mã có sau biên dịch mã nguồn chương trình) thành mã máy thiết bị di động Tầng bao gồm KVM (K Virtual Machine) biên dịch mã bytecode thành mã máy Nó cung cấp chuẩn hóa cho thiết bị di động để ứng dụng J2ME sau biên dịch chạy thiết bị di động hỗ trợ KVM Tầng cấu hình (Configuration Layer): Tầng cung cấp hàm API nhân J2ME Lập trình viên sử dụng lớp phương thức API nhiên không thực phong phú tập API tầng trạng Tầng trạng (Profile Layer): Tầng cung cấp hàm API hữu dụng cho việc lập trình Mục đích tầng xây dựng nên lớp cấu hình cung cấp nhiều thư viện ứng dụng 6.1 Lý chọn J2ME: Java ban đầu thiết kế dành cho máy với tài nguyên nhớ hạn chế 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 … 6.2 Kiến trúc J2ME Phần trình bày kiến trúc tổng quát tảng Java Hình 1.2 Các thành phần J2ME 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 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) Đị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 10 display.setCurrent(youWin); } else if (d == "IWin") { main2.setCompMode(0); display.setCurrent(iWin); } else if (d == "FinishGame") { main2.startGame(); menu.deleteContinue(); display.setCurrent(menu); } } public void setLevel(int level) { this.level = level; } public int getLevel() { return level; } public void setCompMode(int i) { main2.setCompMode(i); } public int getCompmode() { return main2.getCompMode(); } public void setSoundEnable(boolean bool) { 75 enable = bool; } public boolean getSoundEnable() { return enable; } } Class Author import javax.microedition.lcdui.*; public class Author extends Form implements CommandListener { private TestMidletMIDlet parent; private Command mainMenu = new Command("Trở lại", Command.BACK, 1); public Author(TestMidletMIDlet parent) { super("Tác giả"); addCommand(mainMenu); setCommandListener(this); this.append("Copyright by\nPhạm Thị Quyến\n\n"); this.append("Lớp ĐTVTK3\nKhoa CNTT."); this.append("Số ĐT: 0975127562\nEmail: quyen.dtvtk3@gmail.com"); this.parent = parent; } public void commandAction(Command c, Displayable d) { if (c == mainMenu) { parent.setCurrent("MainMenu2"); } 76 } Class FirstBackGround import javax.microedition.lcdui.*; import java.io.*; import java.util.*; public class FirstBackGround extends Canvas implements CommandListener { private Image screenshot; private TestMidletMIDlet parent; private Timer timer; public FirstBackGround(TestMidletMIDlet parent) { this.parent = parent; try { setCommandListener(this); addCommand(new Command("Menu", Command.EXIT, 1)); } catch(Exception e) { e.printStackTrace(); } try { screenshot = Image.createImage("/firstBackGround.png"); } catch(IOException e) {} startTimer(); } public void startTimer() { 77 TimerTask gotoMenu = new TimerTask() { public void run() { timer.cancel(); parent.setCurrent("MainMenu2"); } }; timer = new Timer(); timer.schedule(gotoMenu, 3000); } public void paint(Graphics g) { g.setColor(255, 255, 255); g.fillRect(0, 0, this.getWidth(), this.getHeight()); g.drawImage(screenshot, (this.getWidth() - 128) / 2, (this.getHeight() - 128) / 2, Graphics.TOP|Graphics.LEFT); } public void commandAction(Command command, Displayable displayable) { timer.cancel(); parent.setCurrent("MainMenu2"); } } Class Iwin import javax.microedition.lcdui.*; import java.io.*; public class IWin extends Canvas implements CommandListener { 78 private TestMidletMIDlet parent; private Image screenshot; private Command Command.EXIT, 1); private Command Command.OK, 2); exitCommand restartCommand = = new new Command("Thoát", Command("Chơi lại", private int offsetWidth, offsetHeight; private int myWidth, myHeight; public IWin(TestMidletMIDlet parent) { this.parent = parent; try { setCommandListener(this); addCommand(exitCommand); addCommand(restartCommand); } catch(Exception e) { e.printStackTrace(); } try { screenshot = Image.createImage("/IWon.png"); } catch(IOException e) {} myWidth = 128; myHeight = 128; offsetWidth = (this.getWidth() - myWidth) / 2; offsetHeight = (this.getHeight() - myHeight) / 2; } 79 public void paint(Graphics g) { g.setColor(255, 255, 255); g.fillRect(0, 0, 128, 128); g.drawImage(screenshot,offsetWidth,offsetHeight, Graphics.TOP|Graphics.LEFT); } protected void keyPressed(int keyCode) { } protected void keyReleased(int keyCode) { } protected void keyRepeated(int keyCode) { } protected void pointerDragged(int x, int y) { } protected void pointerPressed(int x, int y) { } protected void pointerReleased(int x, int y) {} public void commandAction(Command command, Displayable displayable) { if (command == exitCommand) { parent.setCurrent("FinishGame"); } else if (command == restartCommand) { parent.setCurrent("MainScreen"); } 80 } Class YouWin import javax.microedition.lcdui.*; import java.io.*; public class YouWin extends Canvas implements CommandListener { private TestMidletMIDlet parent; private Image screenshot; private Command Command.EXIT, 1); private Command Command.OK, 2); exitCommand restartCommand = = new new Command("Thoát", Command("Chơi lại", private int offsetWidth, offsetHeight; private int myWidth, myHeight; public YouWin(TestMidletMIDlet parent) { this.parent = parent; try { setCommandListener(this); addCommand(exitCommand); addCommand(restartCommand); } catch(Exception e) { e.printStackTrace(); } try { screenshot = Image.createImage("/YouWon.png"); } catch(IOException e) {} 81 myWidth = 128; myHeight = 128; offsetWidth = (this.getWidth() - myWidth) / 2; offsetHeight = (this.getHeight() - myHeight) / 2; } public void paint(Graphics g) { g.setColor(255, 255, 255); g.fillRect(0, 0, 128, 128); g.drawImage(screenshot,offsetWidth,offsetHeight, Graphics.TOP|Graphics.LEFT); } protected void keyPressed(int keyCode) { } protected void keyReleased(int keyCode) { } protected void keyRepeated(int keyCode) { } protected void pointerDragged(int x, int y) { } protected void pointerPressed(int x, int y) { } protected void pointerReleased(int x, int y) { } public void commandAction(Command command, Displayable displayable) { if (command == exitCommand) { 82 parent.setCurrent("FinishGame"); } else if (command == restartCommand) { parent.setCurrent("MainScreen"); } } } Class InstructionForm import javax.microedition.lcdui.*; public class InstructionsForm extends Form implements CommandListener { private TestMidletMIDlet parent; private Command mainMenu = new Command("Trở lại", Command.BACK, 1); public InstructionsForm(TestMidletMIDlet parent) { super("Hướng dẫn"); addCommand(mainMenu); setCommandListener(this); this.append("Mục đích trò chơi là:\n hai người chơi bóng rổ sân\n người chiến thắng người đưa nhiều bóng vào rổ hơn.\n\n"); this.append("Người chơi sử dụng phím để di chuyển sang trái,2 di chuyển lên phía trên, di chuyển sang phải di chuyển suống phía dưới.\n\n"); this.append("Nhấn phím để ném bóng vào rổ"); this.parent = parent; } public void commandAction(Command c, Displayable d) { if (c == mainMenu) { 83 parent.setCurrent("MainMenu2"); } } } Class Level import javax.microedition.lcdui.*; public class Level extends List implements CommandListener { private static final String[] str = {"Dễ", "Bình thường", "Khó"}; private Command Command.ITEM, 1); chooseCommand = new Command("Chọn", private TestMidletMIDlet parent; public Level(TestMidletMIDlet parent) { super("Chọn mức chơi", List.IMPLICIT, str, null); addCommand(chooseCommand); setCommandListener(this); this.parent = parent; } public void commandAction(Command c, Displayable d) { if (c == chooseCommand) { switch(this.getSelectedIndex()) { case 0: parent.setLevel(30); break; case 1: parent.setLevel(20); 84 break; case 2: parent.setLevel(10); break; default: } parent.setCurrent("MainMenu2"); } } Class Menu import javax.microedition.lcdui.*; public class Menu extends List implements CommandListener { private static final String[] str = {"Bắt đầu chơi", "Chọn mức chơi", "Hướng dẫn", "Tác giả"}; private TestMidletMIDlet parent; private Command Command.ITEM, 1); chooseCommand = new Command("Thoát", private Command exitCommand = new Command("Chọn", Command.EXIT, 2); public Menu(TestMidletMIDlet parent) { super("Main Menu", List.IMPLICIT, str, null); addCommand(chooseCommand); addCommand(exitCommand); setCommandListener(this); this.parent = parent; } 85 public void commandAction(Command c, Displayable d) { if (c == chooseCommand) { parent.exitMIDlet(); } else if (c == exitCommand) { if (this.getString(this.getSelectedIndex()) == "Bắt đầu chơi") { parent.setCurrent("MainScreen"); } else if (this.getString(this.getSelectedIndex()) == "Tác giả") { parent.setCurrent("Author"); } else if (this.getString(this.getSelectedIndex()) == "Hướng dẫn") { parent.setCurrent("InstructionsForm"); } else if (this.getString(this.getSelectedIndex()) == "Chọn mức chơi") { parent.setCurrent("ChooseLevel"); } else if (this.getString(this.getSelectedIndex()) == "Tiếp tục lại") { parent.setCurrent("Continue"); } } public void addContinue() { if (this.getString(0) != "Tiếp tục lại") { this.insert(0, "Tiếp tục lại", null); this.setSelectedIndex(0, true); 86 } } public void deleteContinue() { if (this.getString(0) == "Tiếp tục lại") { this.delete(0); } } } KẾT LUẬN  Tóm tắt vấn đề nghiên cứu : Sau thực đồ án tốt nghiệp: ”Công nghệ J2ME xây dựng trò chơi bóng rổ điện thoại di động ”em nắm kiến thức công nghệ J2ME điện thoại di động có phần trọng tâm em đề cập đến đồ án tốt nghiệp lần : 87  Nền tảng Java (chương I)  Các kỹ thuật lập trình J2ME(chương II)  Xây dựng trò chơi bóng rổ điện thoại di động(chương III) Những kỹ thuật ứng dụng thành công việc xây dựng trò chơi bắt bóng, kiểm tra thành công loại điện thoại thật Nokia, LG SAMSUNG Em hy vọng kết mà em tìm hiểu góp phần tài liệu có ích cho bạn sinh viên nghiên cứu viết ứng dụng điện thoại di động  Hướng nghiên cứu Hiện nay, lập trình điện thoại di động lĩnh vực thu hút nhiều lập trình viên Việc xây dựng ứng dụng điện thoại cần thiết nhu cầu cấp thiết phát triển công nghệ di động Trong phạm vi đồ án, em trình bày phần kỹ thuật lập trình J2ME điện thoại di động Những phần kiểm tra thực tốt, ứng dụng vào thực tế Tuy nhiên có nhiều điều cần cải tiến nghiên cứu thêm :  Xây dựng module xử lý âm thanh, test chạy máy điện thoại di động  Cải thiện chất lượng hình ảnh không làm tăng kích thước ứng dụng  Bổ xung tính chơi qua mạng giao tiếp hồng ngoại Bluetooth 88 Tài liệu tham khảo [1] Phương Lan, Java tập 3, NXB Lao động Xã hội, 2006 [2] Nguyễn Thị Bích Ngà, Nền tảng công nghệ J2Me & MDP, NXB Giao thông Vận tải, 2006 [3] Nguyễn Hữu Mai, Tổng quan J2ME, javavietnam.org, 2004 [4] Lê Ngọc Quốc Khánh, Phát triển ứng dụng J2ME J2ME Wireless Toolkit, 2004 [5] Trần Tiến Dũng, Giáo trình lý thuyết tập Java, nhà xuất Giáo dục, 1999 [6] Nokia, MIDP and Game UI, forum Nokia, 2003 [7] Ngô Văn Khoa, Hướng dẫn sử dụng SAMSUNG, 2004 89

Ngày đăng: 04/08/2016, 15:23

Từ khóa liên quan

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

Tài liệu liên quan