Nghiên cứu và xây dựng ứng dụng gửi nhận email trên điện thoại blackberry
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM Đề tài: NGHIÊN CỨU VÀ XÂY DỰNG ỨNG DỤNG GỬI NHẬN E-MAIL TRÊN ĐIỆN THOẠI BLACKBERRY KHÓA LUẬN CỬ NHÂN TIN HỌC Giáo viên hướng dẫn: Thầy ĐỖ HOÀNG CƯỜNG Sinh viên thực hiện: 0612022 – LƯƠNG PHAN BÌNH 0612374 – TỐNG PHƯỚC BẢO QUỐC NIÊN KHÓA 2006 – 2010 LỜI CÁM ƠN Chúng em xin bày tỏ lòng biết ơn chân thành đến Thầy Đỗ hoàng Cường, người Thầy tận tâm hướng dẫn, giúp đỡ chúng em suốt thời gian thực luận văn Chúng xin gửi tất lòng biết ơn sâu sắc kính trọng đến ơng bà, cha mẹ, tồn thể gia đình, người ni dạy chúng trưởng thành đến ngày hôm Chúng em xin chân thành cảm ơn quý Thầy Cô Khoa Công Nghệ Thông Tin, trường Đại Học Khoa Học Tự Nhiên TP.Hồ Chí Minh tận tình giảng dạy, hướng dẫn, giúp đỡ tạo điều kiện cho chúng em thực tốt luận văn Xin chân thành cảm ơn giúp đỡ, động viên bảo nhiệt tình anh chị tất bạn, người giúp chung tơi có đủ nghị lực ý chí để hồn thành luận văn Mặc dù cố gắng hết sức, song chắn luận văn khơng tránh khỏi thiếu sót chúng em mong nhận thơng cảm bảo tận tình q Thầy Cơ bạn TP.HCM, 6/2010 Nhóm sinh viên thực Lương Phan Bình – Tống Phước Bảo Quốc LỜI NHẬN XÉT LỜI NÓI ĐẦU MỤC LỤC Giới thiệu Tổ chức luận văn Danh sách hình Danh sách bảng Các thuật ngữ viết tắt được sử dụng PHẦN 1: MƠI TRƯỜNG LẬP TRÌNH BLACKBERRY Chương 1: Tởng quan hệ điều hành Research In Motion (RIM) 1.1 Kiến trúc Research In Motion OS: 1.1.1 Giới thiệu Research In Motion OS: Hệ điều hành Research In Motion(RIM OS) phát triển công ty Research In Motion, sử dụng hầu hết cho dịng điện thoại thơng minh BlackBerry hãng Sơ lược hệ điều hành Research In Motion: - Hệ điều hành RIM lập trình ngơn ngữ C++ Ngơn ngữ lập trình: Sử dụng ngơn ngữ Java BlackBerry API Kernel: Sử dụng Kernel Java Bản quyền sử dụng: Research In Motion độc quyền phân phối phát triển Ngôn ngữ hỗ trợ: US English, UK English, French, Spanish, European Portuguese, Brazilian Portuguese, Basque, Catalan, Galician, Italian, German, Dutch, Russian, Polish, Czech, Hungarian, Turkish, Arabic, Hebrew, Indonesian, Thai, Japanese, Chinese (Traditional), Chinese (Simplified), Korean Hệ điều hành BlackBerry hệ điều hành đa nhiệm, sử dụng cách thức dẫn nhập liệu thông qua bánh xe di chuyển(Trackwheel), viên bi di chuyển(Trackball) hay bàn cảm ứng(Trackpad), hình cảm ứng(Touchscreen) Hệ điều hành hỗ trợ thông tin thiết bị di động chuẩn MIDP 1.0 giao thức không dây chuẩn WAP 1.2 Hỗ trợ trình duyệt web WAP thơng tin lịch, cơng việc, địa chỉ, E-mail thích số điện thoại thông minh khác Các điện thoại OS 4.0 trở lên hỗ trợ MIDP 2.0 Các chức thực phần mềm BlackBerry Enterprise Server(BES), phần mềm phần hệ điều hành Một phiên cải tiến BES BlackBerry Internet Service(BIS) Nó cho phép người dùng truy cập Internet Ngồi ra, người dùng cịn sử dụng giao thức POP3, IMAP truy cập Outlook E-mail mà không cần truy cập thông qua BES sử dụng BIS BIS dịch vụ điều hành RIM, cung cấp thông qua nhà cung cấp dịch vụ di động Các phiên cập nhật tải thơng qua dịch vụ tải OTASL(Air Software Loading) cung cấp hệ điều hành BlackBerry Hình 1.1 - Cấu trúc mạng Blackberry(Nguồn: BlackBerry OS Report - Josh Schiffman) Mặc dù hệ điều hành BlackBerry hệ điều hành đóng, cung cấp thư viện giao diện lập trình ứng dụng(Application Programming Interface – API) Các nhà lập trình sử dụng API để biết chương trình ứng dụng cho BlackBerry 1.1.2 Nhập liệu Research In Motion OS: Hệ điều hành Research In Motion sử dụng cho máy hãng BlackBerry Vì sử dụng phương thức nhập liệu sau: a) Nhập liệu: Các máy BlackBerry có kiểu nhập liệu trackwheel, trackball trackpad hình cảm ứng(Touchscreen): Trackwheel: Được sử dụng cho dòng máy cũ 850/870, dòng sản phẩm 6000, dòng sản phẩm 7000 8700 Kiểu nhập liệu sử dụng bánh xe di chuyển bên hông máy( gọi Trackwheel) để di chuyển lên xuống giao diện người dùng Người dùng di chuyển qua trái qua phải cách giữ nút shift bàn phím di chuyển trackwheel Chọn ứng dụng hay mở menu ứng dụng cách nhấp vào Trackwheel Hình 1.1 - Trackwheel máy BlackBerry 8700 (Nguồn: www.gsmarena.com) Trackball: Được sử dụng từ dòng máy 8100, dòng máy 8300, 8800, 8900, 9000, 9600 Trackball viên bi nằm máy Người dùng cuộn viên bi lên xuống qua trái, qua phải để di chuyển giao diện người dùng Nhấn vào trackball để chọn mở menu ứng dụng Hình 1.3 - Trackball điện thoại BlackBerry Pearl 8100 (Nguồn: www.GSMArena.com) Trackpad: Trackpad kiểu nhập liệu sử dụng cho dòng máy 9700, 8500.v.v Trackpad bàn cảm ứng nhỏ đặt máy, người dùng di chuyển cách rê ngón tay trackpad Chọn mở menu ứng dụng cách nhấp vào trackpad Hình 1.4 - Trackpad điện thoại Blackberry Bold 9700 (Ngồn www.GSMArena.com) Touchscreen: Touchscreen kiểu nhập liệu sử dụng cho máy có hình cảm ứng dịng điện thoại 9500 Người dùng dùng tay bút cảm ứng để chọn trực tiếp hình cảm ứng Hình 1.5 - Touchscreen điện thoại Blackberry Storm 9500 (Nguồn: www.GSMArena.com) b) Bàn phím: Blackberry cung cấp cho người dùng loại bàn phím để nhập liệu khác nhau, tùy thuộc dịng máy: QWERTY, SureType bàn phím cảm ứng: Bàn phím QWERTY: QWERTY loại bàn phím nhà phát minh máy đánh chữ Christopher Sholes phát minh vào thập niên 1860 Ban đầu, ký tự may dánh chữ xếp theo thứ tự alphabet – A BCDE, cách đánh chữ không nhanh tiện dụng Một nhà kinh doanh làm chung với Scholes James Densmore đề nghị thay đổi xếp lại ký tự bàn phím, bàn phím kiểu QWERTY đời Kiểu bàn phím đuợc sử dụng rộng rãi cho máy đánh chữ máy tính ngày Research In Motion ứng dụng kiểu bàn phím vào điện thoại Giúp người dùng nhập liệu tay nhập liệu nhanh Kiểu bàn phím đươc sử dụng hầu hết điện thoại BlackBerry, trừ loại điện thoại cảm ứng dịng sử dụng bàn phím SureType Bàn phím QWERTY máy BlackBerry Curve 8900 (Nguồn: ecvv.com) Một số điện thoại phân phối Bĩ Pháp sử dụng bàn phím AZERTY, phiên khác kiểu bàn phím QWERTY cho người sử dụng ngơn ngữ Bĩ hay Pháp Bàn phím AZERT Y Trên máy BlackBerry Curve 8900 (Nguồn: www mepodphone.net) Bàn phím SureType: Bàn phím SureType kiểu bàn phím dựa vào kiểu bàn phím QWERTY, thiết kế ký tự phím, giúp cho bàn phím SureType trở nên nhỏ gọn so với bàn phím QWERTY đáp ứng nhu cầu nhập liệu nhanh người sử dụng BlackBerry Bàn phím SureType cịn trang bị cho người dùng từ điển khoảng 35.000 chữ tiếng Anh, giúp cho người dùng gõ nhanh chế độ gõ chữ thơng minh Ngồi ra, dịng điện thoại sử dụng bàn phím Điểm mở rộng: Khơng có 8.4.10 Add Attachment: Tóm tắt: Tác nhân: Người sử dụng chương trình Use-case cho phép người dùng đính kèm tập tin từ nhớ máy để gởi kèm theo E-mail Dòng kiện: Dòng kiện Người dùng chọn tập tin từ nhớ máy Chương trình đọc ghi thơng tin tập tin vào nội dung E-mail Các dòng kiện khác 2a Nếu khơng thể đọc tập tin hiển thị lỗi cho người dùng Các yêu cầu đặc biệt: Khơng có Trạng thái hệ thống bắt đầu Use-case: Người dùng hình soạn thảo E-mail Trạng thái hệ thống kết thúc Use-case: Tập tin đính kèm nội dung E-mail để gởi Điểm mở rộng: Không có 8.4.11 Auto Receive E-mail: Tóm tắt: Tác nhân: Người sử dụng chương trình Use-case cho phép người dụng lựa chọn địa E-mail danh sách cấu hình E-mail để chương trình tự động nhận E-mail có E-mail Dịng kiện: Dịng kiện Người dùng chọn tự động nhận mail Chương trình lấy cấu hình E-mail từ hệ thống hiển thị lên cho người dùng chọn Người dùng chọn cấu hình E-mail Chương trình lưu trữ áp dụng cho chương trình Chương trình tự động lấy mail theo chu kỳ định hiển thị thông báo cho người dùng Các dịng kiện khác 2a Nếu khơng có cấu hình E-mail khơng áp dụng tự động nhận mail Các u cầu đặc biệt: Khơng có Trạng thái hệ thống bắt đầu Use-case: Người dùng hình chỉnh sửa tùy chọn Phải tồn cấu hình E-mail cho phép chế độ tự động nhận mail Trạng thái hệ thống kết thúc Use-case: Chương trình tự động nhận mail theo chu kỳ định Điểm mở rộng: Khơng có 8.4.12 Search E-mail: Tóm tắt: Tác nhận: Người sử dụng chương trình Use-case cho phép người dùng tìm kiếm E-mail hộp thư cấu hình sẵn danh sách cấu hình E-mail Dịng kiện: Dịng kiện Người dùng điền nội dung tìm kiếm thư Chương trình kết nối với server E-mail tìm kiếm thư Chương trình hiển thị kết lên hình thiết bị Các dịng kiện khác 1a Nếu nội dung tìm kiếm sai hiển thị lỗi cho người dùng 2a Nếu khơng thể tìm kiếm thư hiển thị lỗi cho người dùng Các yêu cầu đặc biệt: Không có Trạng thái hệ thống bắt đầu Use-case: Người dùng hình đọc E-mail Chương trình phải kết nối với Server E-mail Trạng thái hệ thống kết thúc Use-case: Kết tìm kiếm hiển thị lên hình thiết bị Điểm mở rộng: Khơng có 8.4.13 Add Account: Tóm tắt: Tác nhân: Người sử dụng chương trình Use-case cho phép người dùng thêm cấu hình E-mail vào danh sách cấu hình E-mail Dịng kiện: Dịng kiện Người dùng điền thơng tin cấu hình E-mail Chương trình thêm cấu hình E-mail vào danh sách cấu hình Email có sẵn Các dịng kiện khác 2a Nếu thơng tin cấu hình bị sai khơng thể thêm cấu hình Email hiển thị lỗi cho người dùng Các u cầu đặc biệt: Khơng có Trạng thái hệ thống bắt đầu Use-case: Thông tin cấu hình E-mail phải xác Trạng thái hệ thống kết thúc Use-case: Cấu hình E-mail thêm vào danh sách cấu hình E-mail Điểm mở rộng: Khơng có 8.4.14 Delete Account: Tóm tắt: Tác nhân: Khơng có Use-case cho phép người dùng xóa cấu hình E-mail từ danh sách cấu hình E-mail có sẵn hệ thống Dịng kiện: Dịng kiện Người dùng chọn cấu hình E-mail cần xóa danh sách cấu hình E-mail Chương trình xóa cấu hình E-mai khỏi hệ thống Chương trình hiển thị thơng báo lên cho người dùng Các dòng kiện khác 1a Nếu khơng có cấu hình E-mail hiển thị thơng báo cho người dùng Các yêu cầu đặc biệt: Khơng có Trạng thái hệ thống bắt đầu Use-case: Phải tồn cấu hình E-mail Trạng thái hệ thống kết thúc Use-case: Cấu hình E-mail bị xóa khỏi danh sách cấu hình E-mail Điểm mở rộng: Khơng có 8.4.15 Update Account: Tóm tắt: Tác nhân: Người sử dụng chương trình Use-case cho phép người dùng cập nhật thơng tin cấu hình E-mail có sẵn Dịng kiện: Dịng kiện Lấy cấu hình E-mail từ hệ thống hiển thị thơng tin lên hình thiết bị Người dùng chỉnh sửa cấu hình E-mail Chương trình cập nhật thơng tin cấu hình E-mail vào danh sách cấu hình E-mail Các dịng kiện khác 1a Nếu khơng thể lấy thơng tin cấu hình E-mail lấy thơng tin cấu hình E-mail mặc định 3a Nếu khơng thể cập nhật thơng tin cấu hình E-mail hiển thị lỗi cho người dùng Các yêu cầu đặc biệt: Không có Trạng thái hệ thống bắt đầu Use-case: Phải có cấu hình E-mail chọn Thơng tin cấu hình E-mail phải xác Trạng thái hệ thống kết thúc Use-case: Cấu hình E-mail cập nhật danh sách cấu hình E-mail Điểm mở rộng: Khơng có 8.4.16 Add Template: Tóm tắt: Tác nhân: Người sử dụng chương trình Use-case cho phép người dùng thêm mẫu E-mail vào danh sách mẫu E-mail Dòng kiện: Dịng kiện Người dùng điền thơng tin mẫu E-mail Chương trình thêm mẫu E-mail vào danh sách mẫu E-mail có sẵn Các dịng kiện khác 2a Nếu thông tin mẫu E-mail bị sai khơng thể thêm mẫu E-mail hiển thị lỗi cho người dùng Các yêu cầu đặc biệt: Không có Trạng thái hệ thống bắt đầu Use-case: Thơng tin mẫu E-mail phải xác Trạng thái hệ thống kết thúc Use-case: Mẫu E-mail thêm vào danh sách mẫu E-mail Điểm mở rộng: Khơng có 8.4.17 Delete Template: Tóm tắt: Tác nhân: Khơng có Use-case cho phép người dùng xóa mẫu E-mail từ danh sách mẫu E-mail có sẵn hệ thống Dòng kiện: Dòng kiện Người dùng chọn mẫu E-mail cần xóa danh sách mẫu Email Chương trình xóa mẫu E-mai khỏi hệ thống Chương trình hiển thị thơng báo lên cho người dùng Các dịng kiện khác 1a Nếu khơng có mẫu E-mail hiển thị thông báo cho người dùng Các u cầu đặc biệt: Khơng có Trạng thái hệ thống bắt đầu Use-case: Phải tồn mẫu E-mail Trạng thái hệ thống kết thúc Use-case: Cấu hình E-mail bị xóa khỏi danh sách mẫu E-mail Điểm mở rộng: Khơng có 8.4.18 Update Template: Tóm tắt: Tác nhân: Người sử dụng chương trình Use-case cho phép người dùng cập nhật thơng tin Mẫu Email có sẵn Dịng kiện: Dịng kiện Lấy Mẫu E-mail từ hệ thống hiển thị thông tin lên hình thiết bị Người dùng chỉnh sửa Mẫu E-mail Chương trình cập nhật thơng tin Mẫu E-mail vào danh sách Mẫu E-mail Các dòng kiện khác 1a Nếu lấy thông tin Mẫu E-mail lấy thơng tin Mẫu Email mặc định 3a Nếu khơng thể cập nhật thơng tin Mẫu E-mail hiển thị lỗi cho người dùng Các yêu cầu đặc biệt: Khơng có Trạng thái hệ thống bắt đầu Use-case: Phải có Mẫu E-mail chọn Thơng tin Mẫu E-mail phải xác Trạng thái hệ thống kết thúc Use-case: Mẫu E-mail cập nhật danh sách Mẫu E-mail Điểm mở rộng: Khơng có 8.5 Thiết kế kiến trúc: 8.5.1 Mô hình hoạt động: Internet Internet Mail server FOMA network BlackBerry device Hình x.x – Mô hình hoạt đợng của ứng dụng • • • • Ứng dụng chạy điện thoại BlackBerry Ứng dụng viết bằng ngôn ngữ Java, sau biên dịch sẽ tạo file *.cod Ứng dụng kết nối với các mail server thông qua Internet, sử dụng các giao thức SMTP, POP3 và IMAP Có thể thiết lập kênh truyền với SSL hay TLS Sau kết nối, ứng dụng sẽ giao tiếp với server bằng các lệnh để đọc e-mail, gửi e-mail, xóa e-mail, 8.5.2 Kiến trúc phía ứng dụng BlackBerry: Receive E-mail Component Send E-mail Component Connection Component Configuration & Support Component Data Store Component Hình x.x – Kiến trúc thành phần ứng dụng phía Client Kiến trúc phía Client bao gồm các thành phần: Thành phần nhận e-mail (receive e-mail component): Bao gồm các lớp hỗ trợ việc nhận e-mail và hiển thị cho người dùng Thành phần gửi e-mail (send e-mail component): Bao gồm các lớp hỗ trợ việc soạn thảo và gửi e-mail đến các địa chỉ Thành phần kết nối (connection component): Bao gồm các lớp thực hiện việc kết nối, gửi /nhận dữ liệu mạng giữa client và server Thành phần quản lý cấu hình và hỗ trợ (Configuration & Support Component): Bao gồm các lớp thực hiện chức quản lý cấu hình ứng dụng, lưu file, đính kèm file, Thành phần lưu trữ thông tin (Data Store Component): Các lớp chứa thông tin và lưu trữ thông tin điện thoại 8.6 Thiết kế lớp: 8.6.1 Các lớp dùng chung: 8.6.2 Thành phần nhận e-mail: 8.6.3 Thành phần gửi e-mail: 8.6.4 Thành phần kết nối: 8.6.5 Thành phần quản lý cấu hình và hỗ trợ: 8.6.6 Thành phần lưu trữ thông tin: 8.7 Thiết kế xử lí: 8.7.1 Nhận e-mail: Vẽ các sơ đồ tuần tự 8.7.2 Gửi e-mail: Vẽ các sơ đồ tuần tự 8.7.3 Lưu trữ thông tin: 8.7.4 Cho ứng dụng chạy nền: 8.7.5 Quản lý tài khoản: 8.7.6 Quản lý cấu hình: 8.7.7 Quản lý template: 8.7.8 Chương 9: Cài đặt và thử nghiệm 9.1 Môi trường phát triển: Công cụ lập trình 9.2 Cài đặt: 9.2.1 Yêu cầu phần cứng: Cấu hình tối thiểu (version, OS) của điện thoại để chạy được ứng dụng 9.2.1 Hướng dẫn cài đặt: Viết cách hướng dẫn (hình vẽ) cài đặt ứng dụng 9.3 Thử nghiệm: 9.3.1 Kết quả thử nghiệm của ứng dụng: 9.3.2 So sánh với các ứng dụng E-mail di động hiện có thị trường: Chương 10: Tổng kết 10.1 Kết luận: 10.1.1 10.1.2 10.2 Kết quả đạt được: Hạn chế: Hướng phát triển: 10.2.1 Phát triển các dòng máy BlackBerry: 10.2.2 Phát triển các dòng máy khác: PHẦN 4: PHỤ LỤC Phụ lục A: SDKs và chương trình HelloWorld Phụ lục B: Các giao thức mail Phụ lục C: Tài liệu tham khảo Tài liệu dạng văn bản: Josh Schiffman – BlackBerry OS Report – Network and security Research Center, Department of computer Science and engineering, pennsylvania State Univercity, University Park PA BlackBerry Forum – Blackberry Development Documents – Research In Motion BlackBerry JDE 4.7 API References – BlackBerry 4.7 SDK BlackBerry Forum – Writing You Frist Application V5 – Research In Motion BlackBerry Forum – How And When To Sign V2 – Research In Motion Logic mail – Logicmail Development Blog – 2008 - 2009 BlackBerry Forum – Storing Persistent Data V2 – Research In Motion BlackBerry Developer Journal Team – BlackBerry Developer Journal Volume 2, issue Các website: www.Blackberry.com www.codeproject.com www.java2s.com www.wikipedia.org www.thinkingblackberry.com http://en.wikipedia.org/wiki/Base64 http://en.wikipedia.org/wiki/Quoted-printable http://www.tcpipguide.com/free/t_MIMECompositeMediaTypesMultipartandEncaps ulatedMes-4.htm https://www.logicprobe.org/proj/logicmail/ http://na.blackberry.com/eng /developers/ ... cấp cho ứng dụng khả truy cập vào trình duyệt BlackBerry Gói cung cấp cho ứng dụng khả truy cập vào ứng dụng có sẵn BlackBerry lịch công việc, tin nhắn, sổ ghi chép ứng dụng mạng điện thoại Gọi... triển ứng dụng thêm menu vào chương trình BlackBerry Gói cho phép người phát triển ứng dụng thêm tùy chọn chương trình vào danh sách tùy chọn có sẵn máy BlackBerry Gói cung cấp cho ứng dụng khả... điện thoại BlackBerry, trừ loại điện thoại cảm ứng dịng sử dụng bàn phím SureType Bàn phím QWERTY máy BlackBerry Curve 8900 (Nguồn: ecvv.com) Một số điện thoại phân phối Bĩ Pháp sử dụng bàn phím