1. Trang chủ
  2. » Giáo Dục - Đào Tạo

giới thiệu tổng quan về java

19 155 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

Cấu trúc

  • 1. Những kết quả đạt của nhóm:

  • - Hoàn thành được bài tập được giao trong thời gian quy định.

  • - Trong quá trình thực hiện bài tập đã giúp nhóm củng cố được các kiến thức đã học được.

  • - Đã có sự phân công công việc giữa các thành viên trong nhóm để hoàn thành công việc.

  • 2. Hạn chế của nhóm trong thời gian thực hiện bài tập.

  • - Kiến thức về chuyên môn và kinh nghiệm lập trình chưa có nên chương trình còn có nhiều thiếu sót.

  • - Tuy đã đã có sự phân công công việc giữa các thành viên trong nhóm vẫn chưa thực sự chuyên nghiệp và hợp lý nên hiệu quả và tiến độ công việc chưa cao.

Nội dung

Bài tập lớn Java Đề số Viện Đại Học Mở Hà Nội Khoa Công Nghệ Thông Tin BÁO CÁO BÀI TẬP MÔN: LẬP TRÌNH JAVA Đề số Giáo viên hướng dẫn: Dương Thăng Long Sinh viên thực hiện: Lớp: 0310B1 Hà Nội, 8/2013 Nhóm 05 – Lớp 0310B1 GVHD: Thầy Dương Thăng Long Bài tập lớn Java Đề số LỜI NÓI ĐẦU Java công nghệ xây dựng ứng dụng phần mềm có vị trí lớn năm cuối kỉ 20, đầu kỉ 21 Nó coi công nghệ mang tính cách mạng khả thi việc tạo ứng dụng có khả chạy thống nhiều tảng mà cần biên dịch lần Lần xuất hiện vào năm 1992 ngôn ngữ dùng nội tập đoàn Sun Microsystems để xây dựng ứng dụng điều khiển xử lý bên máy điện thoại cầm tay, lò vi sóng, thiết bị điện tử dân dụng khác Không ngôn ngữ, Java tảng phát triển triển khai ứng dụng máy ảo Java, thông dịch có vai trò trung tâm Sun, công ty phát minh ngôn ngữ Java, thức ban hành Java Development Kit 1.0 vào năm 1996 hoàn toàn miễn phí để nhà phát triển tải về, học Java, xây dựng ứng dụng Java triển khai chúng hệ điều hành có hỗ trợ Java Khi nhắc đến Java người ta không nhắc đến Java ngôn ngữ mà nhắc đến Java công nghệ hay tảng phát triển Cũng nhiều trường Đại học khác, Viện Đại Học Mở Hà Nội từ lâu đưa Java vào chương trình giảng dạy cho sinh viên Bài tập lớn nhằm mục đích giúp sinh viên tìm hiểu bước đầu làm quen với lập trình Java Xin chân thành cảm ơn thầy Dương Thăng Long hướng dẫn giúp đỡ em thực hiện tập này! Nhóm 05 – Lớp 0310B1 GVHD: Thầy Dương Thăng Long Bài tập lớn Java Đề số MỤC LỤC I.Giới thiệu tổng quan Java……………………………………………… …1 1.Nền tảng thiết lập cho Java…………………………………… … … 2.Ngôn ngữ lập trình Java……………………………………………….…….2 3.Sự đời Java…………………………………………………………… 4.Triết lý Java……………………………………………………………….3 5.Một số đặc điểm Java……………………………………………… ……4 6.Ứng dụng…………………………………………………………………… 7.Một vài khái niệm…………………………………………………………….7 II Giới thiệu tổng quan J2ME……………………………………………….9 Lịch sử phát triển…………………………………………………………… Tại chọn J2ME………………………………………………….9 Kiến trúc J2ME…………………………………………………………9 Giới thiệu MIDP…………………………………………………………….12 III Bài tập thực hành………………………………………………………… 14 Đề bài……………………………………………………………………… 14 Nội dung mã nguồn (source code)………………………………………… 14 Nhóm 05 – Lớp 0310B1 GVHD: Thầy Dương Thăng Long I GIỚI THIỆU TỔNG QUAN VỀ JAVA Ngôn ngữ lập trình Java chủ đề nói đến nhiều giới hiện nay, logo Java - tách cà phê bốc khói, applet Java, tràn ngập khắp nơi World Wide Web Vậy, hiện tượng Java có đặc biệt, lại làm thay đổi mặt giới điện toán? Tuy nhiên, Java ngôn ngữ lập trình có khác biệt Để thực sự hiểu sức mạnh Java nguyên nhân làm cho nhanh chóng ưa chuộng, bạn phải xem xét hoàn cảnh khai sinh bầu không khí mà sống để nắm bắt lấy khả nǎng sáng tạo công nghiệp máy tính Dưới nhìn tổng quan ngôn ngữ lập trình Java công nghệ Java 1.Nền tảng thiết lập cho Java Vào cuối thập niên 80 đầu thập niên 90, ngôn ngữ lập trình hướng đối tượng C++ sử dụng phổ biến Dường lập trình viên tìm ngôn ngữ lập trình hoàn hảo Bởi C++ pha trộn tính hiệu cao yếu tố phong cách C với mô hình hướng đối tượng Tuy nhiên, khứ, lần thay đổi sự phát triển ngôn ngữ máy tính Chỉ vòng vài năm, World Wide Web Internet đến với số đông Điều chuẩn bị cho cách mạng ngôn ngữ lập trình, dẫn đến sự đời Java Java công nghệ xây dựng ứng dụng phần mềm có vị trí lớn năm cuối kỉ 20, đầu kỉ 21 Nó coi công nghệ mang tính cách mạng khả thi việc tạo ứng dụng có khả chạy thống nhiều tảng mà cần biên dịch lần Ngày nay, Java tảng tất yếu ứng dụng quy mô lớn doanh nghiệp nhờ vào khả mở rộng tảng vô phong phú mà cung cấp Sun Microsystem (SUN viết tắt Stanford University Network), công ty phát minh ngôn ngữ Java, thức ban hành Java Development Kit 1.0 vào năm 1996 hoàn toàn miễn phí Java trải qua bước phát triển quan trọng: Java 1.0 gắn liền với JDK đầu tiên, Java gắn với JDK 1.2 Java gắn với J2SDK 1.5 2.Ngôn ngữ lập trình Java Ngôn ngữ lập trình Java ngôn ngữ hướng đối tượng (tựa C++) SUN đưa vào thập niên 90 Khác với phần lớn ngôn ngữ lập trình thông thường, thay biên dịch mã nguồn thành mã máy thông dịch mã nguồn chạy, Java thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau môi trường thực thi (runtime environment) chạy Bằng cách này, Java thường chạy nhanh ngôn ngữ lập trình thông dịch khác Python, Perl, PHP, khả chuyển ngôn ngữ lập trình biên dịch C++ Không nên lẫn lộn Java với JavaScript, ngôn ngữ giống tên loại cú pháp C Ngày nay, Java người ta không nhắc đến ngôn ngữ lập trình mà nhắc đến công nghệ hay tảng phát triển, bao gồm phận: * Máy ảo Java: JVM * Bộ công cụ phát triển: J2SDK * Các đặc tả chi tiết kĩ thuật (specifications) * Ngôn ngữ lập trình (programming language) * Các công nghệ kèm JSP, Servlet, EJB, JDBC, JNDI, JMX, RMI … framework Struts, Spring, JSF, Hibernate, JavaFX 3.Sự đời Java Ngôn ngữ lập trình Java James Gosling cộng sự nhóm Green Team Công ty Sun Microsystem phát triển Được thai nghén kiểu ngôn ngữ dùng cho thiết bị tiêu dùng, SUN giới thiệu Java năm 1995 thứ ngôn ngữ lập trình dành cho trình duyệt Web Java nhanh chóng áp dụng để xây dựng công cụ hàng đầu cho doanh nghiệp ứng dụng tối quan trọng Đáng ngạc nhiên sự thúc đẩy ban đầu Java Internet Thay vào động sự cần thiết ngôn ngữ có tảng độc lập (hay kiến trúc trung lập) dùng để tạo phần mềm nhúng nhiều thiết bị tiêu dùng điện tử khác Ta đoán được, nhiều kiểu CPU dùng điều khiển Vấn đề rắc rối C C++ (hay hầu hết ngôn ngữ khác) chúng thiết kế để biên dịch cho đối tượng định Mặc dù biên dịch chương trình C++ cho loại CPU nào, để làm điều đòi hỏi trình biên dịch C++ đầy đủ cho CPU Vấn đề trình biên dịch đắt đỏ nhiều thời gian để tạo Vì cần giải pháp dễ dàng hiệu Trong nỗ lực để tìm giải pháp đó, Gosling đồng nghiệp bắt đầu làm việc ngôn ngữ linh động độc lập với tảng, dùng để sinh mã thực thi CPU khác môi trường khác Sau 18 tháng để phát triển phiên đầu tiên, nhóm đặt tên cho ngôn ngữ Oak (có nghĩa sồi, bên quan ông Gosling có trồng nhiều loại này) Sau Gosling biết tên Oak sử dụng cho ngôn ngữ lập trình từ trước nên đổi tên Java - tên gọi đảo Indonexia, nơi nhóm nghiên cứu phát triển chọn để đặt tên cho ngôn ngữ lập trình chuyến tham quan làm việc đảo Hòn đảo Java nơi tiếng với nhiều khu vườn trồng cafe, lý thường thấy biểu tượng ly café nhiều sản phẩm phần mềm, công cụ lập trình Java Sun số hãng phần mềm khác đưa Java có vô số tính hấp dẫn người phát triển mô hình hướng đối tượng, cấu trúc mã dễ hiểu dựa C/C++ có tính liên kết logic quán cao hơn, có cấu trúc không an toàn, tính xử lý cấp thấp hơn, chế “dọn dẹp” nhớ tự động tích hợp sẵn đặc biệt có khả chạy nhiều phần cứng khác 4.Triết lý Java Write Once, Run Anywhere Tất chương trình muốn thực thi phải biên dịch mã máy Mã máy kiến trúc CPU máy tính khác (tập lệnh mã máy CPU Intel, CPU Solarix, CPU Macintosh … khác nhau), trước chương trình sau biên dịch xong chạy kiến trúc CPU cụ thể Đối với CPU Intel chạy hệ điều hành Microsoft Windows, Unix,Linux, OS/2, … Chương trình thực thi Windows biên dịch dạng file có đuôi EXE Linux biên dịch dạng file có đuôi ELF, trước chương trình chạy Windows muốn chạy hệ điều hành khác Linux chẳng hạn phải chỉnh sửa biên dịch lại Ngôn ngữ lập trình Java đời, nhờ vào máy ảo Java mà khó khăn nêu khắc phục Một chương trình viết ngôn ngữ lập trình Java biên dịch mã máy ảo java (mã java bytecode) Sau máy ảo Java chịu trách nhiệm chuyển mã java bytecode thành mã máy tương ứng Sun Microsystem chịu trách nhiệm phát triển máy ảo Java chạy hệ điều hành kiến trúc CPU khác Để đánh giá nghĩa tính độc lập với hệ máy này, tưởng tượng bạn nhà biên soạn phần mềm, bạn đưa trình duyệt Web dùng cho Windows 3.1 Do yêu cầu, bạn phải phát triển sản phẩm giống dành cho người sử dụng hệ điều hành khác Mac OS, Unix hay version khác Windows (ví dụ 95 NT) Để tiếp cận thị trường đó, bạn phải sửa lại chương trình sở hệ không muốn nói bạn soạn thảo lại toàn Nhưng với Java phải biên soạn lần hoạt động hệ thống, hệ điều hành, miễn bạn có trình thông dịch Java hoạt động lúc chạy 5.Một số đặc điểm Java Đơn giản (simple): Java đơn giản vì, dựa sở C++ Sun cẩn thận lược bỏ tính khó C++ để làm cho ngôn ngữ dễ sử dụng Là ngôn ngữ lập trình hoàn toàn mới, buộc phải có dáng vẻ sự cảm nhận tương tự ngôn ngữ phổ biến hiện hành đồng thời đòi hỏi khoảng thời gian huấn luyện lại tối thiểu thân thiện với người dùng Do đơn giản, ngôn ngữ nhỏ - nên nhớ từ đầu xây dựng để dùng cho điện tử dân dụng đầu chạy video hộp điều khiển từ xa, thiết bị có không gian lưu trữ hạn chế Hướng đối tượng (Object Oriented): Hướng đối tượng Java tương tự C++ Java ngôn ngữ lập trình hướng đối tượng hoàn toàn Tất thứ đề cập đến Java liên quan đến đối tượng định nghĩa trước, chí hàm chương trình viết Java (đó hàm main) phải đặt bên lớp Hướng đối tượng Java tính đa kế thừa (multi inheritance) C++ mà thay vào Java đưa khái niệm interface để hỗ trợ tính đa kế thừa Vấn đề bàn chi tiết phần sau Hiểu mạng (network-savvy): Java lập để hoạt động mạng có thủ tục để quản lý giao thức mạng TCP/IP, FTP HTTP Nói cách khác, Java xây dựng để thực hiện hoàn toàn thích hợp Internet Chương trình Java chí xâm nhập vào đối thượng khác thông qua Internet cách sử dụng URL (địa Web) để định vị chúng Mạnh mẽ (robust): Khả mạnh phải phù hợp với thiết kế ngôn ngữ, hướng vào việc khắc phục hư hỏng nhớ đảm bảo tính toán vẹn liệu Ví dụ, Java có tính "automatic garbage collection" (tự động thu gom rác) - có nghĩa nhớ giải phóng cách tự động - nên lập trình viên bận tâm việc quản lý nhớ nhờ có xu hướng làm việc gây hỏng nhớ An toàn (secure): Khả hướng mạng Java tự động đưa yêu cầu an toàn Đặc tính an toàn ngôn ngữ lập trình bắt nguồn từ việc có phần hạn chế cài sẵn nhằm đề phòng chương trình Java thực hiện chức ghi vào ổ cứng người dùng hay cho phép virus từ mạng từ môi trường phân tán thâm nhập vào Độc lập với cấu trúc (architecture neutral): Đây thuộc tính đặc sắc Java Java tạo với tiêu chí "Viết (code) lần, thực thi khắp nơi" ("Write Once, Run Anywhere" (WORA)) Tính biên dịch lần chạy nhiều đạt nhờ just-in-time compiler (JIT), chuyển mã bytecode Java sang mã máy chương trình chạy Chương trình phần mềm viết Java chạy tảng (platform) khác thông qua môi trường thực thi với điều kiện có máy ảo java thích hợp hỗ trợ tảng Môi trường thực thi Sun Microsystems hiện hỗ trợ Sun Solaris, Linux, Mac OS, FreeBSD, Windows nhiều hệ thống cài đặt thiết bị di động Di động (portable): Đối với phạm vi rộng, Java loại di chuyển nhờ khả độc lập với hệ máy Đồng thời, loại liệu, giao diện, dáng vẻ cảm nhận Java giống hệ máy Hệ thống thành phần java có tính di động cao - viết Java Thông dịch (Interpreter): Java ngôn ngữ lập trình vừa biên dịch vừa thông dịch Chương trình nguồn viết ngôn ngữ lập trình Java có đuôi *.java biên dịch thành tập tin có đuôi *.class sau trình thông dịch thông dịch thành mã máy Để chạy Java bytecode, cần cài đặt JRE (Java Runtime Environment) JRE cung cấp thư viện bản, Java Virtual Machine, plugin cho trình duyệt, thứ khác Tốc độ cao (high performance): Khi Sun Microsystems mô tả Java có tốc độ cao, có lẽ họ muốn nói mã bytecode thông dịch hiệu ( Java thường chạy nhanh ngôn ngữ lập trình thông dịch khác Python, Perl, PHP ) Về tốc độ applet hay chương trình Java nói chung chậm chương trình Java nói chung chậm chương trình biên dịch viết C+ +, chương trình tối ưu hoá từ trước cho hệ máy định Java phải trả giá hiệu suất cho tính không phụ thuộc hệ Đa luồng (multithreaded): Đa luồng có nghĩa ngôn ngữ Java cho phép xây dựng trình ứng dụng, đo, nhiều trình xảy đồng thời Tính đa luồng cho phép nhà lập trình biên soạn phần mềm đáp ứng tốt hơn, tương tác tốt hơn, thực hiện theo thời gian thực Tính động (dynamic): Java động thiết kế để đáp ứng với môi trường tác nghiệp tình trạng thay đổi Khi có yêu cầu xuất hiện thị trường, loại đối tượng bổ sung vào 6.Ứng dụng Ban đầu, Java chủ yếu dùng để phát triển applet, ứng dụng nhúng vào trình duyệt, góp phần làm sinh động trang web tĩnh vốn tẻ nhạt hồi dó Tuy nhiên, với sự phát triển công nghệ thông tin nhu cầu xã hội, Java applet dần vị trí thay vào đó, công ty, cộng đồng ủng hộ Java phát triển theo hướng khác Hiện nay, công nghệ Java chia làm ba phận hỗ trợ cho việc phát triển nhiều loại hình ứng dụng khác cụ thể như: J2SE (Java Standard Edition)Gồm đặc tả, công cụ, API nhân Java giúp phát triển ứng dụng desktop định nghĩa phần thuộc nhân Java: platform cho phát triển thực thi ứng dụng Java desktop server, thiết bị nhúng, môi trường thời gian thực J2EE (Java Enterprise Edition) Gồm đặc tả, công cụ, API mở rộng J2SE để phát triển ứng dụng qui mô doanh nghiệp, chủ yếu để chạy máy chủ (server) Bộ phận hay nhắc đến công nghệ công nghệ Servlet/JSP: sử dụng Java để làm ứng dụng web J2ME (Java Micro Edition) Gồm đặc tả, công cụ, API mở rộng để phát triển ứng dụng Java chạy điện thoại di động, thẻ thông minh, thiết bị điện tử cầm tay, robo ứng dụng điện tử khác 7.Một vài khái niệm SDK (Software Development Kit) thường khái niệm công cụ lập trình, tiện ích, tài liệu thư viện API JDK hay J2SDK sdk dùng cho Java Sun Microsystems phát triển JDK cung cấp tiện ích command line dùng để biên dịch chạy ứng dụng java (lệnh javac, java ), công cụ lập trình, trình biên dịch tìm lỗi, javadoc hệ thống thư viện java class API JVM (Java virtual machine) máy ảo java Các class java sau build sinh file java byte code (các file class jar) Các file có JVM hiểu mà Và JVM đọc file sinh mã tương ứng với hệ điều hành (window, linux, mac ) Đây lý làm cho java "write one run anywhere" Để dễ hình dung, bạn nghĩ JVM Windows jre\bin\java.exe jre\bin\javaw.exe DLL file exe JRE (Java Runtime Environment) - môi trường thực thi Java, cung cấp Java API, máy ảo Java (Java Virtual Machine hay JVM) thành phần cần thiết khác để chạy applet ứng dụng viết ngôn ngữ lập trình Java Môi trường thực thi Java công cụ tiện ích trình biên dịch hay trình gỡ lỗi để phát triển applet ứng dụng Java Runtime library thư viện class compiled sẵn đặt file jre\lib\rt.jar Các class java.lang.String, java.lang.Object, nằm gói jar JRE = JVM + Java Runtime library: bạn thấy java.exe, javaw.exe rt.jar thư mục cài đặt jre JDK = JRE + tools (javac.exe, keytool.exe, ) + document (help, samples, ) + src.zip Người cài gói JDK chủ yếu lập trình viên Java, họ muốn dùng tools JDK để compile mã nguồn sau chạy chương trình Java compile (dùng JRE JDK) JDK có tích hợp sẵn private JRE, bạn người sử dụng muốn thực thi chương trình java cần cài Public JRE không cần cài JDK II GIỚI THIỆU TỔNG QUAN VỀ J2ME Có lẻ nhắc đến J2ME tất đểu biết làm tảng lập trình Sun dùng để phát triển ứng dụng game cho thiết bị di động Để tìm hiểu J2ME trước tiên tìm hiểu từ khái niệm Lịch sử phát triển a) J2ME phát triển từ kiến trúc Java Card, Embeded Java Personal Java phiên Java 1.1 Đến sự đờ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: Tại chọn J2ME 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 … Kiến trúc J2ME Phần trình bày kiến trúc tổng quát tảng Java 10 Giới thiệu thành phần tảng J2ME: a) Đị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 sự 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 11 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 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 12 Giới thiệu MIDP a) Định nghĩa: Đây Profile định nghĩa dành riêng cho thiết bị di động thành phần J2ME MIDP cung cấp chức cho hầu hết dòng thiêt bị di động phổ biến máy điện thoạI di động máy PDA Tuy nhiên MIDP đũa thần cho lập trình viên biết, MIDP thiết kế cho máy di động có cấu hình thấp b) Những chức MIDP không thực hiện được: • Phép tính dấu phẩy động (floating point): Phép tính đòi hỏi nhiều tài nguyên CPU phần lớn CPU cho thiết bị di động không hỗ trợ phép tính này, MIDP • Bộ nạp class (Class Loader) • Hỗ trợ từ khóa finalize() J2SE: Việc “dọn dẹp“ tài nguyên trước bị xóa đẩy phía lập trình viên • Không hỗ trợ JNI • Hỗ trợ hạn chế thao tác bắt lỗi • Phần lớn thư viện API cho Swing AWT sử dụng MIDP • Không hỗ trợ tính quản lý file thư mục: Đây làm bạn ngạc nhiên thực tế thiết bị J2ME hỗ trợ thiết bị lưu trữ thông thường ổ cứng v.v Tuy nhiên, điều nghĩa bạn phải liệu quan trọng tắt máy, Sun cung cấp chức khác tương đương gọi Record Management system (RMS) để cung cấp khả lưu trữ cho thiết bị c) Những chức MIDP cung cấp • Các lớp kiểu liệu: Phần lớn lớp mà lập trình viên Java quen thuộc giữ lại ví dụ lớp gói java.util Stack, Vector Hastable Enumeration • Hỗ trợ đối tượng Display: Đúng tên gọi chương trình MIDP hỗ trợ đối tượng Display đối tượng quản lý việc hiển thị liệu hình điện thoại • Hỗ trợ Form giao diện người dùng • Hỗ trợ Timer Alert • Cung cấp tính Record Management System (RMS) cho việc lưu trữ liệu Ngoài vào tháng 11 năm 2003 Sun tung MIDP 2.0 với hàng loạt tính khác cung cấp thêm so với 1.0 Những cải tiến bật so với MIDP 1.0 • Nâng cấp tính bảo mật o Download qua mạng an toàn qua việc hỗ trợ giao thức HTTPS o Kiểm soát việc kết nối máy di động server: ví dụ chương trình kết nối tới server thiếu sự chấp thuận người sử dụng 13 • Thêm API hỗ trợ Multimedia Một cải tiến hấp dẫn MIDP 2.0 tập API media Các API tập hỗ trợ âm Mobile Media API (MMAPI) • Mở rộng tính Form Nhiều cải tiến đưa vào API javax.microedition.lcdui MIDP 2.0, thay đổi lớn (ngoài API cho game) Form Item • Hỗ trợ lập trình viên Game cách tung Game API: Có lẽ Sun kịp nhận thị trường đầy tiềm thiết bị di động lĩnh vực Game Với MIDP 1.0 lập trình viên phải tự viết code để quản lý hành động nhân vật quản lý đồ họa Việc làm tăng kích thước file sản phẩm việc xuất hiện đoạn mã bị lỗi Được hưởng lợi từ Game API MIDP 2.0 không lập trình viên Game mà lập trình viên cần sử dụng tính đồ họa cao cấp Ý tưởng Game API việc giả định hình game tập hợp layer (lớp) Ví dụ như: game đua xe hình layer, đường layer xe xem nằm layer khác Với Game API nhà phát triển cung cấp tính quản lý thao tác bàn phím • Hỗ trợ kiểu ảnh RGB: cải tiến hấp dẫn cho nhà phát triển MIDP việc biểu diễn hình ảnh dạng mảng số nguyên, cho phép MIDlet thao tác với liệu hình ảnh cách trực tiếp III.BÀI TẬP THỰC HÀNH Đề bài Đề 6: Lập trình MIDlet thực hiện - Vẽ lưới caro ô vuông lên hình, tô màu cho ô - Xử lý phím FIRE(chọn) để tô màu tiếp cho ô khác, không trùng với ô tô - Có nút lệnh bên phải hình: đảo màu cho ô hình (đang tô màu thành không tô ngược lại) - Có nút lệnh bên trái hình: máy tự động tô màu cho ô trống có 14 ô quanh có màu, xóa màu ô quanh màu có ô có màu (trò chơi sinh hệ) Nội dung mã nguồn (source code) package btlde6; import javax.microedition.lcdui.*; import javax.microedition.lcdui.game.*; import javax.microedition.midlet.*; /** * @author Admin */ public class deso6 extends MIDlet { class VEDH extends GameCanvas implements CommandListener{ public void commandAction(Command t1,Displayable t2){ if( t1==cmdXoa){ int k = a[ci][cj]; doimau(); } } Command cmdXoa; int a[][] = new int[40][20], c=12, r=15; int ci=5,cj=6; //t?a d? ô ch?n VEDH(){ super(false); cmdXoa= new Command("Doi mau", Command.OK, 2); veLuoi(); veOChon(); this.addCommand(cmdXoa); this.setCommandListener(this); } void veLuoi(){ Graphics g=getGraphics(); for(int i=0;i

Ngày đăng: 28/08/2017, 19:45

TỪ KHÓA LIÊN QUAN

w