Mobile Programming
lượt xem 20
download
Tiến sĩ Martin Cooper, cựu tổng giám đốc đơn vị hệ thống của Motorola, được coi là “cha đẻ” của thiết bị liên lạc di động cầm tay và cũng là người đầu tiên thực hiện một cuộc gọi thông qua công cụ này. Ý tưởng liên lạc di động được bộ phận nghiên cứu AT&T thuộc Trung tâm Bell Labs (Mỹ) đưa ra năm 1947. Nhưng đến cuối những năm 60 và đầu thập kỷ 70 của thế kỷ trước, Motorola và Bell Labs mới thực sự trở thành 2 đối thủ lao vào cuộc đua trong việc tích hợp công nghệ này vào...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Mobile Programming
- ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN TH.S TRỊNH CÔNG DUY (TÀI LIỆU LƯU HÀNH NỘI BỘ)
- Mobile Programming (Private Version) Trịnh Công Duy M ỤC L ỤC I. Tổng quan về công nghệ di động 2 I.1. Lịch sử của điện thoại di động ............................................................................ 2 I.2. Các chuẩn công nghệ ......................................................................................... 11 II. Giới thiệu về J2ME 14 II.1. Lịch sử................................................................................................................. 14 II.2. Lý do chọn J2ME ............................................................................................... 14 II.3. Kiến trúc của J2ME........................................................................................... 14 II.4. Giới thiệu MIDP ................................................................................................ 17 II.5. Môi trường phát triển J2ME ............................................................................ 23 III. Các thành phần giao diện ở mức cao của ứng dụng MIDP 30 III.1. Đối tượng Display, Displayable và Screens ..................................................... 30 III.2. Thành phần Form và Items .............................................................................. 31 III.3. Thành phần List, Textbox, Alert, và Ticker ................................................... 43 IV. Các thành phần giao diện ở mức thấp của ứng dụng MIDP 51 IV.1. Các hàm API ở mức thấp.................................................................................. 51 IV.2. Lớp Canvas......................................................................................................... 51 IV.3. Lớp Graphics ..................................................................................................... 61 IV.4. Các hàm API dùng để lập trình Game ............................................................ 78 V. Xử lý sự kiện 79 V.1. Đối tượng Command ......................................................................................... 79 V.2. Đối tượng Item ................................................................................................... 80 V.3. Ví dụ .................................................................................................................... 80 VI. Record Management System 82 VI.1. Persistent Storage Through the Record Store ................................................ 82 VI.2. Các vấn đề liên quan đến RMS ........................................................................ 84 VI.3. Các hàm API trong RMS .................................................................................. 84 VI.4. Duyệt Record với RecordEnumeration ........................................................... 96 VI.5. Sắp xếp các record với interface RecordComparator .................................... 97 VI.6. Searching with RecordFilter ........................................................................... 116 VI.7. Notification of Changes with RecordListener ............................................... 130 VI.8. Exception Handling ......................................................................................... 135 VII. Kết nối mạng với Generic Connection Framework 135 VII.1. Những protocol được hỗ trợ trong GCF ....................................................... 136 VII.2. Hỗ trợ giao thức HTTP trong MIDP ............................................................. 142 VII.3. Accessing a Java servlet .................................................................................. 152 VIII. Phụ lục 157 VIII.1. Tổng số class và interface trong CLDC ................................................. 157 VIII.2. Thông tin của các dòng điện thoại thông dụng ..................................... 158 VIII.3. Tham khảo: .............................................................................................. 178 1
- Mobile Programming (Private Version) Trịnh Công Duy I. Tổng quan về công nghệ di động I.1. Lịch sử của điện thoại di động I.1.1. Phát minh ra điện thoại di động: Tiến sĩ Martin Cooper, cựu tổng giám đốc đơn vị hệ thống của Motorola, được coi là “cha đẻ” của thiết bị liên lạc di động cầm tay và cũng là người đầu tiên thực hiện một cuộc gọi thông qua công cụ này. Ý tưởng liên lạc di động được bộ phận nghiên cứu AT&T thuộc Trung tâm Bell Labs (Mỹ) đưa ra năm 1947. Nhưng đến cuối những năm 60 và đầu thập kỷ 70 của thế kỷ trước, Motorola và Bell Labs mới thực sự trở thành 2 đối thủ lao vào cuộc đua trong việc tích hợp công nghệ này vào các thiệt bị cá nhân di động. Kỹ sư điện Cooper từng có 4 năm phục vụ trong hải quân tr ước khi chuyển về làm việc cho một công ty viễn thông nhỏ. Năm 1954, ông đ ược Motorola tuyển dụng và tham gia phát triển các sản phẩm di động, đáng chú ý nhất là công cụ liên lạc radio di động đầu tiên dành cho cảnh sát Chicago năm 1967. Năm 1973, ông thiết lập một trạm thu phát tại New York đồng thời tung ra mẫu đầu tiên của cái gọi là điện thoại di động (cellphone): máy Motorola Dyna-Tac. Sau những cuộc thử nghiệm ban đầu tại Washington, Cooper và Motorola quyết định đưa công nghệ mới tới New York để quảng bá với công chúng. Motorola Dyna-Tac - chiếc điện thoại di động đầu tiên: Kích thước (cm): 22,86 x 12,7 x 4,44 Trọng lượng: 1,13kg Màn hình: không có Số bo mạch điện: 30 Thời lượng thoại: 35 phút Thời lượng pin: 10 tiếng Tính năng: Nói, nghe, quay số. Ngày 3/4/1973, đứng trên một phố gần khách sạn Manhattan Hilton, Cooper quyết định thử thực hiện một cuộc gọi riêng trước khi đi lên gác tham dự một cuộc họp báo giới thiệu thiết bị. Cú điện thoại ấy được ông gọi tới chính đối thủ cạnh tranh của m ình: Joel Engel, Giám đốc Trung tâm thí nghiệm Bell Labs. Thật tuyệt vời, “hòn gạch” biết nói nặng hơn 1kg của Cooper đã hoạt động rất tốt, kết nối ông với trạm thu phát đặt trên nóc tòa tháp Burlington Consolidated (nay là tòa nhà Alliance Capital Building) ở New York, đồng thời liên lạc được với cả đường dây cố định. Những người qua đường tỏ ra rất ngạc nhiên khi thấy một người đàn ông bấm bấm một công cụ gì đó, áp sát vào tai và rồi say sưa nói chuyện. Nói về tương lai của ngành di động, tiến sĩ Cooper, năm nay đã ngoài 70 tuổi, cho rằng thế giới viễn thông thực ra vẫn còn rất non trẻ và mới đang bắt đầu bùng nổ. Động lực cho quá trình bùng nổ ấy trước hết là quan niệm kinh doanh mới, trong đó chú trọng vào người tiêu 2
- Mobile Programming (Private Version) Trịnh Công Duy dùng. Quan trọng hơn nữa là một nền hoạt động mở, trong đó có những công nghệ mới với khả năng tăng cường khai thác giải tần. Bên cạnh đó, nhà phát minh viễn thông cho rằng, cần có chính sách để ưu tiên cho những đối tượng biết khai thác tốt nhất giải tần sóng hiện có. “Những thay đổi sẽ không diễn ra quá nhanh, nhưng trong 10 năm tới, đó sẽ là những chuyển biến có tính cơ bản”, Cooper nhận định. “Lời khuyên của tôi về công nghệ liên lạc di động trong tương lai, nhất là đối với các thị trường đang phát triển, là hãy từ từ, chậm nhưng hiệu quả”. Theo ông, cần thận trọng trong việc phân bổ giải tần đối với mỗi ứng dụng cụ thể. V à khi phân bổ, dù là cho thế hệ 3G hay 4G, cần tiến hành một cách hợp lý tùy thực tế của mỗi thị trường. Đối với các nước đang phát triển, Cooper cho rằng không n ên vội cuốn theo sự cám dỗ của xu thế nhảy sang 3G, cho tới khi nào thấy rõ được những ích lợi cụ thể cho mỗi ngành kinh tế và mỗi quốc gia. I.1.2. Lịch sử các thiết bị ĐTDĐ giờ đây đang hướng tới mục tiêu "siêu mỏng và siêu nhẹ". Nhưng bạn có tin không, ban đầu, "cụ tổ" của nó nặng đến 10 đấy! 1. Motorola DynaTAC 8000X (1982) Năm 1973, Motorola giới thiệu dòng "alô" di động đầu tiên của thế giới dài 27 cm, nặng 1kg, giá 3.995 USD. Tuy nhiên, phải đến năm 1983, thiết bị này mới bắt đầu xuất hiện trên thị trường năm. Motorola DynaTAC 8000X cho phép đàm thoại một giờ, bộ nhớ có thể lưu .. 30 số. Trông bề ngoài thiết bị này không đẹp mắt nhưng lại cho phép bạn vừa đi vừa nói chuyện ở bất kỳ đâu. 3
- Mobile Programming (Private Version) Trịnh Công Duy 2. Nokia Mobira Senator (1982) Mới nhìn Nokia Mobira Senator giống... hộp bom hơn điện thoại di động, nhưng thiết bị hình hộp to đồ sộ này là điện thoại đầu tiên của Nokia. Được giới thiệu năm 1982, Nokia Mobira Senator được thiết kế sử dụng trong xe ô tô. Nó nặng khoảng... 10 kg. 3. PDA Simon Personal Communicator (1993) Điện thoại có tính năng PDA bây giờ không còn mới. Nhưng năm 1993 đây là một ý tưởng mới lạ. Simon Personal Communicator là điện thoại đầu tiên có tính năng của liên minh IBM và BellSouth. Nó là điện thoại kiêm máy tính, sổ địa chỉ, máy fax và e-mail... Giá 900 USD. 4
- Mobile Programming (Private Version) Trịnh Công Duy 4. Motorola StarTAC (1996) Trước khi Motorola Star TAC được giới thiệu năm 1996, các tính năng điện thoại di động được chú trọng nhiều hơn thời trang. Nhưng thiết bị nhỏ bé có thể gập này đã cho thấy rằng phong cách là cực kỳ quan trọng. Motorola StarTAC 3.1 ounce là nhỏ nhất trong thời điểm đó và đến nay nó vẫn nhỏ và nhẹ hơn nhiều "dế" khác. 5. Nokia 6160 (1998) và Nokia 8260 (2000) . Vào những năm 1990, các điện thoại hình thỏi kẹo của Nokia xuất hiện hàng loạt. Nhưng Nokia 6160 và Nokia 8260 gây được sự chú ý của nhiều người. Nokia 6160 có màn hình đen trắng, ăng-ten ngoài, thân 5,2 inch, nặng 6 ounce. Nokia 8260 ra mắt năm 2000 ấn t ượng hơn khi được tô điểm chiếc áo màu, dài 4 inch, nặng chỉ 3,4 ounce. 5
- Mobile Programming (Private Version) Trịnh Công Duy 6. Phần mềm Palm với Kyocera QCP6035 (2000) Nếu bạn là một trong những người hâm mộ điện thoại Treo sử dụng hệ điều h ành Palm thì có thể cảm ơn Kyocera. Dế thông minh QCP6035 của công ty này thống lĩnh thị trường bán lẻ năm 2001. Với giá 400 USD và 500 USD, đây là điện thoại dùng phần mềm Palm đầu tiên được phân phối rộng rãi. Sản phẩm có 8 MB bộ nhớ, màn hình trắng đen. 7. PDA đến điện thoại: Handspring Treo 180 (2001) Trở lại khi Palm và Handspring còn là đối thủ. Handspring đã khuấy động thị trường với sản phẩm Treo 180 gồm hai phiên bản: một với bàn pím QWERTY và một Treo 180g với thiết bị nhập liệu Graffiti. Như Kyocera QCP6035, nó có màn hình đen trắng nhưng có 16MB bộ nhớ. 6
- Mobile Programming (Private Version) Trịnh Công Duy 8. Tiên phong về thiết kế xoay: Danger Hiptop (2002) T-Mobile Sidekick từng được mệnh danh là sản phẩm của năm 2003. Mặc dù các khả năng đàm thoại của nó xoàng, nhưng là một trong những thiết bị đầu tiên cung cấp tính năng duyệt web, truy cập email và nhắn tin. Hơn thế nữa, nó là người tiên phong về thiết kế xoay tròn. 9. Điện thoại cách tân: BlackBerry 5810 (2002) BlackBerry 5810 được biết đến nhưng một thiết bị điển hình về các khả năng xử lý dữ liệu. Đây là sản phẩm đầu tiên cung cấp các tính năng voice, GSM. 7
- Mobile Programming (Private Version) Trịnh Công Duy 10. Đột phá với tính năng chụp ảnh: Sanyo SCP-5300 (2002) Sanyo SCP-5300 PCS là "dế" đầu tiên có tính năng chụp ảnh được Sanyo và Sprint giới thiệu năm 2002. Ở độ phân giải cao nhất nó có thể chụp đ ược các ảnh VGA (640 x 480), nhưng đến nay, tất nhiên, nó không thể sanh với các điện thoại kiêm máy ảnh 5 megapixel. 11. Điện thoại kiêm máy chơi game Nokia N-Gage (2003) Dòng máy N-Gage tạo được nhiều dư luận khi xuất hiện trên thị trường năm 2003, nhưng thật không may, đó lại là sản phẩm bất lợi. Sự kết hợp điện thoại di động/thiết bị ch ơi game được kỳ vọng sẽ quyến rũ được game thủ từ bỏ máy chơi game cầm tay của họ. Nhưng thay vào đó, nó gây phản cảm bởi thiết kế hình bán nguyệt kỳ quặc. 8
- Mobile Programming (Private Version) Trịnh Công Duy 12. Siêu mỏng: Motorola Razr v3 (2004) Điện thoại di động ngày càng mỏng và phong cách hơn, nhưng Motorola Razr v3 là s ản phẩm đầu tiên gây ấn tượng về thiết kế thời thượng mỏng và nhẹ vào 2004. Ba năm sau "dế" này vẫn được đánh giá là một trong những điện thoại phổ biến nhất trên thị trường. 13. Điện thoại nghe nhạc Motorola Rokr (2005) Motorola Rokr – điện thoại di động kiêm máy nghe nhạc đầu tiên sử dụng phần mềm nghe nhạc của Apple. Với thiết bị này, người dùng có thể thưởng thức các bài hát, bản nhạc từ dịch vụ iTunes. 9
- Mobile Programming (Private Version) Trịnh Công Duy 14. Phong cách: BlackBerry Pearl (2006) Thiết kế mỏng, bàn phím SureType, tính năng chụp ảnh, nghe nhạc, xem video, hỗ trợ dịch vụ e-mail ấn tượng và nhiều khả năng đa phương tiện khác, BlackBerry Pearl trở thành viên ngọc quý của không ít người. 15. Cách tân với Apple iPhone (2007) Sau những tháng chờ đợi, Apple khẳng định tháng 6 là thời điểm quan trọng để iPhone sẽ xuất hiện trên thị trường. Đây là thiết kế cách tân với màn hình cảm ứng cảm ứng đa điểm sẽ mang lại một thế giới sinh động với e-mail bằng giọng nói, bàn phím "mềm" dạng Qwerty có thể đoán từ, trình duyệt web Safari, tích hợp camera2-megapixel. iPhone là thiết bị gây tò mò nhất trong giới chơi điện thoại di động, dùng hệ điều hành Mac OS X. Giá bán: 500 USD cho mẫu 4 GB, 600 USD cho mẫu 8 GB. 10
- Mobile Programming (Private Version) Trịnh Công Duy I.2. Các chuẩn công nghệ a. GMS: Hệ thống thông tin di động toàn cầu Hệ thống thông tin di động toàn cầu (tiếng Anh: Global System for Mobile Communications; tiếng Pháp: Groupe Spécial Mobile; viết tắt: GSM) là một công nghệ dùng cho mạng thông tin di động. Dịch vụ GSM được sử dụng bởi hơn 2 tỷ người trên 212 quốc gia và vùng lãnh thổ. Các mạng thông tin di động GSM cho phép có thể roaming với nhau do đó những máy điện thoại di động GSM của các mạng GSM khác nhau ở có thể sử dụng được nhiều nơi trên thế giới. GSM là chuẩn phổ biến nhất cho điện thoại di động (ĐTDĐ) trên thế giới. Khả năng phú sóng rộng khắp nơi của chuẩn GSM làm cho nó trở nên phổ biến trên thế giới, cho phép người sử dụng có thể sử dụng ĐTDĐ của họ ở nhiều vùng trên thế giới. GSM khác với các chuẩn tiền thân của nó về cả tín hiệu và tốc độ, chất lượng cuộc gọi. Nó được xem như là một hệ thống ĐTDĐ thế hệ thứ hai (second generation, 2G). GSM là một chuẩn mở, hiện tại nó được phát triển bởi 3rd Generation Partnership Project (3GPP) Đứng về phía quan điểm khách hàng, lợi thế chính của GSM là chất lượng cuộc gọi tốt hơn, giá thành thấp và dịch vụ tin nhắn. Thuận lợi đối với nhà điều hành mạng là khả năng triển khai thiết bị từ nhiều người cung ứng. GSM cho phép nhà điều hành mạng có thể sẵn sàng dịch vụ ở khắp nơi, vì thế người sử dụng có thể sử dụng điện thoại của họ ở khắp nơi trên thế giới. Giao diện radio GSM là mạng điện thoại di động thiết kế gồm nhiều tế bào do đó các máy điện thoại di động kết nối với mạng bằng cách tìm kiếm các cell gần nó nhất. Các mạng di động GSM hoạt động trên 4 băng tần. Hầu hết thì hoạt động ở băng 900 Mhz và 1800 Mhz. Vài nước ở Châu Mỹ thì sử dụng băng 850 Mhz và 1900 Mhz do băng 900 Mhz và 1800 Mhz ở nơi này đã bị sử dụng trước. Các mạng sử dụng băng tần 900 Mhz thì đường uplink sử dụng tần số trong dãi 890-915 MHz và đường downlink sử dụng tần số trong dãi 935-960 MHz. Và chia các băng tần này thành 124 kênh với độ rộng băng thông 25 Mhz, mỗi kênh cách nhau 1 khoảng 200 Khz. Sử dụng công nghệ phân chia theo thời gian TDM (time division multiplexing) để chia ra 8 kênh full rate hay 16 kênh haft rate. Có 8 khe thời gian gộp lại gọi là 1một khung TDMA. Tốc độ truyền dữ liệu của một kênh là 270.833 kbit/s và khoảng thời gian của một khung là 4.615 m. Công suất phát của máy điện thoại được giới hạn tối đa là 2 watt đối với băng GSM 850/900 Mhz và tối đa là 1 watt đối với băng GSM 1800/1900 Mhz. Mạng GSM sử dụng 2 kiểu mã hoá âm thanh để nén tín hiệu âm thanh 3,1 Khz đó là mã hoá 6 và 13 kbps gọi là full rate (13 kbps) và haft rate (6 kbps). Để nén họ sử dụng hệ thống có tên là linear predictive coding (LPC).Vào năm 1997 thì họ cải tiến thêm cho mạng GSM là bộ mã GSM-EFR sử dụng full rate 12,2 kbps. Có tất cả bốn kích thước cell site trong mạng GSM đó là macro, micro, pico và umbrella. Vùng phủ sóng của mỗi cell phụ thuộc nhiều vào môi trường. Macro cell được lắp trên cột cao hoặc trên các toà nhà cao tầng, micro cell lại được lắp ở các khu thành thị, khu dân cư, pico cell 11
- Mobile Programming (Private Version) Trịnh Công Duy thì tầm phủ sóng chỉ khoảng vài chục mét trở lại nó thường được lắp để tiếp sóng trong nhà. Umbrella lắp bổ sung vào các vùng bị che khuất hay các vùng trống giữa các cell. Bán kính phủ sóng của một cell tuỳ thuộc vào độ cao của anten, độ lợi anten thường thì nó có thể từ vài trăm mét tới vài chục km. Trong thực tế thì khả năng phủ sóng xa nhất của một trạm GSM là 32 km (22 dặm). Một số khu vực trong nhà mà các anten ngoài trời không thề phủ sóng tới như nhà ga, sân bay, siêu thị... thì người ta sẽ dùng các trạm pico để chuyển tiếp sóng từ các anten ngoài trời vào. b. GPRS (General Packet Radio Service) là dịch vụ vô tuyến gói tổng hợp được phát triển trên nền tảng công nghệ thông tin di động toàn cầu (GSM) sử dụng đa truy nhập phân chia theo thời gian (TDMA). Công nghệ GPRS hay còn biết đến với mạng di động thế hệ 2.5G, áp dụng nguyên lý gói vô tuyến để truyền số liệu của người sử dụng một cách có hiệu quả giữa máy điện thoại di động tới các mạng truyền số liệu. c. EDGE (Enhanced Data Rates for GSM Evolution), đôi khi còn gọi là EGPRS, là một công nghệ di động được nâng cấp từ GPRS cho phép truyền dự liệu với tốc độ có thể lên đến 384 kbit/s cho người dùng cố định hoặc di chuyển chậm và 144kbit/s cho người dùng di chuyển tốc độ cao. Trên đường tiến đến 3G, EDGE được biết đến như một công nghệ 2.75G. Thực tế bên cạnh điều chế GMSK, EDGE dùng phương thức điều chế 8-PSK để tăng tốc độ dự liệu truyền. Chính vì thế, để triển khai EDGE, các nhà cung cấp mạng phải thay đổi trạm phát sóng BTS cũng như là thiết bị di động so với mạng GPRS. d. CDMA (Code Division Multiple Access), tiếng Việt gọi là phương thức Đa truy cập phân chia theo mã, là một kỹ thuật đa truy cập vào kênh truyền vật lý sử dụng kỹ thuật phân chia theo mã (code). Trong kỹ thuật CDMA, tín hiệu của mỗi người dùng (user) sẽ được dàn trãi (spreading) bằng 1 mã xác định trực giao (hoặc giả trực giao) với nhau. Tín hiệu truyền sẽ là tín hiệu chồng chập của nhiều người dùng khác nhau theo thời gian và trên cùng 1 băng tần số. Kỹ thuật CDMA hiện đang được sử dụng rộng rãi trong các hệ thống điện thoại di động: IS95A/B, CDMA2000, WCDMA(UMTS)... e. CDMA2000 là một họ chuẩn thông tin di động sử dụng công nghệ CDMA được chuẩn hóa bởi 3GPP2. CDMA2000 bao gồm 3 chuẩn chính: CDMA2000 1xRTT, CDMA2000 EV-DO, CDMA2000 EV-DV. CDMA2000 hoạt động trong dãi tần số 450 MHz, 700 MHz, 800 MHz, 900 MHz, 1700 MHz, 1800 MHz, 1900 MHz, và 2100 MHz. CDMA2000 là công nghệ 3G tiếp nối của công nghệ 2G CdmaOne (hay IS-95) và được xem như là một đối thủ cạnh tranh với công nghệ 3G/UMTS. Tuy nhiên, CDMA2000 1xRRT thường được nhắc đến như là một công nghệ 2.5G (tương ứng với GPRS). f. CDMA2000 EV-DO (Evolution-Data Optimized) là một chuẩn thông tin di động thuộc họ CDMA2000, kết hợp giữa kỹ thuật CDMA và TDMA để cung cấp dịch vụ số liệu tốc độ cao. CDMA2000 EV-DO được QualComm đề xuất vào 3/2000 và được chuẩn hóa bởi 3GPP2. Đặc điểm nổi bật của CDMA2000 EV-DO: 12
- Mobile Programming (Private Version) Trịnh Công Duy - EV-DO hỗ trợ tốc độ số liệu hướng xuống 2,4576 Mbps trên băng thông 1,25 MHz và tốc độ số liệu hướng lên 153,6 Kbps. - Trạm gốc linh hoạt dễ dàng phát công suất lớn. - Hỗ trợ sơ đồ điều chế cấp cao kèm với khả năng thực hiện nhiều phương pháp sửa lỗi. - Kỹ thuật chuyển mạch đó là chuyển mạch gói ghép kênh theo thời gian. g. Time Division Multiple Access (TDMA), tiếng Việt gọi là phương thức Đa truy cập phân chia theo thời gian, là một kĩ thuật đa truy cập vào kênh truyền vật lý sử dụng kĩ thuật phân chia theo thời gian. 13
- Mobile Programming (Private Version) Trịnh Công Duy II. Giới thiệu về J2ME II.1. Lịch sử 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: II.2. Lý do chọn J2ME a) 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ế. b) 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 … II.3. Kiến trúc của J2ME Phần này sẽ trình bày kiến trúc tổng quát của nền tảng Java 14
- Mobile Programming (Private Version) Trịnh Công Duy a) Giới thiệu các thành phần trong nền tảng J2ME: Định nghĩa về Configuration (Cấu hình): là đặc tả định nghĩa một môi trường phần mềm cho một dòng các thiết bị được phân loại bởi tập hợp các đặc tính, ví dụ như: Kiểu và số lượng bộ nhớ Kiểu và tốc độ bộ vi xử lý Kiểu mạng kết nối Do đây là đặc tả nên các nhà sản xuất thiết bị như Samsung, Nokia …bắt buộc phải thực thi đầy đủ các đặc tả do Sun qui định để các lập trình viên có thể dựa vào môi trường lập trình nhất quán và thông qua sự nhất quán này, các ứng dụng được tạo ra có thể mang tính độc lập thiết bị cao nhất có thể. Ví dụ như một lập trình viên viết chương trình game cho điện thoại Samsung thì có thể sửa đổi chương trình của mình một cách tối thiểu nhất để có thể chạy trên điện thọai Nokia.. Hiện nay Sun đã đưa ra 2 dạng Configuration: 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ớ. 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 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 15
- Mobile Programming (Private Version) Trịnh Công Duy 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. Bảng dưới là sự so sánh các thông số kỹ thuật của CDC và CLDC CLDC CDC Ram >=32K, =256K Rom >=128k, =512k Nguồn Năng Có GiớI Hạn (nguồn pin) Không giới hạn Lượng Network Chậm Nhanh Định nghĩa veef Profile: Profile mở rộng Configuration bằng cách thêm vào các class để bổ trợ các tính năng cho từng thiết bị chuyên biệt. Cả 2 Configuration đều có những profile liên quan và từ những profile này có thể dùng các class lẫn nhau. Đến đây ta có thể nhận thấy do mỗi profile định nghĩa một tập hợp các class khác nhau, nên thường ta không thể chuyển một ứng dụng Java viết cho một profile này và chạy trên một máy hỗ trợ một profile khác. Cũng với lý do đó, bạn không thể lấy một ứng dụng viết trên J2SE hay J2EE và chạy trên các máy hỗ trợ J2ME. Sau đây là các profile tiêu biểu: Mobile Information Device Profile (MIDP): profile này sẽ bổ sung các tính năng như hỗ trợ kết nối, các thành phần hỗ trợ giao diện người dùng … vào CLDC. Profile này được thiết kế chủ yếu để nhắm vào điện thọai di động với đặc tính là màn hình hiển thị hạn chế, dung lượng chứa có hạn. Do đó MIDP sẽ cung cấp một giao diện người dùng đơn giản và các tính năng mạng đơn giản dựa trên HTTP. Có thể nói MIDP là profile nổi tiếng nhất bởi vì nó là kiến thức cơ bản cho lập trình Java trên các máy di động (Wireless Java) PDA Profile: tương tự MIDP, nhưng với thị trường là các máy PDA với màn hình và bộ nhớ lớn hơn Foundation Profile: cho phép mở rộng các tính năng của CDC với phần lớn các thư 16
- Mobile Programming (Private Version) Trịnh Công Duy viện của bộ Core Java2 1.3 Ngoài ra còn có Personal Basis Profile, Personal Profile, RMI Profile, Game Profile. II.4. Giới thiệu MIDP II.4.1. Giới thiệu về MIDP a) Định nghĩa: Đây là 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. MIDP 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 như các máy điện thoạI di động và các máy PDA. Tuy nhiên MIDP không phải là cây đũa thần cho mọi lập trình viên vì như chúng ta đã biết, MIDP được thiết kế cho các máy di động có cấu hình rất thấp. Trong phần sau tôi sẽ liệt kê qua các tính năng mà MIDP cung cấp và những giới hạn của nó. b) Những chức năng MIDP không thực hiện được: Phép tính dấu phẩy động (floating point): Phép tính này đòi hỏi rất nhiều tài nguyên CPU và phần lớn các CPU cho các thiết bị di động không hỗ trợ phép tính này, do đó MIDP cũng không có. Bộ nạp class (Class Loader). Hỗ trợ từ khóa finalize() như trong J2SE: Việc “dọn dẹp“ tài nguyên trước khi nó bị xóa được đẩy về phía các 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 các thư viện API cho Swing và AWT không thể sử dụng được trong MIDP. 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) Những chức năng MIDP cung cấp 17
- Mobile Programming (Private Version) Trịnh Công Duy Các lớp và kiểu dữ liệu: Phần lớn các lớp mà các lập trình viên Java quen thuộc vẫn còn được giữ lại ví dụ như các lớp trong gói java.util như Stack, Vector và Hastable cũng như Enumeration. 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 Ngoài ra vào tháng 11 năm 2003 Sun đã tung ra MIDP 2.0 với hàng loạt tính năng khác được cung cấp thêm so với bản 1.0. Những cải tiến nổi bật so với MIDP 1.0 Nâng cấp các tính năng bảo mật như o Download qua mạng an toàn hơn qua việc hỗ trợ giao thức HTTPS. o Kiểm soát việc kết nối giữa máy di động và server: ví dụ như các chương trình không thể kết nối tới server nếu thiếu sự chấp thuận của người sử dụng. Thêm các API hỗ trợ Multimedia. Một trong nhưng cải tiến hấp dẫn nhất của MIDP 2.0 là tập các API media của nó. Các API này là một tập con chỉ hỗ trợ âm thanh của Mobile Media API (MMAPI). Mở rộng các tính năng của Form. Nhiều cải tiến đã được đưa vào API javax.microedition.lcdui trong MIDP 2.0, nhưng các thay đổi lớn nhất (ngoài API cho game) là trong Form và Item. Hỗ trợ các lập trình viên Game bằng cách tung ra Game API: Có lẽ Sun đã kịp nhận ra thị trường đầy tiềm năng của các thiết bị di động trong lĩnh vực Game. Với MIDP 1.0 thì các lập trình viên phải tự mình viết code để quản lý các hành động của nhân vật cũng như quản lý đồ họa. Việc này sẽ làm tăng kích thước file của sản phẩm cũng như việc xuất hiện các đoạn mã bị lỗi. Được hưởng lợi nhất từ Game API trong MIDP 2.0 không chỉ là các lập trình viên Game mà còn là các lập trình viên cần sử dụng các tính năng đồ họa cao cấp. Ý tưởng cơ bản của Game API là việc giả định rằng một màn hình game là tập hợp các layer (lớp). Ví dụ như: trong một game đua xe thì màn hình nền là một layer, con đường là một layer và chiếc xe được xem như đang nằm trên layer khác. Với Game API nhà phát triển còn được cung cấp các tính năng như quản lý các thao tác bàn phím. Hỗ trợ kiểu ảnh RGB: một trong những cải tiến hấp dẫn cho các nhà phát triển MIDP là việc biểu diễn hình ảnh dưới dạng các mảng số nguyên, cho phép MIDlet thao tác với dữ liệu hình ảnh một cách trực tiếp. II.4.2. 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). 18
- Mobile Programming (Private Version) Trịnh Công Duy 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. Hình 1. Hình biểu diễn MIDlet Thông báo import dùng để truy xuất các lớp của CLDC và MIDP. Lớp chính của ứng dụng được định nghĩa là lớp kế thừa lớp MIDlet của MIDP. Có thể chỉ có một lớp trong ứng dụng kế thừa lớp này. Lớp MIDlet được trình quản lý ứng dụng trên điện thoại di động dùng để khởi động, dừng, và tạm dừng MIDlet. Ví dụ, trong trường hợp có cuộc gọi đến. II.4.3. Bộ khung của MIDlet (MIDlet Skeleton) Một MIDlet là một lớp Java kế thừa (extend) của lớp trừu tượng java.microedition.midlet.MIDlet và thực thi (implement) các phương thức startApp(), pauseApp(), và destroyApp(). Hình 2. Hình biểu diễn bộ khung yêu cầu tối thiểu cho một ứng dụng MIDlet (1) Phát biểu import: Các phát biểu import được dùng để include các lớp cần thiết từ các thư viện CLDC và MIDP. (2) Phần chính của MIDlet: MIDlet được định nghĩa như một lớp kế thừa lớp MIDlet. Trong ví dụ này MIDletExample là bắt đầu của ứng dụng. (3) Hàm khởi tạo - Constructor: 19
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Beginning Android
50 p | 416 | 88
-
Mobile Websites
10 p | 87 | 27
-
Mobile Java Application Development white paper
9 p | 120 | 19
-
Portwood_Bluetooth_Java
28 p | 68 | 14
-
Lecture Java: Chapter 1
82 p | 77 | 5
-
Chapter 29 Multimedia
52 p | 87 | 5
-
Lecture Java: Chapter 2
98 p | 77 | 4
-
Open Source Enterprise System
16 p | 78 | 4
-
Các bước tối ưu hoá Pocket PC
3 p | 63 | 4
-
Đề cương chi tiết học phần Lập trình trên thiết bị di động (Mobile Programming) bậc đại học
13 p | 77 | 4
-
Build Secure Extend
19 p | 36 | 3
-
Lecture Java: Chapter 7
159 p | 54 | 3
-
Đề cương chi tiết học phần Lập trình trên thiết bị di động (Mobile Programming)
13 p | 48 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn