Xây dựng thư viện trên nền tảng android hỗ trợ các ứng dụng quản lý

59 8 0
Xây dựng thư viện trên nền tảng android hỗ trợ các ứng dụng quản lý

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƢỜNG ĐẠI HỌC SƢ PHẠM KHOA TIN HỌC  - Đề tài: XÂY DỰNG THƢ VIỆN TRÊN NỀN TẢNG ANDROID HỖ TRỢ CÁC ỨNG DỤNG QUẢN LÝ Sinh viên thực : Võ Lê Anh Thƣ Lớp : 10CNTT3 Giáo viên hƣớng dẫn : TS Nguyễn Trần Quốc Vinh Đà Nẵng, tháng 05/2014 LỜI CẢM ƠN Em xin chân thành cảm ơn thầy cô khoa tin học, trường Đại học Sư Phạm Đà Nẵng truyền đạt kiến thức quý báu cho em năm học vừa qua tạo điều kiện thuận lợi cho em học tập, thực đề tài tốt nghiệp Đặc biệt, em xin chân thành cảm ơn TS Nguyễn Trần Quốc Vinh trực tiếp, tận tình giúp đỡ hướng dẫn em suốt thời gian thực đề tài Và để có kết ngày hơm nay, em biết ơn gia đình động viên, khích lệ, tạo điều kiện thuận lợi vật chất lẫn tinh thần suốt trình học tập trình thực đề tài tốt nghiệp Mặc dù, cố gắng hoàn thành đồ án phạm vi khả cho phép chắn khơng tránh khỏi thiếu sót Em mong nhận thơng cảm, góp ý tận tình bảo quý thầy cô bạn Một lần xin chân thành cám ơn! Đà Nẵng, ngày 15 tháng 05 năm 2014 Sinh viên thực Võ Lê Anh Thư LỜI CAM ĐOAN Em xin cam đoan: Những nội dung khó luận em thực hướng dẫn trực tiếp TS Nguyễn Trần Quốc Vinh Mọi tham khảo dùng khóa luận trích dẫn rõ ràng tên tác giả, tên cơng trình, thời gian, địa điểm cơng bố Mọi chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, em xin chịu hoàn toàn trách nhiệm Sinh viên Võ Lê Anh Thư MỤC LỤC CHƢƠNG TỔNG QUAN ĐỀ TÀI VÀ CƠ SỞ LÝ THUYẾT 1.1 Bối cảnh đề tài 1.1.1 Mục đích đề tài 1.1.2 Phương pháp nghiên cứu 1.1.3 Công cụ xây dựng 1.2 Bố cục khóa luận 1.3 Cơ sở lý thuyết 1.3.1 Tìm hiểu tảng Android 1.3.2 GPS vấn đề định vị tọa độ 1.3.3 Google Map API 1.3.4 NodeJS Socket.io 1.3.5 Khả ứng dụng thực tiễn CHƢƠNG PHÂN TÍCH YÊU CẦU VÀ ĐẶC TẢ CHỨC NĂNG CỦA CHƢƠNG TRÌNH 2.1 Yêu cầu hệ thống 2.1.1 Yêu cầu chức 2.1.2 Yêu cầu phần cứng (tối thiểu) 2.1.3 Yêu cầu phần mềm 2.2 Đặc tả chức chương trình (Use-case) 10 2.2.1 Use-case tổng quát 10 2.2.2 Mô tả Actor 10 2.2.3 Mô tả use-case 11 2.3 Đặc tả yêu cầu cụ thể 12 2.3.1 Chức quản lý công việc liên quan đến GPS 12 2.3.2 Chức quản lý danh sách yêu cầu 14 2.3.3 Chức quản lý kết nối mạng Internet người dùng 15 2.3.4 Chức quản lý tin nhắn nhắc nhở từ hệ thống ứng dụng 16 2.3.5 Chức quản lý thông báo từ hệ thống ứng dụng hay người dùng 17 2.3.6 Chức quản lý tài khoản 18 2.3.7 Chức hỗ trợ xây dựng phòng chat 19 2.4 Phân tích thiết kế chức 20 2.4.1 Quản lý chức liên quan đến GPS 20 2.4.2 Quản lý danh sách yêu cầu gửi lên máy chủ ứng dụng 25 2.4.3 Quản lý thông báo từ máy chủ ứng dụng hay người dùng 28 2.4.4 Quản lý kết nối mạng Internet người dùng 30 2.4.5 Quản lý tin nhắn nhắc nhở từ máy chủ ứng dụng 32 2.4.6 Hỗ trợ xây dựng phòng chat 35 2.4.7 Quản lý tài khoản 38 2.5 Dự kiến kết đạt 39 CHƢƠNG 42 TRIỂN KHAI CHƢƠNG TRÌNH 42 3.1 Cách sử dụng thư viện Android 42 3.2 Triển khai chương trình 44 TÀI LIỆU THAM KHẢO 50 DANH MỤC HÌNH Hình – Sơ đồ use-case tổng quát 10 Hình - Use-case quản lý chức liên quan đến GPS .12 Hình - Use-case quản lý danh sách yêu cầu gửi lên máy chủ ứng dụng 14 Hình - Use-case quản lý kết nối mạng Internet người dùng 15 Hình - Use-case quản lý tin nhắn nhắc nhở từ máy chủ ứng dụng 16 Hình – Use case quản lý thông báo từ hệ thống ứng dụng hay người dùng 17 Hình - Use-case quản lý tài khoản 18 Hình - Use-case hỗ trợ xây dựng phòng chat 19 Hình – Biểu đồ lớp quản lý chức liên quan đến GPS 20 Hình 10 – Biểu đồ lớp quản lý danh sách yêu cầu gửi lên máy chủ ứng dụng 25 Hình 11 – Biểu đồ lớp quản lý thông báo từ máy chủ ứng dụng hay người dùng 28 Hình 12 – Biểu đồ lớp quản lý kết nối mạng Internet người dùng 30 Hình 13 – Biểu đồ lớp quản lý tin nhắn nhắc nhở từ máy chủ ứng dụng 32 Hình 14 – Biểu đồ lớp quản lý tài khoản .38 Hình 15 – Cấu trúc thư viện 42 Hình 16 – Tạo gói jar cho thư viện .43 Hình 17 – Hiển thị vị trí người dùng 44 Hình 18 – Vẽ đường hai vị trí 45 Hình 19 – Hiển thị vị trí gần so với vị trí người dùng 45 Hình 20 – Hiển thị vị trí gần so với địa điểm 46 Hình 21 – Nhắc nhở đèn Flash hay đèn nhấp nháy 46 Hình 22 – Nhắc nhở cách thiết lập chế độ rung 47 Hình 23 – Giao diện đăng nhập để chat 47 Hình 24 – Giao diện tạo phòng chat 48 DANH MỤC BẢNG Bảng - Mô tả Actor .10 Bảng - Mô tả use-case 11 Bảng - Danh sách chức 41 DANH MỤC TỪ VIẾT TẮT Từ viết tắt Mô tả JSON Ký hiệu đối tượng JavaScript (JavaScript Object Notation) XML Một ngôn ngữ đánh dấu mở rộng (Extensible Markup Language ) API Giao diện lập trình ứng dụng (Application Programming Interface) GPS Hệ thống định vị toàn cầu xác định vị trí dựa vệ tinh nhân tạo (Global Positioning System) SDK Bộ công cụ phát triển phần mềm Android (Software Development Kit) ADT Một plugin cho eclipse giúp mở rộng khả tương thích eclipse với ứng dụng Android (Android Development Tools) Khóa luận tốt nghiệp GVHD: TS Nguyễn Trần Quốc Vinh CHƢƠNG TỔNG QUAN ĐỀ TÀI VÀ CƠ SỞ LÝ THUYẾT 1.1 Bối cảnh đề tài Trong sống, nhu cầu thông tin liên lạc cần thiết Vô số phương pháp liên lạc đời nhằm phục vụ nhu cầu thư tín, điện thoại bàn đến thư điện tử, điện thoại di động, kết nối Wi-Fi, chat Web, Camera, Trong đó, điện thoại di động bật lên phương tiện liên lạc hữu ích nhất, tiện lợi nhất, đặc biệt người sống làm việc đô thị Nhờ chức đàm thoại trực tiếp lúc nơi, mà điện thoại di động ngày sử dụng rộng rãi Hiện giới, giới điện thoại di động phát triển không ngừng nhà sản xuất lâu đời có tên tuổi Samsung, Nokia, Motorola, Giờ đây, Google hãng tiếng Internet, tiếp tục tham vọng xâm chiếm thị trường di động việc tung gói phần mềm cho điện thoại di động Android Gói phần mềm tương thích với gần tất mẫu điện thoại thị trường Điện thoại di động không thiết bị đàm thoại thông thường mà dần trở thành điện thoại thông minh Một tiền đề thúc đẩy chuyển biến điện thoại di động nhu cầu người dùng Các bước tiến vượt bậc công nghệ giúp nhớ điện thoại di động ngày lớn, tốc độ xử lý nhanh hơn, người ta tích hợp vào máy ảnh, máy quay video, radio, chí tivi nhiều tính khác Năm 2007, Google giới thiệu Android công cụ phát triển phần mềm (GPhone), liên minh Open Handset Alliance mà Google đứng đầu Google cho biết, Android cho phép điện thoại nối mạng đơn giản máy tính, ngồi ra, có hàng triệu phần mềm, ứng dụng khác tạo ra, với điện thoại này, dù bạn dùng dịng điện thoại có tích hợp Android, bạn vào mạng Google tra cứu cập nhật thông tin hay thư giãn với thông tin giới Nhưng điều chưa đủ, người dùng mong muốn có thêm nhiều phần mềm ứng dụng nữa, ngày giới hình thành ngành cơng nghiệp phần mềm ứng dụng cho điện thoại di động, ngành công nghiệp dự báo đem lại nguồn thu lớn Từ thực tế lý trên, em xây dựng thư viện tảng Android nhằm hỗ trợ nhiều chức cho ứng dụng Android Thư viện hỗ trợ chức quản lý tài khoản, quản lý danh sách yêu cầu, quản lý kết nối mạng, xác định Võ Lê Anh Thư – 10CNTT03 Khóa luận tốt nghiệp GVHD: TS Nguyễn Trần Quốc Vinh vị trí người dùng đồ, thông báo hay nhắc nhở người dùng, hỗ trợ việc xây dựng phòng chat cho người dùng Tùy vào cho phép ứng dụng người dùng mà họ có quyền sử dụng khác 1.1.1 Mục đích đề tài Xây dựng thư viện mở rộng, linh động hỗ trợ nhiều chức cho ứng dụng Android quản lý chức liên quan đến GPS, ngồi có chức quản lý tài khoản, quản lý danh sách yêu cầu, quản lý kết nối mạng, thông báo hay nhắc nhở người dùng, hỗ trợ việc xây dựng phòng chat cho người dùng 1.1.2 Phƣơng pháp nghiên cứu  Thu thập nghiên cứu tài liệu có liên quan đến đề tài  Nghiên cứu tảng Android  Nghiên cứu GPS  Tìm hiểu sử dụng Google Map APIv2  Nghiên cứu cách gửi nhận thông tin từ máy chủ  Nghiên cứu NodeJS Socket.io  Tìm hiểu sử dụng Genymotion để chạy máy ảo Android  Phân tích yêu cầu hệ thống  Thiết kế, cài đặt kiểm thử 1.1.3 Công cụ xây dựng  SublimeText  Eclipse SDK  Thư viện Android SDK  Genymotion 1.2 Bố cục khóa luận Chương I: Tổng quan đề tài sở lý thuyết: chương trình bày vấn đề Android, NodeJS, Socket.io, GPS Google Map Chương II: Phân tích thiết kế hệ thống: chương trình bày phân tích thiết kế xây dựng ứng dụng Chương III: Triển khai chương trình: chương trình bày kết demo chương trình Hướng dẫn sử dụng số kết chạy thử nghiệm SVTH: Võ Lê Anh Thư Khóa luận tốt nghiệp Phƣơng thức Mơ tả phƣơng thức Phƣơng thức Mô tả phƣơng thức GVHD: TS Nguyễn Trần Quốc Vinh getAlluserOnline() Gửi whisper tin nhắn cho người dùng khác hasUserOnline(String data) Kiêm tra trạng thái người dùng online hệ thống Phƣơng thức socket.on('Client connect to server', function(Key, userName) Mô tả phƣơng thức Phƣơng thức Mô tả phƣơng thức Kết nối với máy chủ hasUserOffline(String data) Kiểm tra trạng thái người dùng offline hệ thống Phƣơng thức Mô tả phƣơng thức Phƣơng thức Mô tả phƣơng thức Phƣơng thức Mô tả phƣơng thức SVTH: Võ Lê Anh Thư getRoomID(String data) Lấy ID phòng chat muốn tham gia từ máy chủ socket.on("Message client to server",function(data)) Kết nối người dùng với máy chủ socket.on('disconnect' ,function(data) Ngắt kết nối với máy chủ 37 Khóa luận tốt nghiệp GVHD: TS Nguyễn Trần Quốc Vinh 2.4.7 Quản lý tài khoản Hình 14 – Biểu đồ lớp quản lý tài khoản SVTH: Võ Lê Anh Thư 38 Khóa luận tốt nghiệp GVHD: TS Nguyễn Trần Quốc Vinh  Lớp AccountAction Phƣơng thức createAccount(String Url,String id,String name,String password,String TAG_SUCCESS,JSONParser jsonParse) Mô tả phƣơng thức Cho phép tạo thêm tài khoản sở liệu với giá trị bao gồm name, id, password Phƣơng thức readAccount(String Url,String id,String TAG_ID,JSONParser jsonParse,String TAG_SUCCESS, String TAG_USER,String TAG_NAME,String TAG_PASS,String str1,String str2) Mô tả phƣơng thức Get information of a row in database with values such as name, password by id was input Phƣơng thức deleteAccount(String Url,String id,String TAG_ID,JSONParser jsonParse,String TAG_SUCCESS) Mô tả phƣơng thức Cho phép xóa bỏ thơng tin tài khoản sở liệu hệ thống Phƣơng thức editAccount(String Url,String id,String name,String pass,String TAG_ID,String TAG_NAME,String TAG_PASSWORD, JSONParser jsonParse,String TAG_SUCCESS) Mô tả phƣơng thức Cho phép chỉnh sửa thông tin tài khoản định với thông tin name password 2.5 Dự kiến kết đạt đƣợc Xây dựng thư viện giúp người dùng truyền nhận liệu từ máy chủ khác ứng dụng Smartphone cách dễ dàng Xây dựng thư viện phạm vi hỗ trợ bốn ứng dụng quản lý tour, quản lý lớp học, hỗ trợ quản lý họp hỗ trợ thông tin cố với chức bảng sau: SVTH: Võ Lê Anh Thư 39 Khóa luận tốt nghiệp GVHD: TS Nguyễn Trần Quốc Vinh  Quản lý chức liên quan đến GPS STT Chức Tìm vị trí người dung Tìm vị trí nhiều địa điểm mà người dùng Ghi muốn biết Tìm vị trí người dùng gần Tìm đường hai điểm  Quản lý danh sách yêu cầu gửi lên máy chủ ứng dụng STT Chức Các yêu cầu tệp tin XML Các yêu cầu tệp tin JSON Ghi  Quản lý thông báo từ máy chủ ứng dụng hay người dùng STT Chức Thông báo thời gian Thơng báo vị trí Thông báo thiên tai Ghi  Quản lý kết nối mạng Internet người dùng STT Chức Kết nối WiFi Kết nối GPS Kết nối 3G Ghi  Quản lý tin nhắn nhắc nhở từ máy chủ ứng dụng STT Chức Nhắc nhở cách thiết lập âm Nhắc nhở cách thiết lập độ rung Nhắc nhở cách thiết lập đèn flash Nhắc nhở cách hiển thị thông báo trạng thái Smartphone SVTH: Võ Lê Anh Thư Ghi 40 Khóa luận tốt nghiệp GVHD: TS Nguyễn Trần Quốc Vinh  Quản lý tài khoản STT Chức Tạo tài khoản Chỉnh sửa thơng tin tài khoản Xóa thơng tin tài khoản Xem thông tin tài khoản Xác nhận thông tin tài khoản Phân quyền cho tài khoản Ghi  Hỗ trợ xây dựng phòng chat STT Chức Tạo phịng Rời khỏi phịng Xóa phịng Tham gia vào phòng Gửi tin nhắn Gửi tin nhắn bí mật Lấy danh sách người dùng online Lấy tên người dùng offine Lấy tên người dùng online 10 Lấy tin nhắn lỗi Ghi Xây dựng ứng dụng Android cho người dùng sử dụng với chức bảng sau: STT Chức Ghi Quản lý chức liên quan đến đồ Quản lý danh sách yêu cầu gửi lên máy chủ ứng dụng Quản lý kết nối mạng Internet người dung Quản lý tin nhắn nhắc nhở từ máy chủ ứng dụng Quản lý tài khoản Quản lý thông báo từ máy chủ ứng dụng hay người dùng Hỗ trợ xây dựng phòng chat Bảng – Danh sách chức SVTH: Võ Lê Anh Thư 41 Khóa luận tốt nghiệp GVHD: TS Nguyễn Trần Quốc Vinh CHƢƠNG TRIỂN KHAI CHƢƠNG TRÌNH 3.1 Cách sử dụng thƣ viện Android  Đưa thư viện vào eclipse đồ án bình thường Hình 15 – Cấu trúc thƣ viện SVTH: Võ Lê Anh Thư 42 Khóa luận tốt nghiệp GVHD: TS Nguyễn Trần Quốc Vinh Sau đưa vào ứng dụng bạn muốn cách: Nhấn chuột phải -> Properties -> Android -> Add -> Chọn Library  Xuất thư viện dạng gói.jar - Chọn Library -> Nhấn chuột phải -> Export -> Java -> JAR File, chọn thư mục cần thiết đường dẫn Hình 16 – Tạo gói jar cho thƣ viện SVTH: Võ Lê Anh Thư 43 Khóa luận tốt nghiệp GVHD: TS Nguyễn Trần Quốc Vinh Tiếp tục bấm Next -> Next -> Finish -> Gói library.jar -> Đưa vào ứng dụng  Cách sử dụng chức thư viện Thư viện xây dựng thành ba gói chính: Android.lib.internal: lớp chứa hàm chung dùng cho chức xây dựng cấu trúc Android.lib.object: lớp chứa đối tượng tự định nghĩa để sử dụng cho chức Android.lib.product: lớp chứa hàm người lập trình gọi để sử dụng chức năng, tùy vào chức năng, có tên đại diện chức Nếu người dùng muốn dùng chức họ vào gói android.lib.product để tìm hàm 3.2 Triển khai chƣơng trình Đối với chức liên quan đến Google Map, người dùng thấy vị trí thân hay người khác muốn tìm đường đến địa điểm Google Map Hình 17 – Hiển thị vị trí ngƣời dùng SVTH: Võ Lê Anh Thư 44 Khóa luận tốt nghiệp GVHD: TS Nguyễn Trần Quốc Vinh Họ dùng chức tìm đường thư viện Ở đây, họ chọn theo đường hay đường xe chạy Chương trình tự động vẽ đường hai điểm chọn Hình 18 – Vẽ đƣờng hai vị trí Người dùng quan sát vị trí người dùng ứng dụng khác phạm vi định với loại đồ khác Tùy vào quyền phân cho người dùng ứng dụng mà hiển thị đồ khác Hình 19 – Hiển thị vị trí gần so với vị trí ngƣời dùng SVTH: Võ Lê Anh Thư 45 Khóa luận tốt nghiệp GVHD: TS Nguyễn Trần Quốc Vinh Hình 20 – Hiển thị vị trí gần so với địa điểm Ngồi ra, ta có thêm số chức như: Đối với chức Reminder, người dùng thiết lập thời gian để thơng báo, họ chọn chức kèm theo nhắc nhở đèn flash, độ rung, âm hay gửi tin nhắn Hình 21 – Nhắc nhở đèn Flash hay đèn nhấp nháy SVTH: Võ Lê Anh Thư 46 Khóa luận tốt nghiệp GVHD: TS Nguyễn Trần Quốc Vinh Hình 22 – Nhắc nhở cách thiết lập chế độ rung Đối với chức hỗ trợ xây dựng phòng chat người dùng phải cung cấp id chung để tham gia nói chuyện, bàn bạc Hình 23 – Giao diện đăng nhập để chat SVTH: Võ Lê Anh Thư 47 Khóa luận tốt nghiệp GVHD: TS Nguyễn Trần Quốc Vinh Hình 24 – Giao diện tạo phịng chat SVTH: Võ Lê Anh Thư 48 Khóa luận tốt nghiệp GVHD: TS Nguyễn Trần Quốc Vinh KẾT LUẬN a Đánh giá kết Với việc sử dụng tảng Android, người dùng sử dụng thư viện để hỗ trợ cho việc lập trình Android, giúp việc xây dựng code ứng dụng có hệ thống Về mặt kỹ thuật ứng dụng xây dựng thành công với việc sử dụng công nghệ XML, JSON, GPS, GOOGLE MAP API, NODEJS, SOCKET.IO Ƣu điểm  Các chức xây dựng dễ sử dụng, hỗ trợ linh hoạt cho người lập trình  Các chức hoàn thiện Nhƣợc điểm  Nhiều code dư  Chưa mở rộng chức b Hƣớng phát triển Phiên ứng dụng hoàn thành với chức cần thiết Nếu có hội tiếp tục phát triển ứng dụng này, em có ý tưởng phát triển như:  Thêm số chức liên quan đến GPS  Xây dựng IOS  Xây dựng Window Phone SVTH: Võ Lê Anh Thư 49 Khóa luận tốt nghiệp GVHD: TS Nguyễn Trần Quốc Vinh TÀI LIỆU THAM KHẢO [1] Gabriel Svennerberg Beginning Google Maps API v2 [2] Trang web : http://vi.wikipedia.org/wiki/ [3] Trang web : http://diendan.vietandroid.com [4] Trang web : http://developer.android.com/index.html [5] Trang web : http://www.androidpeople.com/ [6] Trang web: http://www.ibm.com/developerworks [7] Trang web : http://cwbuecheler.com/web/tutorials/2013/node-express-mongo/ [8] Trang web : http://sinhvienit.net/forum/socket-io-can-ban-nodejs- vn.267362.html [9] Trang web : http://www.tinhte.vn/threads/tim-hieu-nodejs-ly-do-chon- nodejs.2095222/ [10] Trang web : http://tranmanh88.blogspot.com/2013/05/real-time-web-voi- nodejs.html SVTH: Võ Lê Anh Thư 50 NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN  The title should be more generic  The document is written to show what the student has learned It should show what the student has done instead  All components (Chat, GPS, Reminder ) of the library are equally mentioned without emphasizing on the main GPS feature It doesn’t discuss how these components could be used in a product  No accuracy on GPS is discussed  Referenced materials are mentioned No references are indicated Với ý kiến nhận xét trên, em xin tiếp thu ý kiến bổ sung lại vấn đề cần thiết để hồn thiện khóa luận Đà Nẵng, ngày .tháng .năm Ngƣời phản biện Le Hoang Hung ... đƣợc Xây dựng thư viện giúp người dùng truyền nhận liệu từ máy chủ khác ứng dụng Smartphone cách dễ dàng Xây dựng thư viện phạm vi hỗ trợ bốn ứng dụng quản lý tour, quản lý lớp học, hỗ trợ quản lý. .. Khả ứng dụng thực tiễn Như nói trên, nay, khả ứng dụng Android phát triển mạnh mẽ Android phá bỏ rào cản để xây dựng ứng dụng sáng tạo nên việc xây dựng thư viện hữu ích hỗ trợ nhiều ứng dụng. .. viết tảng Android giúp xây dựng code cho ứng dụng, mở rộng chức Ở đây, thư viện hỗ trợ chức quản lý chức liên quan đến GPS Ngồi cịn có chức năng: quản lý danh sách yêu cầu gửi lên máy chủ ứng dụng,

Ngày đăng: 22/05/2021, 10:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan