Mục tiêu nghiên cứu đề tài là xây dựng ứng dụng ChatOnline trên điện thoại chạy hệ điều hành Android: Giao diện trực quan, dễ thao tác. Phù hợp với các ứng dụng triển khai trên diện rộng, ít tốn kém khi mở rộng. Hệ thống dễ bảo trì và dễ phát triển.
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC QUỐC TẾ SÀI GÒN - - BÁO CÁO NGHIÊN CỨU KHOA HỌC Tên đề tài: ỨNG DỤNG NHẮN TIN TRỰC TUYẾN CHITCHAT TRÊN THIẾT BỊ DI ĐỘNG Ngành: CÔNG NGHỆ THÔNG TIN Giáo viên hướng dẫn: Ths.VÕ ANH TIẾN Sinh viên thực hiện: Cao Ngọc Hoàng Vân - 91011701338 Nguyễn Mỹ Duyên – 81011701402 Lớp: 17DMT/PM Hồ Chí Minh, 2020 LỜI MỞ ĐẦU Trong nhiều năm gần đây, năm 2010 trở lại Cơn vũ bão smartphone tràn ngập nước ta, ai có smartphone Nó điện thoại tích hợp tảng hệ điều hành di động với nhiều chức hỗ trợ tiên tiến điện toán kết nối dựa tảng điện thoại di động thông thường Ban đầu điện thoại thơng minh bao gồm tính điện thoại di động thông thường kết hợp với thiết bị phổ biến khác PDA, thiết bị điện tử cầm tay, máy ảnh kỹ thuật số, hệ thống định vị toàn cầu GPS Từ năm đầu 2016 đến điện thoại thông minh phát triển mạnh mẽ bao gồm chức latop duyệt web, wifi, ứng dụng tiện ích mà người dùng thích kèm theo phụ kiện máy Năm 2019 có hàng loạt mạng xã hội xuất nhiều thị trường công nghệ ứng dụng ưa chuộng giao diện không thân thiện với người dùng Chính vậy, nhân việc học mơn lập trình thiết bị di động Android nhóm em lựa chọn đề tài “Ứng dụng nhắn tin trực tuyến ChitChat thiết bị di động” Để hoàn thành đề tài này, nhóm em xin chân thành cảm ơn giảng viên hướng dẫn đề tài Ths.Võ Anh Tiến, giảng viên khoa Công nghệ thông tin trường Đại học Quốc tế Sài Gòn hết lòng giúp đỡ, hướng dẫn dạy tận tình để nhóm em hồn thành tốt đề tài Nhóm chưa có nhiều kinh nghiệm nghiên cứu thực hành nên đề tài nhiều thiếu sót, nhóm em mong nhận đóng góp ý kiến quý thầy để đề tài hoàn thiện Em xin chân thành cảm ơn! Chương TỔNG QUAN Lý chọn đề tài Trong thời đại công nghệ thông tin phát triển nay, điện thoại thông minh (Smartphone) thiết bị thiếu người Ngày nhiều người có nhu cầu sử dụng sản phẩm cơng nghệ cao với nhiều tính năng, cấu hình cao, kiểu dáng đẹp dẫn đến nhà cung cấp phải nâng cao chất lượng sản phẩm Xây dựng ứng dụng cho điện thoại thông minh ngành với nhiều tiềm hứa hẹn Phần cứng điện thoại di động phát triển với hệ điều hành Có nhiều hệ điều hành hệ điều hành Android phát triển ông lớn Google, nhanh chóng đối thủ cạnh tranh mạnh mẽ với hệ điều hành trước hệ điều hành nhiều người sử dụng với phiên Android Android Pie (Android 9) Với lý nhóm em chọn đề tài tiểu luận: “Tìm hiểu xây dựng ứng dụng nhắn tin trực tuyến ChitChat” Mục tiêu đề tài Xây dựng ứng dụng ChatOnline điện thoại chạy hệ điều hành Android: Giao diện trực quan, dễ thao tác Phù hợp với ứng dụng triển khai diện rộng, tốn mở rộng Hệ thống dễ bảo trì dễ phát triển Đối tượng phạm vi nghiên cứu đề tài Tìm hiểu ngơn ngữ lập trình java, hệ điều hành Android, Android studio, SQLite Tìm hiểu, phân tích tính ứng dụng Chat Phương pháp nghiên cứu đề tài Đọc viết Internet, sách giảng nhằm xây dựng sở lý thuyết đề tài biện pháp cần thiết để giải vấn đề phát sinh làm pg Chương 2: MƠI TRƯỜNG LẬP TRÌNH Giới thiệu Android Lịch sử phát triển hệ điều hành Android Năm 2003, Android Inc thành lập Andy Rubin, Rich Miner, Nick Sears Chris White California Năm 2005, Google mua lại Android Inc bắt đầu nuôi ý tưởng tự sản xuất điện thoại di động Năm 2007, tổ chức OHA (Open Handset Alliance) thành lập với 80 công ty lĩnh vực kỹ thuật điện tử bao gồm công ty chuyên phần cứng, phân phối thiết bị di động đến công ty phần mềm, sản xuất bán dẫn, v.v Có thể kể đến số công ty tiếng Samsung, Motorola, LG, HTC, T-Mobile, Vodafone, ARM Qualcomm, v.v Năm 2008, Google mắt di động đồng thời open source SDK (Software Development Kit) phiên 1.0 Năm 2010, Google khởi đầu dòng thiết bị Nexus với thiết bị HTC Nexus One Năm 2013, mắt loạt thiết bị phiên GPE Năm 2014, Google công bố Android Wear, hệ điều hành cho thiết bị đeo Các phiên hệ điều hành Android phát triển tên mã chủ đề bánh kẹo phát hành theo thứ tự bảng chữ sau: Android 1.5 Cupcake, Android 1.6 Donut, Android 2.1 Eclair, Android 2.2 Froyo, Android 2.3 Gingerbread, Android 3.0 Honeycomb, Android 4.0 Ice Cream Sandwich, Android 4.1 Jelly Bean, Android 4.4 Kitkat, Android 5.0 Lollipop, Android 6.0 Marshmallow, Android 7.0 Nougat, Android 8.0 Orea Android 9.0 Pie phiên Android thời điểm pg 1.2 Giới thiệu hệ điều hành Android Android hệ điều hành chạy điện thoại di động phát triển từ nhân Linux, mang nhiều đặc tính đặc trưng hệ điều hành di động mang tính chất chung hệ điều hành Là hệ điều hành đại, đời muộn phát triển từ Linux, rút kinh nghiệm từ hệ điều hành trước, tích hợp nhiều cơng nghệ tiên tiến đặc biệt phát triển từ “ông trùm công nghệ” tầm cỡ giới Google nên Android sớm tìm chỗ đứng cho Khơng giống Windows Mobile Apple Iphone, hai cung cấp môi trường phát triển ứng dụng phong phú dễ tiếp cận ln có ưu tiên cho ứng dụng mặc định có sẵn hệ điều hành (native application) Với Android, ứng dụng viết tập API, nên khơng có phân biệt ứng dụng mặc định ứng dụng bên thứ Người dùng hồn tồn thay ứng dụng mặc định ứng dụng u thích mình, chí hình thực gọi hình Home pg Hệ điều hành Android có ưu điểm nhược điểm sau: Ưu điểm + Là hệ điều hành mã nguồn mở nên có khả tuỳ biến cao, tuỳ ý chỉnh sửa mà khơng có can thiệp hay cấm cản từ Google + Đa dạng sản phẩm, nhiều hãng điện thoại, thiết bị công nghệ ưu chọn Android cho thiết bị họ, giá hợp lý từ bình dân đến cao cấp + Kho ứng dụng Google Play Store đồ sộ + Thân thiện dễ sử dụng + Khả đa nhiệm, chạy lúc nhiều ứng dụng Nhược điểm + Dễ nhiễm phần mềm độc hại virus Do tính chất mã nguồn mở, nhiều phần mềm khơng kiểm sốt có chất lượng khơng tốt lỗi bảo mật sử dụng + Kho ứng dụng nhiều dẫn đến khó kiểm sốt chất lượng, thiếu ứng dụng thật tốt + Sự phân mảnh lớn Trong số thiết bị Android xuất sắc trình làng Galaxy S9, Sony XZ, Huawei Mate 20, … cịn nhiều sản phẩm giá rẻ bình thường khác + Thiết bị không tự động cập nhật Khi phiên hệ điều hành mắt, tất cập nhật, chí muốn trải nghiệm bạn thường xuyên phải mua thiết bị pg 1.3 Các ứng dụng có sẵn Android Một điện thoại Android thông thường kèm với vài ứng dụng cài đặt sẵn, bao gồm: - Một trình Email tương thích với Gmail - Chương trình quản lý tin nhắn SMS - Chương trình quản lý thông tin cá nhân, bao gồm lịch làm việc, danh bạ đồng hóa với dịch vụ Google - Phiên thu gọn Google Map cho điện thoại, bao gồm điều hướng, tìm kiếm địa điểm, đường, tình trạng giao thơng,… - Trình duyệt Web dựa nhân Android System WebView - Chương trình tán gẫu (Chat) - Trình đa phương tiện (chơi nhạc, xem phim,…) - Google Play Store – cho phép người dùng tải cài đặt ứng dụng - Tất ứng dụng có sẵn viết ngôn ngữ Java sử dụng Android SDK Các liệu thông tin người dùng ứng dụng có sẵn sử dụng, thơng tin danh bạ hồn tồn sử dụng ứng dụng bên thứ ba Tương tự vậy, ứng dụng bạn hồn tồn xử lý kiện có gọi đến, nhận tin nhắn mới,… thay cho ứng dụng có sẵn pg Lập trình di động với hệ điều hành Android Studio 2.1 Các thư viện Android Studio Android studio cung cấp gói API để phát triển ứng dụng Danh sách gói core API giúp cho có nhìn tổng qt hỗ trợ sẵn, tất thiết bị chạy Android phải hỗ trợ tối thiểu API - Android.util: Gói API lõi, chứa class cấp thấp containers, string formatters, XML parsing - Android.os: Truy cập tới chức hệ điều hành chẳng hạn như: gửi nhận tin nhắn, giao tiếp nội ứng dụng, thời gian, - Android.database: Cung cấp lớp cấp thấp cần thiết để làm việc với databases - Android.content: Dùng để quản lý tài nguyên, nội dung gói - Android.view: View lớp cha lớp giao diện người dùng - Android.widget: Được kế thừa từ lớp View, bao gồm lớp để xây dựng giao diện widget như: lits, buttons, layouts - Android.app: Gói API cấp cao, bao gồm lớp Activity Service – hai lớp sở cho ứng dụng Android 2.2 Các thành phần Android Studio a Thành phần chương trình Android Studio Activity IntentActivity: Một activity thể giao diện đồ họa người dùng Ví dụ activity biểu diễn danh sách menu item để người dùng chọn hiển thị ảnh với tiêu đề Một ứng dụng gửi tin nhắn văn có hoạt động hiển thị danh sách liên hệ để gửi tin nhắn tới, hoạt động thứ hai viết tin nhắn tới liên hệ chọn, hoạt động khác xem lại tin nhắn cũ hay thay đổi cài đặt Mặc dù chúng làm việc để tạo thành giao diện người dùng, activity độc lập với khác Mỗi activity lớp lớp sở Activity Một ứng dụng có nhiều activity pg Class sở Activity định nghĩa loạt kiện mà điều chỉnh vòng đời hoạt động Class Activity định nghĩa kiện sau đây: - onCreate():Được gọi hoạt động tạo lần - onStart(): Được gọi hoạt động trở nên hữu hình so với người dùng - onResume(): Được gọi hoạt động bắt đầu tương tác với người sử dụng - onPause(): Được gọi để dừng hoạt động kết nối lại hoạt động trước - onStop(): Được gọi hoạt động khơng cịn hiển thị với người dùng - onDestroy(): Được gọi trước hoạt động bị phá hủy hệ thống (bằng tay hệ thống để bảo tồn nhớ) - onRestart(): Được gọi hệ thống dừng lại khởi động lại lần - Intent: Là cấu trúc liệu mô tả cách thức, đối tượng thực Activity Là cầu nối Activity: ứng dụng Android thường bao gồm nhiều Activity, Activity hoạt động độc lập với thực công việc khác Intent người đưa thư, giúp Activity triệu gọi truyền liệu cần thiết tới Activity khác Điều giống việc di chuyển qua lại Forms lập trình C# Windows Form b Giao diện người dùng Android Studio Trong ứng dụng Android, giao diện người dùng xây dựng cách sử dụng View ViewGroup đối tượng Có nhiều loại quan điểm nhóm view, số hậu duệ lớp View View objects đơn vị biểu giao diện người dùng tảng Android Các class xem sở phục vụ cho class gọi "widget", cung cấp đầy đủ đối tượng thực giao diện, giống lĩnh vực văn nút Class ViewGroup phục vụ sở cho lớp gọi " layouts", cung cấp loại khác kiến trúc bố trí, linear, tabular relative pg c Có nhiều cách bố trí giao diện Sử dụng nhiều loại khác view group, bạn cấu trúc Views View Groups vô số cách Xác định nhóm xem cung cấp Android (gọi layouts) bao gồm LinearLayout, RelativeLayout, TableLayout, GridLayout khác Mỗi cung cấp thông số bố trí sử dụng để xác định vị trí views cấu layout để tìm hiểu số loại khác view group sử dụng cho layout, đọc giao diện đối tượng thường gặp - Widget object View phục vụ giao diện để tương tác với người dùng - Android cung cấp tập widgets thực đầy đủ, giống button, Checkbox, text-entry , bạn nhanh chóng xây dựng giao diện người dùng bạn Một số widgets cung cấp Android phức tạp hơn, giống date picker, clock, zoom controls Nhưng không giới hạn loại widgets cung cấp tảng Android d Bắt kiện Android Khi thêm số Views/widgets đến giao diện Để thông báo UI events người dùng, cần phải làm hai điều: Xác định kiện nghe đăng ký với View Đây cách lắng nghe kiện Các Class View có phương pháp gọi On() pg Chương 3: PHÂN TÍCH THIẾT KẾ Phân tích - Về bản, tổng qt đề tề app cần có: + Giao diện đăng ký tài khoản, đăng nhập tài khoản + Gao diện hiển thị danh sách bạn bè, danh sách trò chuyện, dánh sách người dùng + Giao diện hiển thị đoạn nói chuyện người dùng với - Về chức app: + Gửi trò chuyện người dùng thoogn qua internet Thiết kế 2.1 Mơ hình giải pháp Hình 2.1 Mơ hình phân rã chức pg 2.2 Sơ đồ luồng liệu Hình 2.2.1 Sơ đồ chức đăng nhập pg 10 Hình 2.2.2 Sơ đồ chức đăng kí pg 11 Hình 2.2.3 Sơ đồ chức nhắn tin pg 12 Hình 2.2.4 Sơ đồ chức thêm bạn bè pg 13 Hình 2.2.5 Sơ đồ chức đăng xuất pg 14 Hình 2.2.6 Sơ đồ đăng nhập pg 15 Chương 4: ĐỀ MƠ CHƯƠNG TRÌNH 4.1 Thiết kế giao diện Gồm lớp chính: ActivityMain.java, ActivityChat Java ActivityChat.java Ngồi cịn lớp phụ khác phụ trách chức lớp Lớp 1: Activity Main.java Lớp hoạt động sau người dùng đăng nhập Trong hoạt động , kiểm tra xem người dù đăng nhập vào hay chưa khơng chuyển hướng cậu vào ActivityLogin chưa đăng nhập Sau đăng nhập thành công, thứ làm hiển thị main activity lịch sử trị chuyện người dung (nếu có ), thứ mà người dùng tìm kiếm pg 16 Lớp 2: ActivityChat.java Sau hiển thị nội dung trị chuyện thành cơng, người dùng click vào đoạn trị chuyện bạn bè dẫn cậu ta tới ChatActivity Nếu cậu ta khơng có liên hệ với bạn bè cậu ta sử dụng chức tìm kiếm để tìm kiếm theo tên, email gửi yêu cầu kết bạn tới người mà cậu ta tìm kiếm pg 17 Lớp 3: ActivityService.java Lớp có chức lắng nghe Firebase hiển thị cho người dung thơng báo có hoạt động mới, tin nhắn mới, yêu cầu kết bạn, … DataContext.java Clas nơi để quản lý tất liệu lưu trữ máy bao gồm lịch sử trò chuyện, lấy danh bạ, xóa kết nối, lưu tin nhắn vào lưu trữ nội bộ,… pg 18 4.2 Demo chương trình Khi chạy ứng dụng lần đầu hiển thị giao diện đăng nhập, người dùng chưa có tài khoản tiến hành đăng ký tài khoản Sau đăng ký đăng nhập thành công, ứng dụng chuyển đến giao diện trang chủ, gồm tab tin nhắn, bạn bè tài khoản pg 19 Ở giao diện phía hiển thị thông tin người dùng Tab tin nhắn hiển thị danh sách tin nhắn người dùng kèm theo tin nhắn cuối gửi nhận Nếu có người đăng nhập vào ứng dụng chấm trịn chuyển sang màu xanh báo hiệu hoạt động ngược lại tắt Tab bạn bè hiển thị tất người có tài khoản app Khi chọn vào người tab chuyển đến giao diện nhắn tin Tab thông tin tài khoản hiển thị hình đại diện, họ tên email người dùng Tại tab người dùng thay đổi ảnh đại diện cách nhấn vào hình ảnh, mở trình chọn ảnh điện thoại, chọn ảnh chờ cho ảnh tải lên Ngay ảnh đại diện bạn thay đổi tất thiết bị đăng nhập vào liên kết với emoj pg 20 Chương 3: KẾT LUẬN Những vấn đề đạt Tìm hiểu cách tạo ứng dụng dành cho điện thoại Android Studio Xây dựng thành công ứng dụng nhắn tin online có tính thực tế cao Những vấn đề hạn chế Một vài chức ứng dụng chưa hoàn thiện chưa tối ưu TÀI LIỆU THAM KHẢO [1] https://firebase.google.com/docs/android/setup [2].https://www.youtube.com/watch?v=Slt4ReIodw&list=PLzrVYRai0riTLPLclyGuB yHvZ8_tDZZIr pg 21 ... người sử dụng với phiên Android Android Pie (Android 9) Với lý nhóm em chọn đề tài tiểu luận: ? ?Tìm hiểu xây dựng ứng dụng nhắn tin trực tuyến ChitChat? ?? Mục tiêu đề tài Xây dựng ứng dụng ChatOnline... dùng tải cài đặt ứng dụng - Tất ứng dụng có sẵn viết ngôn ngữ Java sử dụng Android SDK Các liệu thông tin người dùng ứng dụng có sẵn sử dụng, thơng tin danh bạ hồn tồn sử dụng ứng dụng bên thứ ba... thiết bị đăng nhập vào liên kết với emoj pg 20 Chương 3: KẾT LUẬN Những vấn đề đạt Tìm hiểu cách tạo ứng dụng dành cho điện thoại Android Studio Xây dựng thành công ứng dụng nhắn tin online có tính