Luận Văn Nghiên cứu java mobile và xây dựng ứng dụng minh họa

Thảo luận trong 'Công Nghệ Thông Tin' bắt đầu bởi Quy Ẩn Giang Hồ, 2/4/12.

  1. Quy Ẩn Giang Hồ

    Quy Ẩn Giang Hồ Administrator
    Thành viên BQT

    Bài viết:
    3,084
    Được thích:
    23
    Điểm thành tích:
    38
    Xu:
    0Xu
    MỤC LỤC

    Lời Nói Đầu 1
    Phần 1: Kiến thức nền tảng J2ME 5
    Chương 1: Tổng quan về J2ME 5
    1.1 Giới thiệu J2ME (Java 2 Micro Edition).5
    1.2 Lý do chúng ta cần J2ME6
    1.3 Các thành phần của J2ME: 7
    1.3.1 Configuration: .7
    1.3.2 Profile: 9
    1.3.3 Máy ảo Java 10
    Chương 2: Giới thiệu CLDC và MIDP 13
    2.1. CLDC 13
    2.1.1.Yêu cầu phần cứng: 13
    2.1.2.Yêu cầu phần mềm: 13
    2.1.3.Máy ảo Java: .13
    2.2. MIDP: 16
    2.2.1.Yêu cầu phần cứng: 16
    2.2.2.Yêu cầu phần mềm: 16
    2.2.3.Cấu trúc MID Profile:.16
    2.2.4.MIDlet Suite: 18
    2.2.5.Môi trường phát triển ứng dụng J2ME .22
    Chương 3: Các vấn đề cơ bản của chương trình MIDlet . 25
    3.1. Cấu trúc cơ bản: 25
    3.2. Xây dựng một ứng dụng MIDlet: 25
    3.3. Lớp MIDlet: 26
    3.4. Lớp MIDletStateChangeException: 28
    3.5. Display .28
    3.6. Lớp Displayable: .30
    3.7. Quản lý các sự kiện (event) .32
    3.7.1.Command & CommandListener .33
    3.7.2.Item và ItemStateListener.38
    Chương 4: Giao diện đồ họa cấp cao 40
    4.1. Screen: .42
    4.2. Form: .43
    4.3. Item:.45
    4.3.1.DateField: .46
    4.3.2.Gauge:.48
    4.3.3.String Item: .51
    4.3.4.TextField: .53
    4.3.5.ChoiceGroup: .57
    4.3.6.Image và ImageItem: 61
    4.4. List: 64


    4.5. TextBox: 69
    4.6. Alert và AlertType: .72
    4.6.1.Alert: .72
    4.6.2.AlertType:.74
    4.7. Ticker: .77
    Chương 5: Giao diện đồ họa cấp thấp 78
    5.1. Canvas: 78
    5.1.1.Hệ toạ độ: 79
    5.1.2.Vẽ trên đối tượng Canvas: 79
    5.1.3.Bắt sự kiện trong các đối tượng Canvas: 82
    5.1.4.Game action: .85
    5.1.5.Sự kiện con trỏ: .87
    5.2. Graphics: .89
    5.2.1.Màu sắc: 90
    5.2.2.Nét vẽ:.93
    5.2.3.Font chữ: .98
    5.2.4.Vẽ các đối tượng hình ảnh (image): .101
    5.2.5.Các phương thức tịnh tiến đối tượng: .103
    5.2.6.Vùng xén (Clipping regions): .105
    Chương 6: Lưu trữ thông tin với RMS 106
    6.1. Giới thiệu RMS .106
    6.2. Duyệt danh sách Record với RecordEnumeration 115
    6.3. Sắp xếp bằng RecordComparator 117
    6.4. Lọc record với RecordFilter 119
    6.5. Nhận thông điệp khi Record Store thay đổi 121
    6.6. Xử lý lỗi khi thao tác với Record Store .122
    Chương 7: Kết nối mạng với Generic Connection Framework (GCF) 124
    7.1. Giới thiệu GFC 124
    7.2. Lược đồ lớp .124
    7.3. Kết nối HTTP: .127
    7.3.1.Khởi tạo kết nối: .127
    7.3.2.Các đặc điểm của kết nối HTTP bằng J2ME: 130
    7.3.3.Thông số kết nối: 137
    7.4. Kết nối socket Datagram (UDP) .138
    7.5. Kết nối TCP socket .141
    7.6. Gửi và nhận SMS 144
    Phần 2 : Web Service và Ứng dụng "Đăng Ký Học Phần" 149
    Chương 8: Giới thiệu Web Service . 149
    8.1. Ứng dụng phân tán (Distributed Application) 149
    8.1.1.Giới thiệu 149
    8.1.2.Các vấn đề nảy sinh trong hệ thống ứng dụng phân tán.150
    8.1.3.Hạn chế của những mô hình ứng dụng phân tán trước đây 151
    8.2. Web Service 152


    8.2.1.Định nghĩa 152
    8.2.2.Thành phần cơ bản của Web service: .152
    8.2.3.Hoạt động của Web service 152
    8.2.4.Ưu điểm của web service .155
    8.3. Các thành phần chính của Web Service 157
    8.3.1.SOAP (Simple Object Access Protocol) 157
    8.3.2.WSDL (Web Service Definition Language) 162
    Chương 9: Ứng dụng đăng ký học phần 172
    9.1 Đặc tả chương trình: 172
    9.1.1 Tổng quan: 172
    9.1.2 Các chức năng chính: .172
    9.2 Kiến trúc chương trình: .174
    9.2.1 Mô hình kết nối: .174
    9.2.2 Mô hình bảo mật (mã hoá password): 176
    9.3 Phân tích - thiết kế:177
    9.3.1 Mô hình use case: .177
    9.3.2 Đặc tả một số use case chính: .178
    9.4 Thiết kế mô hình dữ liệu: 183
    9.4.1 Mô hình thực thể kết hợp: 183
    9.4.2 Các bảng dữ liệu: 183
    9.4.3 Chi tiết các bảng dữ liệu: 184
    9.4.4 Ràng buộc dữ liệu: 188
    9.4.5 Mô hình dữ liệu: .190
    9.4.6 Các chức năng store procedures: 190
    9.4.7 Thiết kế lớp: 191
    9.5 Cài đặt - thử nghiệm: .192
    9.5.1 Yêu cầu phần cứng: 192
    9.5.2 Yêu cầu phần mềm: 193
    9.5.3 Giao diện chương trình: 193
    Chương 10: Tổng kết . 205
    10.1 Kết luận: 205
    10.2 Hướng phát triển: 207
    Tài liệu tham khảo 210
    Phụ Lục A: Hướng dẫn sử dụng công cụ Sun Wireless ToolKit 2.3 211
    Phụ Lục B: Xây dựng và Sử dụng Web Service . 217
    Phụ Lục C: Giới thiệu các thư viện JSR . 222
    Lời Nói Đầu



    Mạng điện thoại di động xuất hiện tại Việt Nam từ đầu những năm 1990 và theo thời gian, số lượng các thuê bao cũng như các nhà cung cấp dịch vụ di động tại Việt Nam ngày càng tăng. Cùng với sự phát triển của số lượng thuê bao di động là sự đa dạng hoá các dịch vụ hướng đến thiết bị di động. Ngày nay điện thoại di động không chỉ còn mang chức năng gọi điện hay nhắn tin thông thường mà còn là một thiết bị giải trí, tra cứu thông tin rất tiện lợi. Do đó, xây dựng các ứng dụng cho điện thoại di động đang là một yêu cầu tất yếu trong xu thế hiện nay. Ngành công nghiệp phần mềm cho các thiết bị di động được xem như một mảnh đất màu mỡ và hứa hẹn đem lại nhiều tỉ đô la doanh thu.
    Hai hướng phát triển ứng dụng trên điện thoại di động phổ biến hiện nay là sử dụng ngôn ngữ C++ trên nền hệ điều hành Symbian và J2ME. Các ứng dụng viết trên nền Symbian có các ưu thế truy cập trực tiếp các tài nguyên của điện thoại cũng như hỗ trợ hệ thống tập tin, thư mục như máy tính cá nhân vì được hỗ trợ trực tiếp bởi hệ điều hành. Tuy nhiên hệ điều hành Symbian lại có kích thước khá lớn nên chỉ có ở các thế hệ điện thoại tương đối cao cấp, và xây dựng ứng dụng dùng Symbian API cũng phức tạp hơn.
    Đối trọng với Symbian API là công nghệ J2ME với kích thước nhỏ gọn, tiện dụng, được hỗ trợ bởi hầu hết các thế hệ điện thoại mới ra đời, kể cả các điện thoại có hệ điều hành Symbian. J2ME không những là một ngôn ngữ hướng đến các thiết bị di động mà còn là ngôn ngữ chính để lập trình trên các thiết bị gia dụng, thẻ tín dụng điện tử và các thiết bị thông minh khác. Chúng ta có thể nói đối tượng của ngôn ngữ J2ME là rộng hơn rất nhiều so với C++ trên nền Symbian. Tại thời điểm hiện tại, ngôn ngữ J2ME không hỗ trợ được nhiều tính năng như C++ trên Symbian nhưng lại có những ưu điểm trội hơn.
    J2ME là một ngôn ngữ nhỏ, gọn nhưng rất chặt chẽ và dễ nắm bắt, với những lập trình viên đã có kinh nghiệm với Java việc lập trình với J2ME trở nên rấtdễ dàng. J2ME còn là một ngôn ngữ được các tổ chức mã nguồn mở ủng hộ mạnh mẽ và phát triển rất nhanh chóng, JCP (Java Community Process- http://www.jcp.org) là một chương trình do Sun thành lập luôn tiếp thu các ý kiến và đưa ra các đặc tả mới dành cho Java nói chung và J2ME nói riêng. Các đặc tả này thường có tiếp đầu ngữ JSR và là các tính năng bổ sung mới cho J2ME.
    Những JSR quan trọng có thể được nhắc đến như JSR-82 (Bluetooth), JSR205 (Gửi tin nhắn SMS, MMS), JSR-172 (Web service), JSR-177 (Security and Trust Services), JSR 184 (3D Game) Các đặc tả này ngày càng phong phú và phần nào phát triển nhanh hơn cả sự phát triển của phần cứng.
    Thật khó so sánh giữa các dòng ngôn ngữ lập trình với nhau vì mỗi loại đều có ưu và khuyết điểm riêng. Trong luận văn của mình, chúng tôi chọn nghiên cứu về J2ME vì những ưu điểm khá rõ ràng đã nêu trên, mặt khác chúng tôi cũng muốn thử sức ở một lãnh vực khá mới mẻ là tiếp cận với phần mềm mã nguồn mở.
    Về chương trình ứng dụng, tính khả thi và thực tế ngày càng được đề cao. Chúng tôi nhận thấy xu hướng mở rộng các ứng dụng trên web sang điện thoại di động đang được chú trọng. Thương mại điện tử (e-commerce) đang tiến dần sang thương mại di động (m-commerce). Với thực trạng Việt Nam hiện nay, số người sở hữu máy vi tính cá nhân, đặc biệt là máy tính xách tay chưa nhiều nhưng tỉ lệ số người có điện thoại di động lại khá cao. Việc chuyển các ứng dụng thương mại từ môi trường web sang môi trường di động sẽ khiến sự tiện dụng tăng cao, số người sử dụng dịch vụ trực tuyến chắc chắn sẽ tăng nhanh vì đối với nhiều người chiếc điện thoại di động dễ sử dụng hơn rất nhiều so với chiếc máy tính "phức tạp và khó
    hiểu".

    Ứng dụng chúng tôi chọn thực hiện để bước chân vào lãnh vực khá mới mẻ này là ứng dụng "Đăng Ký Học Phần" qua mạng di động. Đối với sinh viên khoa công nghệ thông tin, hệ thống đăng ký học phần SMS qua môi trường web là một ứng dụng rất quen thuộc. Chúng tôi muốn phát triển ứng dụng của mình như một mở rộng của hệ thống đăng ký học phần này trên điện thoại di động nhằm hỗ trợ các bạn sinh viên có thể sử dụng các tiện ích của hệ thống mà không cần phải có máytính kết nối mạng. Với ứng dụng này, tính tiện dụng của hệ thống đăng ký học phần SMS đã được mở rộng. Chỉ cần có một điện thoại di động hỗ trợ GPRS các bạn sinh viên có thể đăng ký học phần ngay cả khi đang về quê ăn tết ở những vùng internet chưa phổ biến nhưng đã phủ sóng di động hay khi đang di chuyển trên tàu xe Vì một số điều kiện đặc biệt của điện thoại, hiện nay ứng dụng này chỉ chạy trên chương trình giả lập. Tuy nhiên, chúng tôi hi vọng trong một tương lai rất gần, khi các thế hệ điện thoại mới có giá thành vừa phải ra đời và hỗ trợ một số công nghệ như WebService, mã hoá mà chúng tôi đang sử dụng để xây dựng phần mềm thì ứng dụng này có thể được áp dụng rộng rãi trong thực tế cho sinh viên của khoa. Cần phải nói thêm, ứng dụng hiện tại hoàn toàn có thể sử dụng được trong thực tế Việt Nam nhưng có một số đòi hỏi về thiết bị khá đắt tiền (xin xem thêm Chương10, phần Kết Luận), chứ không chỉ mới là lý thuyết trên giấy tờ.

    Với việc xây dựng thành công hệ thống đăng ký học phần qua mạng điện thoại di động, chúng tôi rất tự tin về việc xây dựng các hệ thống thương mại di động lớn hơn. Trong tương lai gần, khách hàng có thể ngồi trên taxi mua vé máy bay, đặt chỗ khách sạn, xem lại tài khoản ngân hàng với chiếc điện thoại di động nhỏ bé. Chiếc điện thoại di động sẽ trở thành một công cụ giao dịch không thể thiếu trong thời đại mới, thời đại của thương mại điện tử toàn cầu.
    Luận văn được trình bày thành hai phần lớp:

    Phần 1: Giới thiệu về lý thuyết nền tảng của J2ME, các thư viện, các kỹ thuật lập trình, đóng gói ứng dụng di động.
    Chương 1. Tổng quan về J2ME : Giới thiệu tổng quan về J2ME, các đặc điểm và các thành phần con.
    Chương 2. Giới thiệu CLDC và MIDP: Trình bày chi tiết về hai thành phần quan trọng của J2ME dành cho điện thoại di động, môi trường phát triển ứng dụng J2ME. Chương 3. Các vấn đề cơ bản của chương trình MIDlet: Chương này sẽ trình bày những đặc điểm quan trọng nhất của một ứng dụng J2ME, các bước cơ bản để xây
    dựng ứng dụng này.
    Chương 4. Giao diện đồ họa cấp cao: Trình bày về thư viện đồ họa cấp cao nhưForm, List, TextBox trong J2ME.

    Chương 5. Giao diện đồ họa cấp thấp: Trình bày về lập trình đồ họa cấp thấp, các phương thức vẽ, xử lý font, game action trong J2ME.
    Chương 6. Lưu trữ thông tin với RMS: Trình bày về Record Management System, một cơ chế lưu trữ riêng của J2ME.
    Chương 7. Lập trình mạng vơi GCF: Trình bày về khả năng lập trình mạng trongJ2ME.

    Phần 2: Giới thiệu về Web Service, một công nghệ rất mới để xây dựng các ứng dụng thương mại điện tử phân tán và giới thiệu chi tiết về ứng dụng cùng những đánh giá, tổng kết.
    Chương 8. Giới thiệu về ứng dụng phân tán và web service

    Chương 9. Trình bày chi tiết về ứng dụng "Đăng Ký Học Phần"
    Chương 10. Đánh giá, tổng kết các kết quả đạt được và hướng phát triển trong tương lai.


    Tuy đã đầu tư khá nhiều thì giờ và công sức vào luận văn này nhưng chắc chắn chúng tôi cũng không tránh khỏi những sai sót. Rất mong nhận được ý kiến đóng góp và sự thông cảm của quý thầy cô và các bạn! Xin chân thành cảm ơn!
     

    Các file đính kèm:

Đang tải...