Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 79 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
79
Dung lượng
9,01 MB
Nội dung
LỜI CẢM ƠN Trước hết, em xin chân thành cảm ơn Trường đại học Công nghệ thông tin truyền thông, Khoa công nghệ thông tin, Bộ môn Công nghệ phần mềm tạo điều kiện thuận lợi cho em hoàn thành đồ án tốt nghiệp Em xin chân thành cảm ơn cô Ngô Thị Lan tận tình hướng dẫn bảo em suốt thời gian thực đồ án tốt nghiệp Mặc dù cố gắng hoàn thành đồ án phạm vi khả cho phép chắn tránh khỏi thiếu xót Em kính mong nhận bảo từ phía thầy cô bạn Em xin chân thành cảm ơn! Sinh viên Lã Thị Hường Tháng 6/2012 LỜI CAM ĐOAN Em xin cam đoan kết đồ án “Xây dựng phát triển ứng dụng Chat Instant Messages sử dụng giao thức XMPP (Extensible Messaging and Presence Protocol) cho hệ điều hành Android” nghiên cứu em, không chép Nội dung đồ án có tham khảo, sử dụng tài liệu, thông tin từ số nguồn khác trích dẫn phần tài liệu tham khảo, số website Nếu có giả dối em xin hoàn toàn chịu trách nhiệm Tác giả đồ án Lã Thị Hường MỤC LỤC MỤC LỤC DANH MỤC HÌNH VẼ DANH MỤC BẢNG BIỂU LỜI MỞ ĐẦU CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 2.1.4.Lập trình Android .25 CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH 46 KẾT LUẬN 77 KẾT QUẢ ĐẠT ĐƯỢC .77 ƯU ĐIỂM 77 KHUYẾT ĐIỂM 78 HƯỚNG PHÁT TRIỂN .78 TÀI LIỆU THAM KHẢO 78 DANH MỤC HÌNH VẼ Hình 2-0 Biểu đồ tỷ lệ sở hữu Smartphone Hình 2-1 Biểu tượng hệ điều hành Android Hình 2-2 Kiến trúc HĐH Android Hình 2-3 Các loại thiết bị sử dụng hệ điều hành Android Hình 2-4 Thị phần theo phiên Android Hình 2-5 Thị phần theo phiên thời gian Android Hình 2-6 Kiến trúc Android Hình 2-7 Vòng đời Activity Hình 2-8 Giao diện Openfire Window7 Hình 2-9 Giao diện Admin Openfire Window7 Hình 2-10 Giao diện hệ quản trị sở liệu MySQL Hình 2-11 Giao diện máy khách Spark Hình 3-0 Mô hình liệu quan niệm Hình 3-1 Biểu đồ UC Hình 3-2 Mô hình xử lý đăng nhập Hình 3-3 Mô hình xử lý đăng xuất Hình 3-4 Mô hình luồng xử lý gửi tin nhắn online Hình 3-5 Mô hình luồng xử lý gửi tin nhắn offline Hình 3-6 Mô hình xử lý thêm Friend Hình 3-7 Mô hình xử lý xóa Friend Hình 3-8 Mô hình lớp DataLayer Hình 3-9 Mô hình lớp Database Hình 3-10 Mô hình lớp ImageListBoxItem Hình 3-11 Mô hình lớp ImageListBox Hình 3-1 Mô hình lớp Settings Hình 3-2 Mô hình lớp TabControlEx Hình 3-14 Mô hình lớp MyDataPack Hình 3-15 Mô hình ClientHandler Hình 3-16 Mô hình liệu mức vật lý Hình 3-17 Giao diện hình Login Hình 3-18 Tùy chọn menu Hình 3-19 Cấu hình kết nối Server Hình 3-20 Thông báo cấu hình server Hình 3-21 Giao diện hình đăng ký Hình 3-22 Giao diện hình chờ kết nối Hình 3-23 Giao diện hình danh sách bạn bè Hình 3-24 Giao diện hình Chat máy Android máy Spark Hình 3-25 Giao diện hình có tin nhắn đến Hình 3-26 Giao diện hình thêm bạn Hình 3-27 Giao diện hình chọn group DANH MỤC BẢNG BIỂU Bảng 3-1 Table Users Bảng 3-2 Table FriendList Bảng 3-3 Table OfflineMessage Table GroupDetail Bảng 3-4 LỜI MỞ ĐẦU “Xây dựng phát triển ứng dụng Chat Instant Messages sử dụng giao thức XMPP (Extensible Messaging and Presence Protocol – Giao thức mở nhắn tin diện trực tuyến) cho hệ điều hành Android.” Đây phần mềm nhằm mục đích truyền thông, nhắn tin tức thời sử dụng cho Mobile Client chạy hệ điều hành Android 2.2, dựa việc kết nối với máy chủ sử dụng giao thức XMPP (XMPP Server – Hay Jabber Server) XMPP (Extensible Messaging and Presence Protocol – Giao thức mở nhắn tin diện trực tuyến), trước Jabber, giao thức mở dựa tảng XML dùng nhắn tin nhanh (Instant Messages) thông tin diện trực tuyến (Presense information) tổ chức XMPP Standard Foundation (trước Jabber Software Foundation JSP) quản lý Xuất phát từ nhu cầu mở rộng truyền thông liên lạc mạnh mẽ diễn sau bùng nổ Internet ngày nay, với phát triển rầm rộ giao thức mở cộng đồng công nghệ nhiều tập đoàn công nghệ lớn giới sử dụng phát triển Đồng thời xuất phát từ nhu cầu sử dụng điện thoại di động Android phát triển vũ bão thời gian gần Đề tài em mong muốn tiếp cận với công nghệ xây dựng phần mềm Chat sử dụng giao thức mở XMPP XMPP Client sử dụng cho điện thoại di động dùng hệ điều hành Android Và em mong muốn sau thực xong đề tài em hoàn thiện số tính khác mà phạm vi đồ án em chưa thể hoàn thành để phần mềm vào thực tế hoạt động Phần mềm em xây dựng dựa nhu cầu phận đối tượng khách hàng công ty, quan phòng ban sử dụng Openfire server (Một loại máy chủ XMPP - em trình bày Chương đồ án) việc truyền thông giao tiếp mạng cục intranet Vốn tại, để sử dụng truyền thông giao tiếp mạng Openfire, người dùng phải sử dụng phần mềm Spark Client, phần mềm sử dụng cho máy destop laptop, notebook…, chạy hệ điều hành Android Dựa mong muốn nhóm khách hàng muốn sở hữu phần mềm có khả giao tiếp mạng Openfire cho máy điện thoại Android, người dùng vừa di chuyển khỏi bàn làm việc với điện thoại Android mà truyền tải thông điệp mạng Nhiệm vụ đồ án em xây dựng phần mềm Chat Client cho hệ điều hành Android sử dụng giao thức XMPP kết nối với XMPP Server Openfire, người dùng sau đăng ký lưu vào sở liệu quản trị Administrator Openfire Server Khi có tài khoản Server người dùng đăng nhập Chat, nhắn tin với người dùng khác kết nối vào Server Điểm khác biệt phần mềm với phần mềm thương mại Android khác là: Khi kết nối vào Openfire server người dùng sử dụng phần mềm Chat với người kết nối vào Openfire server không sử dụng phần mềm mà phần mềm khác (trong đề tài em nghiên cứu với Spark client) CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Tổng quan phát triển phần mềm Phát triển phần mềm việc chuyển nhu cầu người dùng mục tiêu tiếp thị thành sản phẩm phần mềm Phát triển phần mềm hiểu bao gồm trình kỹ nghệ phần mềm cộng với nghiên cứu mục tiêu tiếp thị phần mềm để phát triển sản phẩm phần mềm máy tính Kỹ nghệ phần mềm áp dụng cách tiếp cận có hệ thống, có kỷ luật, định lượng cho việc phát triển, sử dụng bảo trì phần mềm Ngành học kỹ nghệ phần mềm bao trùm kiến thức, công cụ, phương pháp cho việc định nghĩa yêu cầu phần mềm, thực tác vụ thiết kế, xây dựng, kiểm thử (software testing), bảo trì phần mềm Quy trình phát triển phần mềm cấu trúc bao gồm tập hợp thao tác kết tương quan sử dụng việc phát triển để sản xuất sản phẩm phần mềm Các thuật ngữ tương tự vòng đời phần mềm quy trình phần mềm Đây coi thành phần tập vòng đời phát triển hệ thống Có số mô hình cho việc xây dựng quy trình này, mô hình mô tả phương thức nhiệm vụ thao tác cần thực trình Nhiều người coi mô hình vòng đời thuật ngữ phạm vi rộng quy trình phát triển phần mềm thuật ngữ mức chi tiết cụ thể Ví dụ, có nhiều quy trình phát triển phần mềm tuân theo mô hình vòng đời xoắn ốc ISO/IEC 12207 tiêu chuẩn quốc tế cho quy trình vòng đời phần mềm, mục đích trở thành tiêu chuẩn định nghĩa tất công việc cần thực để xây dựng bảo trì sản phẩm phần mềm 1.2 Phát triển phần mềm hướng chức Đây lối tiếp cận truyền thống ngành Công nghệ phần mềm Theo lối tiếp cận này, quan tâm chủ yếu tới thông tin mà hệ thống giữ gìn Chúng ta hỏi người dùng xem họ cần thông tin nào, thiết kế ngân hàng liệu để chứa thông tin đó, cung cấp Forms để nhập thông tin in báo cáo để trình bày thông tin Nói cách khác, tập trung vào thông tin không để ý đến xảy với hệ thống cách hoạt động (ứng xử) hệ thống Đây lối tiệm cận xoay quanh liệu áp dụng để tạo nên hàng ngàn hệ thống suốt nhiều năm trời Lối tiếp cận xoay quanh liệu phương pháp tốt cho việc thiết kế ngân hàng liệu nắm bắt thông tin, áp dụng cho việc thiết kế ứng dụng lại khiến phát sinh nhiều khó khăn Một thách thức lớn yêu cầu hệ thống thường xuyên thay đổi Một hệ thống xoay quanh liệu dể dàng xử lý việc thay đổi ngân hàng liệu, lại khó thực thi thay đổi nguyên tắc nghiệp vụ hay cách hoạt động hệ thống Phương pháp hướng đối tượng phát triển để trả lời cho vấn đề Với lối tiếp cận hướng đối tượng, tập trung vào hai mặt vấn đề : thông tin cách hoạt động 1.3 Phát triển phần mềm hướng đối tượng Hướng đối tượng thuật ngữ thông dụng thời ngành công nghiệp phần mềm Các công ty nhanh chóng tìm cách áp dụng tích hợp công nghệ vào ứng dụng họ Thật đa phần ứng dụng thời mang tính hướng đối tượng Nhưng hướng đối tượng có nghĩa gì? Lối tiếp cận hướng đối tượng lối tư vấn đề theo lối ánh xạ thành phần toán vào đối tượng đời thực Với lối tiếp cận này, chia ứng dụng thành thành phần nhỏ, gọi đối tượng, chúng tương đối độc lập với Sau ta xây dựng ứng dụng cách chắp đối tượng lại với Hãy nghĩ đến trò chơi xây lâu đài mẫu gỗ Bước tạo hay mua vài loại mẫu gỗ bản, từ tạo nên khối xây dựng Một có khối xây dựng đó, bạn chắp ráp chúng lại với để tạo lâu đài Tương tự xây dựng số đối tượng giới máy tính, bạn chắp chúng lại với để tạo ứng dụng Và ứng dụng sẽ nhận diện giải đáp xoay quanh đối tượng Ví dụ: vấn đề rút tiền mặt nhà băng Các “mẫu gỗ“ thành phần ánh xạ đối tượng đời thực tài khoản, nhân viên, khách hàng 1.4 Lý lựa chọn phương pháp phát triển phần mềm hướng đối tượng cho đồ án tốt nghiệp Lối tiếp cận xoay quanh liệu phương pháp tốt cho việc thiết kế ngân hàng liệu nắm bắt thông tin, áp dụng cho việc thiết kế ứng dụng lại khiến phát sinh nhiều khó khăn Một thách thức lớn yêu cầu 10 Table GroupDetail Chức năng: Lưu thông tin chi tiết nhóm Chat Danh sách thuộc tính: STT Tên thuộc tính GroupID Kiểu liệu int (4) FriendID int (4) Diễn giải ID Group, Khóa ID của User thành viên Group, Khóa Bảng 3-4 Table GroupDetail 3.2.4 Mô tả ràng buộc toàn vẹn Ràng buộc 1: Username Table Users không trùng Ràng buộc 2: UserID FriendID Table FriendList phải tồn Table Users Ràng buộc 4: FriendID Table GroupDetail phải tồn Table Users Ràng buộc 5: SenderID UserID Table OfflineMessage phải tồn Table Users 3.3 Cài đặt Chương trình gồm gói cài đặt: Gói giao diện ứng dụng gồm file cài đặt Login.java Display.java AddFriend.java NewAccount.java ServerConfig.java StartActivity.java Talk.java Gói chức có thao tác tới database gồm file cài đặt AccountInfo.java DatabaseHelper.java HistoryMessage.java HistoryMessageProvider.java IMessage.java Server.java ServerProvider.java User.java UserProvider.java Gói điều khiển gồm file cài đặt AndroidIM.java 65 IMControl.java Các gói smack thực kết nối API tới server XMPP 3.4 Kết cài đặt Hình 3-17 Giao diện hình Login 66 Hình 3-18 Tùy chọn menu 67 Hình 3-19 Cấu hình kết nối Server 68 Hình 3-20 Thông báo cấu hình server 69 Hình 3-21 Giao diện hình đăng ký 70 Hình 3-22 Giao diện hình chờ kết nối 71 Hình 3-23 Giao diện hình danh sách bạn bè 72 Hình 3-24 Giao diện hình Chat máy Android máy Spark 73 Hình 3-25 Giao diện hình có tin nhắn đến 74 Hình 3-26 Giao diện hình thêm bạn 75 Hình 3-27 Giao diện hình chọn group 76 KẾT LUẬN KẾT QUẢ ĐẠT ĐƯỢC Qua trình làm đồ án, em có hội nghiên cứu tìm hiểu nhiều kiến thức mẻ bổ ích hệ điều hành Android lần xây dựng ứng dụng Android nhỏ có ý nghĩa tiền đề quan trọng cho phát triển tương lai Trong thời gian nghiên cứu phát triển ứng dụng, em củng cố hoàn thiện kỹ kiến thức lập trình Java, phát triển phần mềm, đồng thời học thêm kiến thức mới: Nắm vững kiến thức quản trị Openserver – sử dụng công ty tổ chức Nắm vững kiến hệ điều hành Android, chế biên dịch máy ảo chạy ứng dụng Android; hiểu rõ phận làm việc Android phong cách code ứng dụng Android Sử dụng thư viện kết nối Smack API – phổ biến giới, nước mẻ Ý thức phần cộng đồng nhà phát triển ứng dụng Android Kỹ tìm kiếm mạng hỏi diễn đàn nước vấn đề Các diễn đàn thường hay ghé thăm hỏi Stack Overflow Yahoo Answers Kỹ dịch tài liệu tiếng anh Kinh nghiệm làm việc khoảng thời gian cho phép Phát triển với môi trường có hạn chế vật lý thiết bị di động thật nguồn động lực để em đưa giải pháp mới, sáng tạo việc xử lí liệu để ứng dụng xử lí nhanh không hao tốn nhiều tài nguyên, so với theo lối mòn sử dụng thư viện có sẵn phát triển tảng PC trước Các cấu trúc liệu với hàng loạt thuật giải tìm kiếm liệu học trình tìm tòi sử dụng kiến thức quý giá có ích sau Ngoài ra, em củng cố lý thuyết học trải nghiệm số kiến thức nhà trường phát triển sản phẩm dựa giao thức mở XMPP ƯU ĐIỂM Android_IM ứng dụng mã nguồn mở, người góp sức xây dựng phát triển Giao diện thân thiện, dễ sử dụng 77 Có thể sử dụng thiết bị di động sử dụng hệ điều hành Android version 1.5 trở lên Hữu ích cho người dùng sử dụng hệ thống chat với Openfire Server di động Kết nối qua Smack API song chat với máy Spark client KHUYẾT ĐIỂM Vẫn số lỗi chưa khắc phục kịp Phải config thủ công Andress trước kết nối Server Chưa cung cấp nhiều khả cấu hình ứng dụng cho người dùng, ví dụ thay đổi màu sắc, thay đổi phông kết hiển thị Chưa có presence mode HƯỚNG PHÁT TRIỂN Nếu tiếp tục phát triển, em dự định phát triển Android_IM hướng đến giao diện máy Spark client, có tính tương tự Spark Client cho Android, hệ thống cung cấp Adress IP Port kết nối Client to Server cách tự động TÀI LIỆU THAM KHẢO Tiếng Anh: [1] Clean Code – Robert C.Martin 78 [2] Design Patterns: Elements of Reusable Object-Oriented Software – Gang of Four [3] Head First Design Pattern – O’Relly [4] Effective Java 2nd Edition – Joshua Bloch Tiếng Việt: [1] Đặng Văn Đức, Phân tích thiết kế hướng đối tượng UML Website: [1] http://www.igniterealtime.org/ [2] http://stackoverflow.com/ [3] http://xmpp.org/ 79 ... MỞ ĐẦU Xây dựng phát triển ứng dụng Chat Instant Messages sử dụng giao thức XMPP (Extensible Messaging and Presence Protocol – Giao thức mở nhắn tin diện trực tuyến) cho hệ điều hành Android. ”... lưu hành toàn cầu sử dụng hệ điều hành Android - Google kích hoạt 100 triệu thiết bị sử dụng hệ điều hành Android toàn cầu Hướng phát triển Android Do mạnh phần mềm mã nguồn mở, hệ điều hành Android. .. Em xin cam đoan kết đồ án Xây dựng phát triển ứng dụng Chat Instant Messages sử dụng giao thức XMPP (Extensible Messaging and Presence Protocol) cho hệ điều hành Android nghiên cứu em, không