1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khoá luận tốt nghiệp Lập trình ứng dụng họp trực tuyến trên mobile (flutter)

60 4 0

Đ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

Đây là báo cáo khoá luận tốt nghiệp với chủ đề lập trình ứng dụng họp trực tuyến trên mobile, sử dụng ngôn ngữ lập trình Dart, Flutter framework, Firebase (Authentication, Store, Realtime database...).

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC YERSIN ĐÀ LẠT KHOA CƠNG NGHỆ THƠNG TIN KHỐ LUẬN TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG HỌP TRỰC TUYẾN TRÊN THIẾT BỊ DI ĐỘNG GVHD: ThS Lê Xuân Thạch SVTH: Lê Văn Sơn Mã số SV: 11901040 Khoá học: 2019 - 2022 Đà Lạt, tháng năm 2022 NHIỆM VỤ ĐỀ TÀI Nội dung - Tìm hiểu hệ điều hành Android, iOS - Tìm hiểu mơi trường lập trình Visual Studio Code - Tìm hiểu ngơn ngữ lập trình Dart - Tìm hiểu framework Flutter - Xây dựng ứng dụng họp trực tuyến chạy thiết bị di động vật lý Các yêu cầu cần giải - Sử dụng cơng cụ Visual Studio Code để viết chương trình chạy thiết bị di - động Xây dựng ứng dụng, đóng gói chương trình thành file *.apk cho phép cài đặt chạy thiết bị sử dụng hệ điều hành android file *.ipa cho phép cài đặt chạy thiết bị sử dụng hệ điều hành iOS CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Họ tên giảng viên: Lê Xuân Thạch Đơn vị công tác: Trường Đại học Yersin Đà Lạt Họ tên sinh viên: Lê Văn Sơn Ngành: Công nghệ thông tin Tinh thần thái độ sinh viên trình làm khố luận tốt nghiệp ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… Đánh giá chất lượng đồ án/khoá luận (so với nội dung yêu cầu đề nhiệm vụ mặt lý luận, thực tiễn, tính tốn số liệu…) ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… Ý kiến giảng viên hướng dẫn Đạt Không đạt Điểm: …………………………………… Đà Lạt, ngày… tháng… năm 2022 Giảng viên hướng dẫn (ký ghi rõ họ tên) CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN CHẤM PHẢN BIỆN Họ tên giảng viên: ……………………………………………………………………… Đơn vị công tác: …………………………………………………………………………… Họ tên sinh viên: ……………………………… Ngành: ……………………………… Đề tài tốt nghiệp: ……………………………………………………………………… ………………………………………………………………………………………… Phần nhận xét giảng viên chấm phản biện ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… Những mặt hạn chế ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… Ý kiến giảng viên chấm phản biện Được bảo vệ Không bảo vệ Điểm: …………………………………… Đà Lạt, ngày… tháng… năm 2022 Giảng viên chấm phản biện (ký ghi rõ họ tên) MỤC LỤC DANH SÁCH HÌNH ẢNH MINH HOẠ LỜI CẢM ƠN Lời em xin gửi đến thầy Lê Xuân Thạch, người tận tình hướng dẫn, giúp đỡ em hồn thành khố luận lời cảm ơn sâu sắc Vì kiến thức cịn hạn chế, nên sai sót điều khơng thể tránh khỏi q trình hồn thành khố luận, em xin trân trọng tiếp thu ý kiến đóng phản hồi thầy để làm tốt sau Một lần em xin chân thành cảm ơn thầy Lê Xuân Thạch truyền đạt kiến thức cần thiết để em hồn thành khố luận, đồng thời em xin cảm ơn tất giảng viên trước tận tình giúp đỡ, truyền đạt, hỗ trợ em suốt thời gian học tập trường Đại học Yersin vừa qua Em xin chân thành cảm ơn! Đà Lạt, ngày 10 tháng năm 2022 LỜI MỞ ĐẦU Năm 2020 đến 2022 khoảng thời gian đen tối nhân loại đại dịch Covid-19 ảnh hưởng đến tất ngành công nghiệp lấy nhiều việc làm người toàn giới Trong tình hình ln sẵn sàng đối phó với dịch bệnh, với phát triển kinh tế xã hội, nước ta có biện pháp đắn để ngăn chặn lây lan dịch bệnh Trong trường hợp này, ngành giáo dục Việt Nam, học sinh phải học trực tuyến, sử dụng mạng xã hội công cụ internet để tự học nhà Nhưng ứng dụng trả phí, việc tìm kiếm công cụ hỗ trợ giáo dục trực tuyến khơng đơn giản mặt tài chính, phù hợp cho việc học tập hội họp nước nhà Đó lý em định chọn đề tài “Xây dựng ứng dụng họp trực tuyến di động” để tạo ứng dụng hỗ trợ học tập, giảng dạy hội nghị trực tuyến CHƯƠNG 1: TÌM HIỂU HỆ ĐIỀU HÀNH ANDROID VÀ HỆ ĐIỀU HÀNH IOS 1.1 Hệ điều hành Android 1.1.1 Giới thiệu hệ điều hành Android Android hệ điều hành dựa tảng Linux thiết kế dành cho thiết bị di động có hình cảm ứng điện thoại thơng minh máy tính bảng Ban đầu, Android phát triển Android Inc với hỗ trợ tài từ Google sau Google mua lại vào năm 2005 Android mắt vào năm 2007 với tuyên bố thành lập Liên minh thiết bị cầm tay mở: hiệp hội gồm công ty phần cứng, phần mềm, viễn thông với mục tiêu đẩy mạnh tiêu chuẩn mở cho thiết bị di động.Chiếc điện thoại chạy Android bán vào năm 2008 Android có mã nguồn mở Google phát hành mã nguồn theo Giấy phép Apache.Chính mã nguồn mở với giấy phép khơng có nhiều ràng buộc cho phép nhà phát triển thiết bị, mạng di động lập trình viên nhiệt huyết điều chỉnh phân phối Android cách tự Ngồi ra, Android cịn có cộng đồng lập trình viên đơng đảo chun viết ứng dụng để mở rộng chức thiết bị, loại ngơn ngữ lập trình Java có sửa đổi Tháng 10 năm 2012, có khoảng 700.000 ứng dụng Android, số lượt tải ứng dụng từ Google Play, cửa hàng ứng dụng Android, ước tính khoảng 25 tỷ lượt Những yếu tố giúp Android trở thành tảng điện thoại thông minh phổ biến giới, vượt qua Symbian OS vào quý năm 2010, công ty công nghệ lựa chọn họ cần hệ điều hành không nặng nề, có khả tinh chỉnh, giá rẻ chạy thiết bị cơng nghệ cao thay tạo dựng từ đầu Kết thiết kế để chạy điện thoại máy tính bảng, Android xuất TV, máy chơi game thiết bị điện tử khác Bản chất mở Android khích lệ đội ngũ đơng đảo lập trình viên người đam mê sử dụng mã nguồn mở để tạo dự án cộng đồng quản lý Những dự án bổ sung tính cao cấp cho người dùng thích tìm tịi đưa Android vào thiết bị ban đầu chạy hệ điều hành khác Android chiếm 87,7% thị phần điện thoại thơng minh tồn giới vào thời điểm quý năm 2017, với tổng cộng tỷ thiết bị kích hoạt 1,3 triệu lượt kích hoạt ngày Sự thành cơng hệ điều hành khiến trở thành mục tiêu vụ kiện liên quan đến phát minh, góp mặt gọi "cuộc chiến điện thoại thông minh" công ty công nghệ 1.1.2 Lịch sử phát triển Android, Inc thành lập Palo Alto, California vào tháng 10 năm 2003 Andy Rubin (đồng sáng lập công ty Danger), Rich Miner (đồng sáng lập Tổng công ty Viễn thông Wildfire), Nick Sears (từng Phó giám đốc T-Mobile), Chris White (trưởng thiết kế giao diện WebTV) để phát triển, theo lời Rubin, "các thiết bị di động thông minh biết vị trí sở thích người dùng" Dù người thành lập nhân viên người có tiếng tăm, Android, Inc hoạt động cách âm thầm, tiết lộ họ làm phần mềm dành cho điện thoại di động Trong năm đó, Rubin hết kinh phí Steve Perlman, người bạn thân Rubin, mang cho ông 10.000 USD tiền mặt từ chối tham gia vào công ty Google mua lại Android, Inc vào ngày 17 tháng năm 2005, biến thành phận trực thuộc Google Những nhân viên chủ chốt Android, Inc., gồm Rubin, Miner White, tiếp tục lại công ty làm việc sau thương vụ Vào thời điểm khơng có nhiều thơng tin cơng ty, nhiều người đồn đốn Google dự tính tham gia thị trường điện thoại di động sau bước Tại Google, nhóm Rubin đứng đầu phát triển tảng thiết bị di động phát triển nhân Linux Google quảng bá tảng cho nhà sản xuất điện thoại nhà mạng với lời hứa cung cấp hệ thống uyển chuyển có khả nâng cấp Google liên hệ với hàng loạt hãng phần cứng đối tác phần mềm, bắn tin cho nhà mạng họ sẵn sàng hợp tác với cấp độ khác Ngày nhiều suy đoán Google tham gia thị trường điện thoại di động kể từ tháng 12 năm 2006 Tin tức BBC Nhật báo phố Wall thích Google muốn đưa cơng nghệ tìm kiếm ứng dụng họ vào điện thoại di động họ nỗ lực làm việc để thực điều Các phương tiện truyền thông truyền thống lẫn online viết tin đồn Google phát triển thiết bị cầm tay mang thương hiệu Google Một vài tờ báo cịn nói Google thực mô tả kỹ thuật chi tiết, họ trình diễn sản phẩm mẫu cho nhà sản xuất điện thoại di động nhà mạng Tháng năm 2007, InformationWeek đăng tải nghiên cứu Evalueserve cho biết Google nộp số đơn xin cấp sáng chế lĩnh vực điện thoại di động Ngày tháng 11 năm 2007, Liên minh thiết bị cầm tay mở (Open Handset Alliance), hiệp hội bao gồm nhiều cơng ty có Texas Instruments, Tập đồn Broadcom, Google, HTC, Intel, LG, Tập đoàn Marvell Technology, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel T-Mobile thành lập với mục đích phát triển tiêu chuẩn mở cho thiết bị di động Cùng ngày, Android mắt với vai trò sản phẩm Liên minh, tảng thiết bị di động xây dựng nhân Linux phiên 2.6.Chiếc điện thoại chạy Android bán HTC Dream, phát hành ngày 22 tháng 10 năm 2008 Biểu trưng hệ điều hành Android robot màu xanh hãng thiết kế Irina Blok California vẽ Từ năm 2008, Android trải qua nhiều lần cập nhật để cải tiến hệ điều hành, bổ sung tính sửa lỗi lần phát hành trước Mỗi nâng cấp đặt tên theo thứ tự bảng chữ cái, theo tên ăn tráng miệng; ví dụ phiên 1.5 Cupcake (bánh bơng lan nhỏ có kem) tiếp nối phiên 1.6 Phiên Android 12, mắt vào tháng 10 năm 2021 Vào năm 2010, Google mắt loạt thiết bị Nexus—một dòng sản phẩm bao gồm điện thoại thơng minh máy tính bảng chạy hệ điều hành Android, đối tác phần cứng sản xuất HTC hợp tác với Google điện thoại thông minh Nexus đầu tiên, Nexus One Kể từ nhiều thiết bị gia nhập vào dòng sản phẩm này, điện thoại Nexus máy tính bảng Nexus 10, LG Samsung sản xuất Google xem điện thoại máy tính bảng Nexus thiết bị Android chủ lực mình, với tính phần cứng phần mềm Android 10 CHƯƠNG 5: THIẾT KẾ VÀ XÂY DỰNG ỨNG DỤNG 5.1 Đặc tả yêu cầu phần mềm 5.1.1 Tác nhân mô tả Người dùng: Là người tương tác trực tiếp với chương trình, chương trình giúp người dùng làm chức sau: - Đăng nhập tài khoản Google - Tạo họp - Tham gia họp - Tìm kiếm người dùng - Gửi tin nhắn - Xem thông tin tài khoản - Đăng xuất 5.1.2 Mơ hình use case Hình 5.15: Mơ hình use case 46 5.1.3 Mơ tả action steps Use case Mô tả Các bước thực Đăng nhập với tài Mô tả bước đăng Bấm nút Google Sign In khoản Google nhập người dùng Nhập thông tin tài khoản Google bấm nút đăng nhập Nếu thành công, chuyển qua hình Nếu thất bại, u cầu đăng nhập lại Tạo họp Mô tả bước tạo Người dùng đăng nhập vào hệ họp thống Bấm vào nút New meeting Hệ thống tự động tạo phịng họp với id Tham gia họp Mô tả bước tham Người dùng đăng nhập vào hệ gia họp thống Bấm vào nút Join meeting Hệ thống yêu cầu cung cấp thông tin tham gia họp gồm Room ID Name Nhập xong bấm nút Join Hệ thống kết nối tới họp có Room ID tương ứng Tìm kiếm người Mơ tả bước tìm Người dùng đăng nhập vào hệ dùng kiếm người dùng thống Bấm vào biểu tượng chat điều hướng Tại hình chính, nhập thơng tin người dùng cần tìm kiếm vào khung search Nhập xong bấm nút hồn tất bàn phím Hệ thống đối chiếu thông tin vừa nhập với sở liệu Nếu tìm hiển thị danh sách phù hợp với thông tin nhập Nếu thất bại thơng báo khơng có kết phù hợp Gửi tin nhắn Mô tả bước gửi tin Người dùng đăng nhập vào hệ nhắn thống Tìm kiếm người dùng nhóm cần liên hệ bấm vào Hệ thống hiển thị trang chat Người dùng nhập đoạn tin nhắn 47 Xem thông tin tài Mô tả bước xem khoản thông tin tài khoản Đăng xuất Mô tả bước đăng xuất tài khoản vào text box phía nhấn nút gửi Hệ thống xử lý thông tin lưu thông tin Người dùng đăng nhập vào hệ thống Bấm vào biểu tượng user điều hướng Hệ thống hiển thị thông tin tài khoản bao gồm: Hình ảnh, tên tài khoản, địa gmail Người dùng đăng nhập vào hệ thống Bấm nút có biểu tượng đăng xuất appbar Hệ thống đăng xuất tài khoản 5.2 Kết thực 5.2.1 Môi trường thực Thiết bị: iPhone plus - hệ điều hành: iOS 15.5 Thiết bị: Vivo Y21s - hệ điều hành: Android 12.0 48 5.2.2 Kết thực 5.2.2.1 Đăng nhập với tài khoản Google Hình 5.16: Giao diện hình đăng nhập với Google Hình 5.17: Giao diện chọn tài khoản đăng nhập với tài khoản Google 49 Hình 5.18: Giao diện hình sau đăng nhập thành công 5.2.2.2 Tham gia họp Hình 5.19: Giao diện hình cấu hình thơng tin trước tham gia họp 50 Hình 5.20: Giao diện hình họp Hình 5.21: Các chức bên họp 51 5.2.2.3 Lịch sử họp Hình 5.22: Màn hình lưu lịch sử họp 5.2.2.4 Tìm kiếm người dùng Hình 5.23: Giao diện tìm kiếm người dùng 52 5.2.2.5 Gửi tin nhắn Hình 5.24: Màn hình gửi tin nhắn 5.2.2.6 Xem thơng tin tài khoản Hình 5.25: Màn hình xem thơng tin tài khoản 53 5.2.3 Những hạn chế ứng dụng Chương trình chưa có tính chun nghiệp tính thẩm mỹ chưa cao, chưa giải hết vấn đề nảy sinh sử dụng ứng dụng - Số tài khoản tham gia đồng thời họp có giới hạn 100 tài khoản Chưa thể tích hợp gọi – hội thoại cá nhân Người dùng chưa thể cá nhân hố thơng tin tài khoản 54 PHỤ LỤC Mã nguồn: https://github.com/sonle0202/appointment File chương trình: https://mega.nz/folder/OGh3ySKa#iDrZE0hswoEcf266fWMq9Q 55 TÀI LIỆU THAM KHẢO iOS (30/06/2022) Truy cập 07/07/2022, từ https://vi.wikipedia.org/wiki/IOS Android (hệ điều hành) (27/05/2022) Truy cập 07/07/2022, từ https://vi.wikipedia.org/wiki/Android_(h%E1%BB%87_%C4%91i%E1%BB%81u_h %C3%A0nh) Visual Studio Code (29/06/2022) Truy cập 07/07/2022, từ https://vi.wikipedia.org/wiki/Visual_Studio_Code Dart (ngơn ngữ lập trình) (13/06/2022) Truy cập 07/07/2022, từ https://vi.wikipedia.org/wiki/Dart_(ng%C3%B4n_ng%E1%BB%AF_l%E1%BA %ADp_tr%C3%ACnh) Bài 5: Giới thiệu ngôn ngữ Dart - Học lập trình Flutter Truy cập 07/07/2022, từ https://vncoder.vn/bai-hoc/gioi-thieu-ngon-ngu-dart-218 Flutter (phần mềm) (02/05/2022) Truy cập: 07/07/2022, từ https://vi.wikipedia.org/wiki/Flutter_(ph%E1%BA%A7n_m%E1%BB%81m) Báo Flutter (20/04/2020) FLUTTER TUTORIAL – FLUTTER LÀ GÌ ? GIỚI THIỆU CHI TIẾT VỀ FLUTTER Truy cập 08/07/2022, từ https://baoflutter.com/flutter-la-gi-gioithieu-chi-tiet-ve-flutter/ Flutter documentation Truy cập 07/07/2022, từ https://flutter.dev/docs Báo Flutter (07/05/2020) STATE, WIDGET, STATEFULWIDGET, STATELESSWIDGET, VÒNG ĐỜI ỨNG DỤNG Truy cập 08/07/2022 từ https://baoflutter.com/state-widgetstatefulwidget-statelesswidget-vong-doi-ung-dung/ Flutter REST API Truy cập 08/07/2022, từ https://www.javatpoint.com/flutter-rest-api Vũ Hoài Phong (16/10/2019) Thêm xác thực Firebase Đăng nhập Google Flutter Truy cập 08/07/2022, từ https://helpex.vn/article/them-xac-thuc-firebase-va- dang-nhap-bang-google-bang-flutter-608eb6902744c49a00465cb1 56 FlutterFire Truy cập 08/07/2022, từ https://firebase.flutter.dev/docs/overview/ MDN Web Docs Truy cập 08/07/2022, từ https://developer.mozilla.org/en- US/docs/Web/HTTP/Status David Xuân (17/03/2021) Tự học Flutter | Giới thiệu chi tiết Flutter Series tự học Miễn Phí Truy cập 08/07/2022, từ https://cafedev.vn/tu-hoc-flutter-gioi-thieu-chi-tiet-veflutter-va-series-tu-hoc-mien-phi/ 57 ... trường lập trình Visual Studio Code - Tìm hiểu ngơn ngữ lập trình Dart - Tìm hiểu framework Flutter - Xây dựng ứng dụng họp trực tuyến chạy thiết bị di động vật lý Các yêu cầu cần giải - Sử dụng. .. phù hợp cho việc học tập hội họp nước nhà Đó lý em định chọn đề tài “Xây dựng ứng dụng họp trực tuyến di động” để tạo ứng dụng hỗ trợ học tập, giảng dạy hội nghị trực tuyến CHƯƠNG 1: TÌM HIỂU HỆ... tất q trình cài đặt ứng dụng Ứng dụng xuất hình Lauchpad sau Hình 2.9: Cài đặt Visual Studio Code MacOS (bước 2) 22 CHƯƠNG 3: TÌM HIỂU NGƠN NGỮ LẬP TRÌNH DART 3.1 Giới thiệu ngơn ngữ lập trình

Ngày đăng: 04/08/2022, 21:47

Xem thêm:

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w