Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
603,42 KB
Nội dung
Chương 1 : Tổng quan về lập trình trên điện thoại di động 1 Chương 1 : TỔNG QUAN VỀ LẬP TRÌNH TRÊN ĐIỆN THOẠI DI ĐỘNG 1.1. Đôi nét về thị trường điện thoại di động Việt Nam : 1.1.1. Sự phát triển của thị trường thông tin di động : Thị trường thông tin di động Việt Nam là một trong những thị trường phát triển nhanh nhất khu vực Đông Nam Á. Theo đánh giá của BMI - Tập đoàn xuất bản chuyên nghiên cứu và đánh giá thị trường viễn thông thế giới, năm 2003, thị trường thông tin di động Việt Nam đạt tốc độ tăng trưởng 43% và năm 2004 là 65%. Tại Hội nghị quốc tế về thông tin di động lần 2 (2nd Mobiles Vietnam) diễn ra tại TP.HCM ngày 11 và 12/5 nă m 2005, các chuyên gia dự báo trong năm 2005, tổng số thuê bao di động tại Việt Nam sẽ đạt 7,3 triệu và năm 2008 sẽ lên đến mức 21,2 triệu. Tuy nhiên, Việt Nam vẫn là một trong những quốc gia có mật độ điện thoại di động thấp nhất ở khu vực châu Á - Thái Bình Dương, do vậy đây sẽ là địa điểm hấp dẫn để các doanh nghiệp trong nước cũng như các đối tác nước ngoài khai thác và tìm kiếm cơ hội kinh doanh. Hiện nay, Việt Nam có 6 nhà khai thác, cung cấp dịch vụ thông tin di động thuộc 5 doanh nghiệp là : VNPT (Vinafone, Mobifone), Công ty Viễn thông quân đội (Viettel), Công ty cổ phần viễn thông Sài Gòn (Saigon Postel), Công ty cổ phần viễn thông Hà Nội (Hanoi Telecom) và Công ty Viễn thông Điện lực (VP Telecom). Trong đó Hanoi Telecom và VP Telecom dự kiến khai trương mạng vào đầu năm 2006. Tiềm năng của thị trường thông tin di động Việt Nam là điều được khẳng định, nhưng vẫn là một ẩn số đối với các nhà phân tích thị trường bởi nhu cầu sử dụng của người tiêu dùng cũng như khả năng cung cấp của các nhà khai thác vẫn đang ở mức khám phá ban đầu. Việt Nam được coi là thị trường rất hấp dẫn trong lĩnh vực thông tin di động. Chương 1 : Tổng quan về lập trình trên điện thoại di động 2 1.1.2. Nhu cầu phát triển phần mềm cho điện thoại di động : Điện thoại di động đầu tiên ra đời với chức năng như một chiếc điện thoại thông thường, đó là gọi và nhận cuộc gọi. Sự phát triển mạnh mẽ của nền kinh tế ngày càng khẳng định vai trò của thông tin liên lạc đến khả năng thành bại của việc cạnh tranh trong kinh doanh. Ngoài ra, nhu cầu trao đổi thông tin, giải trí của con người cũng ngày càng được nâng cao và nhờ vào sự tiến bộ về mặt kỹ thuật, chiếc điện thoại di động ngày càng có thêm nhiều tính năng mới, đa dạng hơn, tiến bộ hơn và hiện đại hơn. Màn hình từ đơn sắc chuyển sang màn hình màu, từ hỗ trợ tin nhắn dạng văn bản (SMS) chuyển sang hỗ trợ tin nhắn có hình ảnh, âm thanh (MMS), hỗ trợ quay phim, xem phim, chụp ảnh, nghe nhạc… Năng lực xử lý và lưu trữ của điện thoại di động cũng liên tục được cải tiến. Các hãng sản xuất đã làm cho chiếc điện thoại trở nên linh động hơn, giúp cho người sử dụng có thể dễ dàng cấu hình giao diện và các ứng dụng. Đặc biệt, bằng cách cho phép lập trình viên viết thêm các chương trình ứng dụng, trò chơi cho điện thoại, chiếc điện thoại di động hiện nay thự c sự là một công cụ làm việc, học tập, vui chơi và giải trí hữu ích đối với mọi người. Trong vài năm gần đây, hoạt động sản xuất phần mềm cho điện thoại di động phát triển khá mạnh mẽ. Rất nhiều sản phẩm phần mềm đã ra đời để phục vụ tốt hơn cho người sử dụng, trong đó, số lượng ph ần mềm nhiều nhất là các trò chơi, từ điển, truy cập Internet, trình diệt virus, soạn thảo văn bản và các tiện ích khác. Trong năm 2004, giá trị sản xuất phần mềm cho điện thoại di động trên thế giới đạt 3,1 tỉ USD và dự đoán sẽ đạt 18,5 tỉ USD vào năm 2009. Doanh thu sản xuất phần mềm cho điện thoại di động năm 2004 được phân bố như sau : Chương 1 : Tổng quan về lập trình trên điện thoại di động 3 Hình 1-1 : Doanh thu sản xuất phần mềm cho điện thoại di động năm 2004 Tại châu Á, chỉ riêng Nhật và Hàn Quốc đã chiếm 1,3 tỉ USD, còn lại là Trung Quốc và Ấn Độ. Tại Việt Nam, doanh thu không đáng kể. Hầu hết các phần mềm ứng dụng được phát triển dành cho điện thoại di động đều là phần mềm miễn phí và do các công ty, các trường đại học và nhiều cá nhân thực hiện chủ yếu nhằm mục đích phục vụ cho lợi ích của cộng đồng. Tuy nhiên, chúng ta v ẫn có thể hi vọng vào tương lai của một thị trường đầy tiềm năng và trong quá trình hội nhập kinh tế quốc tế, người Việt Nam sẽ có thói quen tôn trọng quyền sở hữu trí tuệ nói chung và bản quyền phần mềm nói riêng. Chương 1 : Tổng quan về lập trình trên điện thoại di động 4 1.2. Lập trình trên điện thoại di động : 1.2.1. Quá trình phát triển ứng dụng J2ME : Thông thường, việc phát triển ứng dụng J2ME được tiến hành qua các giai đoạn như sau : a) Viết mã nguồn Java b) Biên dịch c) Obfuscate (tùy chọn) : Obfuscate sẽ loại bỏ các thông tin không cần thiết trong class, chẳng hạn như tên của các biến cục bộ. Các lớp, phương thức, interface, cũng được đổi tên để làm cho chúng ngắn gọn hơn. Một gói đã được obfuscate sẽ bảo vệ các tập tin class kh ỏi việc dịch ngược (decompile) và reverse engineering. Ngoài việc bảo vệ mã nguồn, obfuscate còn giảm kích thước của các tập tin class, làm cho kích thước của tập tin JAR cũng giảm đi. Việc giảm kích thước rất có ý nghĩa bởi vì các thiết bị MIDP thường có bộ nhớ bị giới hạn. d) Pre-verify (tiền kiểm tra). Bộ kiểm tra (verify) trong J2SE tốn ít nhất là 50 KB, không kể việc tiêu tốn vùng nhớ heap và thời gian xử lý. Để giảm việ c tiêu tốn này cho J2ME, việc kiểm tra tập tin class sẽ được chia thành hai giai đoạn. Quá trình tiền kiểm tra trước khi triển khai sẽ thêm các tập tin class các tham số phụ để tăng tốc quá trình kiểm tra lúc thực thi. Thiết bị sẽ thực hiện quá trình kiểm tra sơ lược bằng cách sử dụng các tham số phụ được phát sinh trong quá trình tiền kiểm tra. e) Tạo tập tin JAR f) Tạo tập tin JAD g) Thực thi trên trình giả lập thích hợp h) Triển khai trên thiết bị di động Chương 1 : Tổng quan về lập trình trên điện thoại di động 5 1.2.2. Các J2ME IDE : Môi trường phát triển tích hợp (IDE) cải thiện năng suất của lập trình viên bằng cách cung cấp một tập các công cụ lập trình tích hợp thông qua giao diện đồ họa (GUI), hỗ trợ công cụ soạn thảo, quản lý project, biên dịch và gỡ rối (debugger). Thành viên mới nhất trong gia đình Java là J2ME. Khi nhiều chuyên gia dự đoán về sự phát triển lớn mạnh của thị trường phát triển các ứng dụng J2ME, các nhà phát triển IDE đã đưa ra các bản mở rộng cho các sản phẩm IDE của họ để hỗ trợ thêm J2ME. Ngoài ra, các nhà cung cấp chuyên nghiệp khác cũng đã phát triển các IDE đơn dành riêng cho J2ME. Một IDE cho J2ME cần phải cung cấp các tiện ích sau : a) Quản lý project : Quản lý các tập tin nguồn và các thông số MIDlet. b) Trình soạn thảo : Soạn thảo mã nguồn và các tài nguyên. c) Build : Biên dịch, obfuscate và pre-verify mã nguồn. d) Đóng gói (package) : Đóng gói các MIDlet thành các tập tin JAR và JAD. e) Giả lập (emulation) : Thực thi các MIDlet v ới một trình giả lập. f) Gỡ rối (debugger) Chương 1 : Tổng quan về lập trình trên điện thoại di động 6 1.3. Giới thiệu một số công cụ hỗ trợ lập trình cho J2ME : 1.3.1. J2ME Wireless Toolkit (WTK) : J2ME Wireless Toolkit (WTK) là một bộ công cụ phát triển J2ME cung cấp cho các lập trình viên môi trường giả lập, công cụ, tài liệu và các ví dụ cần thiết để phát triển các ứng dụng MIDP. WTK không phải là một IDE hoàn chỉnh, bởi vì nó đã bỏ các tính năng soạn thảo và gỡ rối vốn được xem là bắt buộc phải có trong một IDE. Tuy nhiên, KToolbar, được cung cấp trong bộ WTK là một môi trường phát triển tối thiểu cung cấp một GUI dành cho việc biên dịch, đóng gói và thực thi các ứng dụng MIDP. WTK 2.2 cũng cung cấp các bộ giả lập đã được cải tiến với các tính năng giả lập, monitor và debug mới. Ngoài ra, WTK cũng có một cơ chế được thêm vào tiến trình build của KToolbar để cho phép việc tích hợp và thực thi bộ obfuscate Java bytecode khi đóng gói MIDlet suite. WTK 2.2 được cải thiện tốc độ và hỗ trợ các API mới, gồm : Connected Limited Device Configuration (CLDC) 1.1 (JSR 139) Mobile Information Device Profile (MIDP) 2.0 (JSR 118) Java Technology for the Wireless Industry (JTWI) 1.0 (JSR 185) Wireless Messaging API (WMA) 2.0 (JSR 205) Mobile Media API (MMAPI) 1.1 (JSR 135) PDA Optional Packages for the J2ME Platform (JSR 75) Java APIs for Bluetooth (JSR 82) J2ME Web Services Specification (JSR 172) Mobile 3D Graphics API for J2ME (JSR 184) Mỗi project có một thư mục dành riêng trong thư mục apps. Thư mực apps nằm bên trong thư mục chính của WTK. Chương 1 : Tổng quan về lập trình trên điện thoại di động 7 Các thư viện của hãng thứ ba có thể được cấu hình bên trong KToolbar. Ngoài ra, các thư viện cần thiết cho từng project có thể được chép thủ công vào thư mục lib bên trong thư mục project. Nếu một thư viện cần cho tất cả project, nó có thể được chép vào thư mục apps/lib. Khi KToolbar project được tạo ra, cấu trúc thư mục project sẽ được thiết lập. Ngoài ra các tập tin JAD va manifest cũng được phát sinh dựa vào các thông số c ủa MIDlet suite đã được xác định. Tuy nhiên, không có tập tin nguồn nào được phát sinh cho MIDlet. Lập trình viên phải viết các tập tin nguồn này từ đầu. KToolbar không hỗ trợ nạp nhiều project trong một GUI. Trình soạn thảo WTK không cung cấp một trình soạn thảo tích hợp nào. Thay vào đó, lập trình viên phải sử dụng một trình soạn thảo của hãng thứ ba. Tạo lập và đóng gói : KToolBar cung cấp hỗ trợ cho việc biên dịch một dự án. Một dự án được dịch và tiền kiểm tra chỉ trong một bước thực hiện. Một chức năng khác được dùng để đóng gói dự án. Gói được tạo ra sẽ chứa tập tin JAR và JAD của MIDlet suite. WTK được tích hợp công cụ obfuscator là RetroGuard. Công cụ này không được cung cấp kèm với WTK mà có thể được download miễn phí từ trang web www.retrologic.com. Để cài đặt, chúng ta chỉ cần chép tập tin retroguard.jar vào thư mục bin của thư mục cài đặt WTK. Trình gi ả lập : WTK cung cấp các giả lập để thực thi ứng dụng MIDP. Các thiết bị giả lập được hỗ trợ : DefaultColorPhone : điện thoại mặc định với màn hình màu. Chương 1 : Tổng quan về lập trình trên điện thoại di động 8 DefaultGrayPhone : điện thoại với màn hình xám. Motorola_i85s : điện thoại Motorola. PalmOS_Device : máy hỗ trợ các nhân kỹ thuật số. Nhận xét : WTK là một môi trường cơ bản cho việc phát triển các ứng dụng trên thiết bị không dây. Tuy nhiên, do thiếu một trình soạn thảo và chức năng gỡ rối, rõ ràng công cụ này không thể nào cạnh tranh được với các công cụ thương mại khác. Tuy nhiên, với những ai m ới bắt đầu tìm hiểu về J2ME thì đây vẫn là một công cụ có ích. Bằng việc tạo lập sẵn một cấu trúc thư mục, nó cho phép lập trình viên có thể xây dựng ngay ứng dụng mà không cần quan tâm về việc tổ chức các tập tin, tài nguyên trong dự án. Khi một lập trình viên đã trở nên thành thạo với việc phát triển ứng dụng J2ME thì có thể chuyển sang sử dụng một công cụ khác. Chương 1 : Tổng quan về lập trình trên điện thoại di động 9 1.3.2. Borland Jbuilder : Môi trường làm việc của JBuilder cho J2ME hoàn toàn giống như môi trường phát triển các ứng dụng Java bình thường nhưng có thêm các tabs và options trong các hộp thoại để hỗ trợ J2ME và hai wizards mới : MIDP MIDlet wizard và MIDP Displayable wizard. Trong phiên bản JBuilder Professional và Enterprise. Trình Archive Builder có thể tạo ra một MIDlet suite với các tập tin manifest và JAD tương ứng. JBuilder 2005 cũng cài đặt WTK 2.1 được sử dụng như một môi trường giả lập. Ngoài ra, JBuilder còn cung cấp các hướng dẫn cho việc tích hợp thêm các J2ME JDK khác, chẳng hạn như Nokia Developer Suite for J2ME và Siemens Mobility Toolkit (SMTK). Ngoài các tính năng chính củ a JBuilder, khi lập trình cho J2ME chúng ta được thêm các tính năng sau : Code completion cho các lớp CLDC/MIDP Duyệt class/package cho các lớp CLDC/MIDP Chuyển đổi JDK Các MIDP wizards Bộ thiết kế trực quan (visual designer) cho các thành phần giao diện MIDP Công cụ gỡ rối MIDlet Đóng gói file JAD và JAR Nạp dữ liệu thông qua OTA (Over The Air Provisioning) Quản lý dự án : Tập tin project chứa một danh sách các tập tin trong dự án và các thuộc tính của dự án đó. JBuilder sử dụng thông tin này khi thực hi ện nạp, lưu, biên dịch hay chạy một project. Tập tin project bị thay đổi khi JBuilder thêm hay xóa tập tin, thiết lập hay thay đổi các thuộc tính của project. Khi tạo một dự án J2ME, dự án phải được liên kết với một J2ME JDK. Khi tạo mới một project, một wizard sẽ phát sinh nội dung cơ bản của tập tin, tạo thư mục cho các thành phần trong project. Chương 1 : Tổng quan về lập trình trên điện thoại di động 10 Hình 1-2 : Tạo project J2ME bằng Wizard trong JBuilder Wizard cho phép chúng ta thêm các tập tin vào trong MIDlet bằng cách phát sinh các tập tin dựa trên các tùy chọn mà chúng ta yêu cầu. MIDlet : phát sinh một lớp con của MIDlet và một lớp con của Displayable (Canvas, Form, List hay TextBox). MIDP Displayable : phát sinh một lớp con của lớp Displayable. Thông thường, chúng ta chọn MIDlet. Khi đó MIDlet wizard sẽ thu thập tất cả các thông tin cần thiết. Một wizard khác sẽ được gọi để tạo ra các lớp Displayable sau đó. JBuilder cung cấp một bộ UI designer cho các ứng dụng MIDP. Bộ MIDP designer dựa trên bộ Swing UI designer có sẵn trong JBuilder. [...]... lập trình trên điện thoại di động MIDP designer giúp ta làm việc trực quan với các thành phần giao di n MIDP cơ bản Ngoài ra, nó còn hỗ trợ việc phát sinh mã tự động Các thành phần giao di n MIDP được hỗ trợ : ChoiceGroup DateField Gauge ImageItem StringItem TextField Ticker Spacer Các thành phần MIDP screen : Alert Form List TextBox Khi xử lý các thành phần với bộ MIDP designer, JBuilder tự động phát... Sun ONE Studio khi mới được tạo sẽ là một project rỗng Chúng ta phải tự thêm vào các MIDlet hay MIDlet suite theo nhu cầu của mình 16 Chương 1 : Tổng quan về lập trình trên điện thoại di động Hình 1-5 : Tạo project J2ME bằng Sun ONE Studio 5 Wizard tạo ra các tập tin dựa trên mẫu mà chúng ta chọn, các mẫu sau đây được hỗ trợ trong công cụ : Class : một lớp Java rỗng HelloMIDlet : một lớp có khả năng... đúng theo ý muốn 15 Chương 1 : Tổng quan về lập trình trên điện thoại di động 1.3.3 Sun ONE Studio 5, Mobile Edition Sun ONE studio 5, Mobile Edition là một phiên bản được thay đổi từ Sun ONE Studio để hỗ trợ và giúp đỡ các lập trình viên trong việc phát triển các ứng dụng MIDP Nó kết hợp các khả năng của Wireless Toolket với Sun ONE Studio tạo thành một môi trường với các chức năng sau : Kết hợp việc... hiện Chúng ta có thể gỡ rối nhiều ứng dụng đồng thời qua các tab có trên màn hình này Hình 1-4 : Màn hình gỡ rối của JBuilder Các tab nằm bên trái dọc theo cửa sổ cho chúng ta thấy những gì đang di n ra bên trong ứng dụng, Qua các tab này chúng ta có thể xem các thông tin : Console : thể hiện các kết quả cũng như lỗi của chương trình 14 Chương 1 : Tổng quan về lập trình trên điện thoại di động Thread,...Chương 1 : Tổng quan về lập trình trên điện thoại di động Màn hình duyệt các tập tin, thư mục trong dự án Màn hình duyệt cấu trúc của lớp và gói Cửa sổ soạn thảo mã nguồn : Keyboard shortcuts Brace matching Syntax highlighting Customizable editor key mappings 11 Chương 1 : Tổng quan về lập trình trên điện thoại di động CodeInsight (code completion, parameter lists, và tool... tracing disabled : thể hiện danh sách các lớp và gói chưa được xem xét Nhận xét : Chức năng thiết kế giao di n của JBuilder là một công cụ hữu ích trong việc tạo lập giao di n MIDP Tuy nhiên, chức năng này lại không hỗ trợ đầy đủ các thành phần giao di n hiện có và trong nhiều trường hợp mã nguồn phát sinh cần được chỉnh sửa thêm mới hoạt động đúng theo ý muốn 15 Chương 1 : Tổng quan về lập trình trên điện. .. giao di n hỗ trợ tabs Re-factoring Tạo và đóng gói : Khi biên dịch, JBuilder thực hiện các công việc sau : Biên dịch MIDlet và tạo ra các tập tin class Tiền kiểm tra các lớp đã được tạo Tạo tập tin JAD JBuilder phiên bản Professional và Enterprise có tích hợp bên trong một obfuscator Chức năng này có thể được bật qua tab Build trong cửa sổ Project Properties Hình 1-3 : JBuilder MIDP Designer 12 Chương... muốn mà không gây ảnh hưởng gì cho dự án Các trình giả lập này có thể là của Nokia hay của Siemens… Nếu công cụ của chúng ta có tích hợp nhiều trình giả lập thiết bị, khi đó tab MIDlet trong cửa sổ Project Properties có thể được dùng để chọn thiết bị khi chạy hay gỡ rối cho ứng dụng 13 Chương 1 : Tổng quan về lập trình trên điện thoại di động Trình gỡ rối : Khi bắt đầu gỡ rối, ngoài một màn hình giả... MIDlet suite Tự động phát sinh tập tin JAD và JAR Tích hợp khả năng gỡ rối (debug) cho MIDlet Code completion Có thể tích hợp với các trình giả lập hay các bộ JDK của hãng thứ ba nhờ vào Unified Emulator Interface Cung cấp các mẫu cho việc tạo ra các MIDlet và MIDlet suite Tích hợp sẵn một trình giả lập Có thể thiết lập trình giả lập riêng cho mỗi dự án J2ME Công cụ AutoUpdate giúp tự động hóa việc cập... designer, JBuilder tự động phát sinh mã để quản lý giao di n Mã phát sinh chuyên biệt cho JBuilder, điều này có nghĩa là MIDP designer sẽ không thể dịch ngược lại các mã nguồn đã được viết tay MIDP Designer giúp phát triển nhanh các giao di n mẫu MIDP Trình giả lập : JBuilder cung cấp các giả lập thiết bị về nguyên tắc cũng tương tự như WTK, tuy nhiên chúng ta có thể sử dụng các trình giả lập của hãng thứ ba . vực thông tin di động. Chương 1 : Tổng quan về lập trình trên điện thoại di động 2 1.1 .2. Nhu cầu phát triển phần mềm cho điện thoại di động : Điện thoại di động đầu tiên. điện thoại di động năm 20 04 được phân bố như sau : Chương 1 : Tổng quan về lập trình trên điện thoại di động 3 Hình 1-1 : Doanh thu sản xuất phần mềm cho điện thoại di động. Chương 1 : Tổng quan về lập trình trên điện thoại di động 1 Chương 1 : TỔNG QUAN VỀ LẬP TRÌNH TRÊN ĐIỆN THOẠI DI ĐỘNG 1.1. Đôi nét về thị trường điện thoại di động Việt Nam : 1.1.1. Sự phát