Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 164 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
164
Dung lượng
2,56 MB
Nội dung
C 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 đƣợc 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 D n s n H n 1.1 - Cấu trúc mạng Blackberry H n 1.2 - Trackwheel máy BlackBerry 8700 H n 1.3 - Trackball điện thoại BlackBerry Pearl 8100 .9 H n 1.4 - Trackpad điện thoại Blackberry Bold 9700 .10 H n 1.5 - Touc screen điện thoại Blackberry Storm 9500 10 H n 1.6 - Bàn phím QWERTY máy BlackBerry Curve 8900 11 H n 1.7 - Bàn phím AZERTY Trên máy BlackBerry Curve 8900 12 H n 1.8 - Bàn p ím SureType điện thoại BlackBerry 8100 .13 H n 1.9 - Bàn phím ảo SureType máy Blackberry 8550 13 H n 1.10 - Giao diện Research In Motion OS 5.0 16 H n 4.1 - Quá tr n trao đổi liệu giao thức SMTP 35 H n 4.2 - Giao tác Client Server giao thức SMTP 36 H n 4.3 - Mơ hình hoạt động POP3 44 H n 4.4 - Trạng thái chứng thực POP3 45 H n 4.5 - Trạng thái giao tác POP3 46 H n 4.6 - Mơ hình hoạt động IMAP4 .52 H n 5.1 - Quá trình chuyển đổi mẫu E-mail gởi mail tới người dùng .82 H n 5.2 - Quá trình tự động nhận E-mail c ương tr n 84 H n 5.3 n ệ t ng USH E-MAIL 86 H n 5.4 - Sơ đồ quản lý Persistent Data máy BlackBerry .90 H n 5.5 - Cấu trúc lưu trữ danh sách cấu hình E-mail 92 H n 6.6 - Sơ đồ lớp quản lý E-mail 125 H n 6.7 - Thành phần lớp quản lý cấu n lưu trữ 125 H n 6.8 - Quá trình nhận E-mail giao thức IMAP .126 H n 6.9 - Quá trình nhận E-mail giao thức POP 126 H n 6.10 - Xử lý hiển thị nội dung E-mail 127 H n 6.11 - Xử lý Attachment E-mail 127 H n 6.12 - Đóng gói gởi E-mail .128 H n 6.13 - Các trạng thái chuyển đổi c ương tr n .128 H n A.1 - Kiến trúc mạng BlackBerry 138 H n A.2 - Cài đặt để kết nối BES 139 H n A.3 - Tạo Workspace để quản lý công việc 141 H n A.4 - Tạo c ương tr n 141 H n A.5 - Thêm tập tin vào c ương tr n 141 H nh A.6 - Đưa tập tin vào c ương tr n 142 D n s n Bảng 1.1 - Các phiên hệ điều hành Research In Motion 15 Bảng - Các gói API cần phải ký trước sử dụng 26 Bảng 4.1 - Các địn ng ĩa mở rộng SMTP .38 Bảng 4.2 - Các câu lệnh trả SMTP .42 Bảng 5.1 - Các ký tự Unicode tổ hợp 96 Bảng 6.2 - Các yêu cầu c ương tr n 101 Bảng 6.3 - Dan sác actor 101 Bảng 6.4 - Dan sác use-case 103 Bảng A.1 - C ương tr n HelloWorld .143 Bảng A.2 - Cấu trúc tập tin alx .145 Bảng B.3 - Chữ số “y” 157 Bảng B.4 - Bảng mã chuyển đổi Base64 159 Bảng B.5 - Ví dụ chuyển đổi mã Base64 159 Bảng B.6 - Các đán số thành phần MIME 161 Chƣơng 1: Tổng quan hệ điều hành Research In Motion T C C U V Nội dung luận văn đƣợc chia làm phần chƣơng: PHẦ 1: Ơ TRƯ NG L P TRÌNH BLACKBERRY C ươn 1: Tổng quan hệ điều hành Research In Motion(RIM): Giới thiệu tổng quan công ty Research In Motion, tổng quan hệ điều hành Research In Motion, sơ lƣợc phiên hệ điều hành Research In Motion nhƣ tổng quan hệ điều hành Research In Motion phiên 5.0 C ươn 2:Bl kBerry o ile: Giới thiệu tổng quan thiết bị di động BlackBerry công ty Research In Motion Tổng quan lịch sử, dòng máy, đặc điểm thiết bị di động Blackberry C ươn 3: ập trình với Blackberry API: Giới thiệu vấn đề lập trình điện thoại BlackBerry PHẦ 2: C C ươn 4: C SỞ LÝ THUYẾT i o t ức gởi nhận E-mail: Giới thiệu trình bày giao thức việc gởi nhận E-mail, bao gồm tổng quan, lịch sử, câu lệnh sử dụng giao thức C ươn 5: Pus E-mail Pull E-mail: Giới thiệu phân biệt Push E-mail Pull E-mail - cách để lấy E-mail từ E-mail Server PHẦN 3: XÂY DỰNG C ươn 6: C NG DỤNG GỞI VÀ NH N E-MAIL kĩ t uật xử lý ứng dụng: Các kĩ thuật giải pháp để xử lý giải vấn đề đặt trình xây dựng ứng dụng gởi nhận Email Blackberry C ươn 7: P ân tí t iết kế: Phân tích, thiết kế chức chƣơng trình, thiệt kế lớp, thiết kế hình, thiết kế lƣu đồ hoạt động trình bày số vấn đề quan trọng khác liên quan tới việc xây dựng ứng dụng Chƣơng 1: Tổng quan hệ điều hành Research In Motion C ươn 8: Cài đặt thử nghiệm: Giới thiệu môi trƣờng phát triển cài đặt ứng dụng, thử nghiệm ứng dụng môi trƣờng máy ảo thực tế C ươn 9: Tổng kết: Trình bày kết đạt đƣợc, hạn chế, vấn đề tồn tại, hƣớng phát triển tƣơng lai Chƣơng 1: Tổng quan hệ điều hành Research In Motion L I NÓ ẦU Hiện nay, công nghệ thông tin phát triển mạnh mẽ trở thành ngành công nghiệp mũi nhọn nhiều quốc gia Máy tính ngày trở nên phổ biến, xuất nhiều gia đình trở thành công cụ thiếu nhiều ngƣời Bên cạnh phát triển ngành công nghệ thông tin không nhắc tới phát triển Internet Sự xuất phát triển Internet đáp ứng đƣợc nhu cầu ngƣời giải trí, làm việc, học tập giao tiếp.v.v Internet xuất đáp ứng đƣợc nhu cầu giao tiếp từ xa ngƣời, với Internet, ngƣời từ khắp nơi liên kết vào mạng toàn cầu, giúp cho khả giao tiếp từ xa ngƣời dễ dàng Trong E-mail xuất góp phần giúp cho việc giao tiếp từ xa ngƣời dễ dàng nhiều Công nghệ E-mail ngày phát triển bên cạnh phát triển Internet, nhiều E-mail Server đƣợc lập Từ E-mail Server cung cấp miễn phí cho ngƣời dùng nhƣ Yahoo, Gmail, Hotmail.v.v Cho tới E-mail Server dùng riêng cho doanh nghiệp Nhu cầu E-mail ngƣời lớn Việc gởi nhận E-mail trở thành phần thiếu nhiều ngƣời Nhu cầu gởi nhận Email nơi trở thành nhu cầu cấp thiết Sự đời thiết bị di động đáp ứng đƣợc phần nhu cầu ngƣời, dựa vào đặc tính nhỏ gọn di động Thiết bị di động đáp ứng đƣợc nhiều nhu cầu ngƣời, có việc gởi nhận E-mail Ngày nay, việc gởi nhận E-mail thiết bị di động trở nên phổ biến Có nhiều giải pháp để thực vấn đề nhƣ Microsoft phát triển Microsoft Exchange Server để quản lý việc gởi nhận E-mail, BlackBerry Server quản lý việc gởi nhận Email cho điện thoại BlackBerry.v.v Trong đó, BlackBerry có ƣu vƣợt trội khả gởi nhận E-mail thiết bị di động BlackBerry dần chiếm lĩnh phần lớn thị phần thiết bị di động thông minh Chƣơng 1: Tổng quan hệ điều hành Research In Motion Xuất phát từ lý trên, chúng em thực đề tài “NGHIÊN C U VÀ XÂY DỰNG NG DỤNG GỞI VÀ NH N E- A TRÊ ỆN THOẠI BLACKBERRY” Trong đề tài này, chúng em xây dựng chƣơng trình giúp việc gởi nhận E-mail điện thoại BlackBerry, cụ thể điện thoại BlackBerry sử dụng tảng hệ điều hành Research In Motion phiên 5.0 Mục tiêu đề tài xây dựng chƣơng trình giúp cho việc gởi nhận E-mail thông qua điện thoại BlackBerry sử dụng hệ điều hành Research In Motion phiên 5.0 Giúp ngƣời dùng gởi nhận E-mail dễ dàng thiết bị thông minh BlackBerry hãng Research In Motion Các nội dung đề tài bao gồm: Tìm hiểu cơng nghệ gởi nhận E-mail Tìm hiểu hệ điều hành Research In Motion thiết bị di động BlackBerry Research In Motion Tìm hiểu số vấn đề lập trình hệ điều hành Research In Motion Tìm hiểu lập trình mạng BlackBerry Xây dựng ứng dụng chạy thiết bị di động BlackBerry hãng Research In Motion để gởi nhận E-mail Chƣơng 1: Tổng quan hệ điều hành Research In Motion P Ầ 1: Ô TRƯ P TR B AC BERRY C ươn 1: Tổn qu n ệ điều àn Rese r iến tr 1.1 Rese r n In Motion (RIM) otion OS: 1.1.1 Hệ điều hành Research In Motion (RIM OS) đƣợc phát triển công ty Research In Motion, đƣợc 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 nhƣ lịch, công việc, địa chỉ, E-mail thích nhƣ 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 Chƣơng 1: Tổng quan hệ điều hành Research In Motion Các chức đƣợc thực phần mềm BES1, phần mềm phần hệ điều hành Một phiên cải tiến BES BIS2 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 POP33, IMAP4 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ụ đƣợc điều hành RIM, đƣợc cung cấp thông qua nhà cung cấp dịch vụ di động Các phiên cập nhật đƣợc tải thơng qua dịch vụ tải OTASL5 cung cấp hệ điều hành BlackBerry H n 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, 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 Hệ điều hành Research In Motion đƣợc sử dụng cho máy hãng BlackBerry Vì đƣợc sử dụng phƣơng thức nhập liệu sau: BlackBerry Enterprise Server BlackBerry Internet Service Post Office Protocol Internet Message Access Protocol Air Software Loading Chƣơng 1: Tổng quan hệ điều hành Research In Motion a) ậ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ũ nhƣ 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 shift6 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 n 1.2 - 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 Nút Shift hay nút Alt tùy theo dòng máy Cấu trúc header: image-type := “image” “/” (“gif” / “jpeg” / extension-token) Audio: cho biết nội dung phần file âm Subtype đƣợc sử dụng Cấu “basic” trúc header: audio-type := “audio” “/” (“basic” / extension-token) Video: nội dung Cấu phần file trúc phim ảnh header: video-type := “video” “/” (“mpeg” / extension-token) Multipart: phần thân bao gồm hay nhiều phần liệu khác (body part) kết hợp với Phần định nghĩa “multipart” Content-Type phải xuất header, phần thân gồm hay nhiều phần Mỗi phần phân biệt cách đƣờng biên (boundary) Boundary không đƣợc xuất phần thân body part, phải có cách phát sinh boundary Mỗi phần gồm phần header nó, dịng trống theo sau phần thân Chỉ header bắt đầu Content- có ý nghĩa phần header body part o boundary không đƣợc dài 70 kí tự (khơng bao gồm dấu „-„ dầu dòng Với boundary theo sau part cuối đƣợc gắn thêm dấu „„ vào cuối o Tham số boundary bắt buộc phải có “multipart” Content-Type MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="exampledelimtext123" This is a multipart message in MIME format exampledelimtext123 Content-Type: Jane, here is text/plain the photo you wanted me for the new client Here are some notes (Blah Talk on how it was blah to processed blah…) you soon,Joe exampledelimtext123 Content-Type: image/jpeg; name="clientphoto.jpg" Content-Transfer-Encoding: base64 SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs … zv/wAARCADIARoDASIAAhEBAxEB/8QAHAAAAQUBA exampledelimtext123-Bảng B.1 - Ví dụ tập tin MIME Cấu trúc boundary đƣợc định nghĩa nhƣ sau: boundary := 0*69 bcharsnospace bchars := bcharsnospace / " " bcharsnospace := DIGIT / ALPHA / "'" / "(" / ")" / "+" /"_" / "," / "-" / "." / "/" / ":" / "=" / "?" Multipart/mixed: đƣợc dùng body part độc lập với cần đƣợc giữ theo trật tự Bất kì subtype multipart khơng thể nhận biết phải đƣợc xem nhƣ “mixed” Multipart/alternative: body part đƣợc xem nhƣ thay biểu diễn nội dung thông tin Hệ thống chọn cách tốt để hiển thị nội dung Thứ tự part “multipart/alternative” mang ý nghĩa tính xác liệu gốc tăng dần Và thƣờng hệ thống chọn phần sau đƣợc hỗ trợ để hiển thị nội dung Mỗi phần nên có Content-ID, giá trị giống nội dung phần giống hệt nên khác nội dung phần khơng giống hồn tồn Các Content-ID khác với Content-ID toàn entity “multipart/alternative” Multipart/digest: đƣợc dùng để gửi tập message dạng văn Nhƣng giá trị mặc định Content-Type phần “message/rfc822” Multipart/parallel: dùng để hiển thị tất phần đồng thời phần cứng phần mềm mà hỗ trợ Ví dụ, hiển thị hình ảnh chơi nhạc H n B - Cấu trúc message kiểu multipart guồn T e TC I Guide - www.tcpipguide.com) Message: cho phép message chứa messages khác chứa trỏ trỏ tới message khác message/rfc822: Phần thân message chứa message khác theo cấu trúc RFC822 message Tuy nhiên phần thân “message/rfc822” không yêu cầu trƣờng “From”, “Subject”, “To” Một message “message/rfc822” MIME message message/partial: đƣợc định nghĩa nhằm cho phép gửi đối tƣợng liệu có kích thƣớc lớn qua nhiều đoạn message khác nhau, sau tự động hợp lại với thành message hồn chỉnh Chỉ có 7bit Content-Transfer-Encoding đƣợc dùng trƣờng hợp Có tham số bắt buộc phải có dùng “message/partial” Content-Type id, number total Id giá trị để kết hợp phần lại với Nếu nhƣ id cho biết phần thuộc message number cho biết thứ tự phần có giá trị số tự nhiên Tham số cuối total, số tự nhiên cho biết tổng số phần đƣợc tách message Tham số buộc phải có phần cuối nhƣng nên dùng tất phần Chú ý giá trị tham số number Khi phát sinh hợp phần message, header message đƣợc gói gọn phải đƣợc kết hợp với header message bao quanh bên theo quy tắc sau: (1) Tất trƣờng header part (enclosing entity), ngoại trừ trƣờng bắt đầu “Content-“ trƣờng “Message-ID”, “Encrypted” “MIME-Version” phải đƣợc chép theo thứ tự sang message (2) Chỉ trƣờng header (enclosed message) bắt đầu “Content-” trƣờng “Message-ID”, “Encrypted”, “MIMEVersion” phải đƣợc thêm theo thứ tự vào header message (3) Tất trƣờng header message message thứ bị bỏ qua Ví dụ: Một message đƣợc tách thành phần, phần thứ có nội dung: X-Weird-Header-1: Foo From: Bill@host.com Enclosing entity To: joe@otherhost.com Subject: Audio mail Message-ID: MIME-Version: 1.0 Content-type: message/partial; id="ABC@host.com"; number=1; total=2 X-Weird-Header-1: Bar Enclosed message X-Weird-Header-2: Hello Message-ID: MIME-Version: 1.0 Content-type: audio/basic Content-transfer-encoding: base64 Phần first half of encoded thứ audio có data goes nội here dung: From: Bill@host.com To: joe@otherhost.com Subject: Audio mail MIME-Version: 1.0 Message-ID: Content-type: message/partial; id="ABC@host.com"; number=2; total=2 second half of encoded audio data goes here Theo quy tắc message đƣợc hợp có nội dung: X-Weird-Header-1: Foo From: Bill@host.com To: joe@otherhost.com Subject: Audio mail Message-ID: MIME-Version: 1.0 Content-type: audio/basic Content-transfer-encoding: base64 first half of encoded audio data goes here second half of encoded audio data goes here message/external-body: Cho phép nội dung message nằm bên message đƣợc tham chiều tới message Tham số buộc phải có sử dụng “message/external-body” “access-type”, cho biết chế truy cập file Một số chế thƣờng sử dụng: (1) “FTP” “TFTP”: truy cập file thông qua giao thức FTP TFTP Với truy cập này, sử dụng tham số NAME, SIZE, DIRECTORY MODE (NETASCII, OCTET MAIL cho TFTP; ASCII, EBCDIC, IMAGE, LOCAL8 cho FTP) Nếu tham số MODE không đƣợc định, mặc định giá trị NETASCII cho TFTP ASCII cho FTP (2) “non-ftp”: giống nhƣ FTP ngoại trừ không dùng username password để đăng nhập mà đăng nhập dạng ẩn danh (anonymous) với password ứng với tài khoản email sử dụng (3) “local-file” “afs”: “local-file” cho biết file đƣợc truy cập nằm máy cục “afs” cho biết file đƣợc truy cập thông qua hệ thống file AFS Tham số bắt buộc NAME có giá trị tên file Có thể dùng thêm tham số SITE để máy tính có quyền truy cập nội dung file (4) “mail-server”: nội dung thực nằm mail server Tham số bắt buộc SERVER chứa địa mail mail server chứa nội dung liệu “message/external-body” phải sử dụng trƣờng Content-ID header với giá trị để tham chiếu tới phần liệu bên Content-Transfer-Encoding: Dùng để chế biến đổi đƣợc dùng để biểu diễn nội dung phần thân thành dạng truyền đƣợc protocols giới hạn tập kí tự chuyển qua Nhờ bên nhận biết cách để chuyển ngƣợc lại liệu gốc ban đầu Một số chế thƣờng dùng: o “7bit” (phân biệt hoa thƣờng): o “quoted-printable” o “base64” o “8bit” o “binary” o x-token 7bit giá trị mặc định 7bit, 8bit binary chủ yếu dùng để loại liệu chứa đối tƣợng 7bit bao gồm dòng ngắn (