Lập trình thiết bị di động với J2me

105 874 8
Lập trình thiết bị di động với J2me

Đ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

Lập trình thiết bị di động với J2me

Mục lục ChươngI: Giới thiệu tổng quan Lý chọn dề tài…………………………………………….….3 Mục Tiêu………………………………………….…………… 3 Đối tượng nghiên cứu…………………………………….…….4 Phạm vi nghiên cứu……………………………………….… Môi trường thực hiện………………………………….……….4 Giới thiệu Java công nghệ J2ME …………………… Giới thiệu Java…………………………………… Giới thiệu J2ME lập trình J2ME…………………… 6.1 Tại chọn J2ME……………………………………….7 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 ứng dụng…………………………… 12 6.6 Triển khai ứng dụng với tập tin JAR………………… 12 6.7 Tập tin manifest.mf tập tin JAD………………… 12 6.8 Tối ưu mã giảm kích thước ứng dụng…………… 13 6.9 Những khó khăn…………………………………….… 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………………………….……20 2.1 Đối tượng Display, Displayable Screen…………… 20 2.2 Thành phần Form Items………………………….… 21 2.3 Thành phần List, Textbox, Alert, Ticker… .33 Giao diện người dùng câp thấp…………………… ………….39 3.1 Các hàm API mức thấp………………………….……… 39 3.2 Lớp Canvas kỹ thuật xử lý đồ họa………….……… 39 3.3 Lớp Graphics…………………………………….……… 49 Chương III: Hệ thống quản lý ghi………………………………64 Lưu trữ cố định thông qua RecordStore……………… ….64 Các vấn đề với RMS…………………………………… … 67 Các hàm API RMS…………………………….…….… 68 Sắp xếp ghi với RecordComparator……………….… 73 Tìm kiếm ghi với RecordFilter……………… ……… 83 Nhận biết thay đổi với RecordListener………………… …88 Chương IV: Khung kết nối chung……………………………………93 Cây phân cấp Connection………………………… ……… 93 Kết nối HTTP…………………………………………….… 95 Client Request Server Response……………… …… 100 Chương V: Tổng kết………………………………………….…… 104 Tài liệu tham khảo ………………………………………………… 105 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ịn 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 “Lập trình thiết bị di động J2ME” 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,… 3 Đối tượng nghiên cứu 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ý âm thanh, hình ảnh, lưu trữ liệu thiết bị di động Ứng dụng kết có để xây dựng ứng dụng thực tiễn thiết bị di động Tìm hiểu công nghệ nâng cao điện thoại di động Bluetooth, WAP, SOAP Tìm hiểu nguyên lý hoạt động dịch vụ gia tăng điện thoại di động Nếu cịn thời gian, tìm hiểu ý tưởng lập trình phân tán thiết bị di động Đây ý tưởng chưa áp dụng cho thiết bị 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 cịn 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ọ Do khơng có đủ thiết bị để nghiên cứu nên em trình bày kỹ thuật lập trình điện thoại di động thiết bị di động khác nói chung Do đề tài này, cụm từ “thiết bị di động” hiểu theo nghĩa “điện thoại di động” Môi trường thực Hệ điều hành Windows XP IDE: NetBeans 5.5, 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 dự đờ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 cảu J2ME xây dựng CLDC (Connected Limited Device Configuration): 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 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ần cứ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 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ịđược 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 qn 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 khơng có phần cứng u cầu phép tính tố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ảng so sánh thông số kỹ thuật CDC CLDC CLDC CDC Ram >=32K, =256K Rom >=128k, =512k Nguồn Năng Có GiớI Hạn (nguồn Không Lượng pin) hạn Network Chậm Nhanh giới 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 khơng thể 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 bộ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 Ngồi cịn có Personal Basis Profile, Personal Profile, RMI Profile, Game Profile 10 ... điện thoại di động họ Do khơng có đủ thiết bị để nghiên cứu nên em trình bày kỹ thuật lập trình điện thoại di động thiết bị di động khác nói chung Do đề tài này, cụm từ ? ?thiết bị di động? ?? hiểu... thoại di động Nếu cịn thời gian, tìm hiểu ý tưởng lập trình phân tán thiết bị di động Đây ý tưởng chưa áp dụng cho thiết bị 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. .. 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 ? ?Lập trình thiết bị di động J2ME? ?? viết số ứng dụng đơn giản nhằm khai thác tính thiết bị di động

Ngày đăng: 16/08/2012, 14:11

Hình ảnh liên quan

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ớ  - Lập trình thiết bị di động với J2me

onnected.

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ớ Xem tại trang 8 của tài liệu.
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 - Lập trình thiết bị di động với J2me

onnected.

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 Xem tại trang 9 của tài liệu.
Hình dưới đây mơ tả kết quả của hàm trên - Lập trình thiết bị di động với J2me

Hình d.

ưới đây mơ tả kết quả của hàm trên Xem tại trang 56 của tài liệu.
Sau khi tải về, hình ảnh sẽđược hiển thị - Lập trình thiết bị di động với J2me

au.

khi tải về, hình ảnh sẽđược hiển thị Xem tại trang 99 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan