Việc xây dựngcác ứng dụng đọc truyện không chỉ đáp ứng nhu cầu giải trí của người dùng mà còn làmột hướng phát triển tiềm năng trên thị trường ứng dụng di động hiện nay.. - Phù hợp với k
TỔNG QUAN VỀ ĐỂ TÀI
Lý do chọn đề tài
Trong thời đại công nghệ phát triển nhanh chóng, nhu cầu giải trí trên di động, đặc biệt là việc đọc truyện tranh online, ngày càng gia tăng Việc phát triển các ứng dụng đọc truyện không chỉ thỏa mãn sở thích của người dùng mà còn mở ra cơ hội tiềm năng trong thị trường ứng dụng di động hiện nay.
Tiếp cận thói quen giải trí hiện đại, việc đọc truyện tranh trên điện thoại cho phép người dùng theo dõi các bộ truyện yêu thích mọi lúc, mọi nơi So với truyện giấy hoặc web, ứng dụng di động mang lại trải nghiệm tiện lợi hơn, phù hợp với lối sống nhanh và linh hoạt ngày nay.
Áp dụng kiến thức lập trình Android vào thực tế là cơ hội để em thực hành các kỹ năng như sử dụng RecyclerView, xử lý Fragment, tương tác người dùng và làm việc với Firebase để lưu trữ và xác thực dữ liệu Qua đó, em sẽ hiểu rõ hơn về quy trình xây dựng một ứng dụng hoàn chỉnh.
Việc phát triển một ứng dụng cơ bản để hiển thị danh sách truyện, thông tin chi tiết và danh sách chương, đồng thời cho phép người dùng đọc truyện, hoàn toàn phù hợp với khả năng và thời gian của sinh viên, mặc dù không thể so sánh với các ứng dụng chuyên nghiệp.
Ứng dụng có khả năng mở rộng và phát triển, cho phép nâng cấp các chức năng như đánh dấu truyện yêu thích, tìm kiếm theo thể loại, và đề xuất truyện dựa trên thói quen đọc Điều này không chỉ giúp cải tiến sản phẩm trong các học phần sau mà còn phục vụ cho nghiên cứu phát triển cá nhân.
Mục tiêu của đề tài
Xây dựng ứng dụng đọc truyện manga trên Android với các chức năng cơ bản như hiển thị danh sách truyện, xem chi tiết, danh sách chương và đọc nội dung Ứng dụng giúp sinh viên rèn luyện kỹ năng lập trình di động, làm quen với công nghệ như Firebase, xử lý giao diện người dùng và tương tác với cơ sở dữ liệu thời gian thực Đề tài tạo ra sản phẩm thực tiễn, đáp ứng nhu cầu giải trí trên thiết bị di động, khuyến khích sinh viên học hỏi, phát triển tư duy thiết kế phần mềm và chuẩn bị cho các dự án lớn hơn trong tương lai.
Thiết kế giao diện người dùng (UI) cần phải trực quan và dễ sử dụng, với giao diện đơn giản và thân thiện, phù hợp cho cả những người không có nhiều kiến thức công nghệ Mục tiêu là đảm bảo người dùng có thể thao tác dễ dàng trên điện thoại.
Xây dựng giao diện người dùng thân thiện và dễ sử dụng là rất quan trọng Thiết kế các màn hình chính như danh sách truyện, chi tiết truyện, danh sách chương và màn hình đọc truyện cần có bố cục rõ ràng, phù hợp với thiết bị di động.
- Thực hiện chức năng đăng nhập và đăng ký người dùng: Áp dụng Firebase Authentication để quản lý người dùng, hỗ trợ đăng nhập bằng email và mật khẩu.
- Quản lý truyện yêu thích: Cung cấp tùy chọn đánh dấu các truyện mà người dùng yêu thích để dễ dàng theo dõi.
- Quản lý truyện thông qua quyền quản trị: cho phép người quản trị thêm mới một truyện, sửa thông tin một truyện, xóa một truyện.
Tích hợp cơ sở dữ liệu giúp lưu trữ và truy xuất thông tin một cách linh hoạt, hiệu quả, đồng thời đảm bảo tính nhất quán và an toàn cho dữ liệu.
Hỗ trợ truy cập và sử dụng mọi lúc, mọi nơi thông qua thiết bị di động, nhằm tăng tính tiện lợi cho sự giải trí của người dùng.
Thử nghiệm và đánh giá hiệu quả của ứng dụng trong môi trường thực tế giúp hoàn thiện và cải tiến các chức năng, từ đó đáp ứng tốt hơn nhu cầu của người dùng.
Giới hạn và phạm vi của đề tài
1.3.1 Đối tượng nghiên cứu Đối tượng nghiên cứu của đề tài là quá trình thiết kế và phát triển một ứng dụng đọc truyện manga hoạt động trên nền tảng Android Cụ thể bao gồm:
Người dùng: Là những người có nhu cầu đọc truyện tranh trên điện thoại di động.
Họ quan tâm đến trải nghiệm sử dụng như giao diện trực quan, tốc độ tải truyện nhanh, dễ tìm kiếm và theo dõi các bộ truyện yêu thích.
Các thành phần trong ứng dụng Android: Bao gồm các thành phần như Activity, Fragment, RecyclerView, ViewPager2, Intent, phục vụ cho việc xây dựng giao diện và điều hướng.
Dịch vụ Firebase: Gồm Firebase Authentication (quản lý tài khoản người dùng), Firebase Realtime Database hoặc Firestore (lưu trữ dữ liệu truyện).
Cấu trúc tổ chức dữ liệu truyện là nghiên cứu về phương pháp lưu trữ và truy xuất thông tin liên quan đến truyện tranh, chương truyện và nội dung của từng chương Mục tiêu là đảm bảo hiệu năng cao và khả năng mở rộng cho hệ thống.
Đề tài này tập trung vào việc phát triển các chức năng cơ bản cho ứng dụng đọc truyện manga, bao gồm hiển thị danh sách truyện, xem thông tin chi tiết, danh sách chương, đọc truyện theo từng chương, đăng nhập/đăng ký người dùng và lưu truyện yêu thích Hiện tại, ứng dụng chưa mở rộng đến các chức năng nâng cao như đề xuất truyện theo sở thích, hệ thống bình luận, hay tải truyện ngoại tuyến.
Ứng dụng này được thiết kế dành cho người dùng phổ thông, đặc biệt là học sinh, sinh viên và những người đam mê truyện tranh, nhằm đáp ứng nhu cầu đọc truyện một cách tiện lợi trên thiết bị di động Android.
Đề tài này tập trung vào việc phát triển ứng dụng trên nền tảng di động Android, sử dụng ngôn ngữ lập trình Java hoặc Kotlin Dữ liệu của ứng dụng được lưu trữ an toàn trên Firestore Database, trong khi hệ thống xác thực người dùng được triển khai thông qua Firebase Authentication.
- Về thời gian: Đề tài được thực hiện trong khoảng thời gian từ tháng 3 đến tháng
Để đảm bảo tiến độ học tập hiệu quả, cần lập kế hoạch phù hợp với môn học, đồng thời dành đủ thời gian cho các giai đoạn thiết kế, lập trình, kiểm thử và hoàn thiện sản phẩm.
Nội dung thực hiện
Để đạt được mục tiêu đã đề ra, đề tài được triển khai qua các nội dung chính sau:
1 Tìm hiểu lý thuyết và công nghệ liên quan:
- Tham khảo các ứng dụng đọc truyện phổ biến hiện nay.
- Nghiên cứu các công nghệ lập trình ứng dụng mobile (Java/Kotlin cho Android hoặc Flutter).
- Tìm hiểu cách thiết kế giao diện người dùng và quản lý cơ sở dữ liệu trên nền tảng mobile.
2 Phân tích và thiết kế hệ thống:
- Xác định yêu cầu hệ thống: chức năng, người dùng, giao diện.
- Thiết kế kiến trúc tổng thể của ứng dụng.
- Thiết kế cơ sở dữ liệu, sơ đồ luồng dữ liệu và các chức năng chính.
3 Xây dựng và lập trình ứng dụng:
- Phát triển từng chức năng như đọc truyện trực quan, quản lý kho truyện, thống kê,
- Thiết kế giao diện người dùng dễ sử dụng và thân thiện.
- Kết nối và xử lý dữ liệu với cơ sở dữ liệu nội bộ.
4 Kiểm thử và đánh giá:
- Thực hiện kiểm thử chức năng và hiệu suất của ứng dụng.
- Đánh giá hiệu quả thực tế của ứng dụng thông qua mô phỏng hoặc thử nghiệm sử dụng.
5 Viết báo cáo tổng kết:
- Tổng hợp kết quả thực hiện.
- Phân tích những điểm đạt được và hạn chế.
- Đề xuất hướng phát triển trong tương lai
CƠ SỞ LÝ THUYẾT
Quy trình phát triển phần mềm
Các bước phát triển phần mềm:
- Bước 1 Thu thập thông tin: Mục đích, mục tiêu chính và đối tượng người dùng
Giai đoạn này tập trung vào việc nghiên cứu yêu cầu của người dùng để xác định các bước tiếp theo Nhiệm vụ quan trọng nhất là hiểu rõ mục đích và chức năng của ứng dụng, xác định nhóm người dùng mục tiêu, và thu thập đầy đủ các yêu cầu từ phía người dùng.
Bước 2: Lập kế hoạch Tại giai đoạn này, lập trình viên sẽ cung cấp cho người dùng cái nhìn tổng quan về ứng dụng hoặc bảng biểu, dựa trên các thông tin đã được thu thập ở bước 1.
- Bước 3 Thiết kế app: tạo bố cục, đánh giá và phê duyệt
Trong giai đoạn thiết kế, ứng dụng của chúng ta sẽ trở nên trực quan hơn với các nút và hình ảnh được tạo ra Thông tin thu thập trong giai đoạn đầu tiên rất quan trọng, và các yêu cầu về trải nghiệm người dùng cần được ghi nhớ trong quá trình thiết kế.
- Bước 4 Viết tài liệu đặc tả SRS (Software Requirement Specification)
SRS là tài liệu chi tiết mô tả các yêu cầu chức năng và phi chức năng của hệ thống, giúp xác định các tính năng cần có và hỗ trợ người dùng trong việc hiểu rõ hệ thống.
Bước 5: Viết mã nguồn (Coding) là giai đoạn quan trọng để bắt đầu phát triển ứng dụng Trước khi viết mã, cần lựa chọn công nghệ và ngôn ngữ lập trình phù hợp với dự án.
- Bước 6 Kiểm thử, Đánh giá và ra mắt sản phẩm
Quá trình kiểm thử là giai đoạn quan trọng và thường xuyên trong quy trình phát triển Tất cả các liên kết cần được kiểm tra để đảm bảo tính logic, không có lỗi hay gián đoạn Cần kiểm tra mọi biểu mẫu, câu lệnh và thực hiện kiểm tra lỗi chính tả cho toàn bộ ứng dụng.
Quy trình phát triển ứng dụng di động cần sự chặt chẽ và hiệu quả để đáp ứng mong đợi của khách hàng Hiểu biết về nhu cầu thị trường và khả năng tương tác với người dùng là yếu tố quan trọng để tạo ra ứng dụng di động thành công.
Phương pháp phân tích thiết kế hướng đối tượng
- Xác định đối tượng và chức năng: Phân tích yêu cầu người dùng và xác định các đối tượng chính như Truyện, Người dùng, Truyện yêu thích, Tài khoản.
- Thiết kế lớp rõ ràng: Các lớp được xây dựng dựa trên các đối tượng thực tế, đảm bảo tính đóng gói, kế thừa và dễ bảo trì.
- Dùng sơ đồ hỗ trợ: Áp dụng các sơ đồ Use Case, Class Diagram và Sequence Diagram để trực quan hóa kiến trúc hệ thống và luồng xử lý.
Thiết kế hướng đối tượng không chỉ tăng cường khả năng mở rộng chức năng cho hệ thống trong tương lai mà còn giúp tái sử dụng mã một cách hiệu quả hơn.
Giới thiệu tổng quan về cơ sở dữ liệu
Firebase là dịch vụ cơ sở dữ liệu thời gian thực của Google, hoạt động trên nền tảng đám mây, giúp lập trình viên phát triển ứng dụng di động nhanh chóng bằng cách đơn giản hóa việc thao tác với cơ sở dữ liệu.
Realtime Database của Firebase là một giải pháp lưu trữ và đồng bộ dữ liệu người dùng dựa trên nền tảng NoSQL và máy chủ đám mây Với thời gian ghi và đọc dữ liệu chỉ tính bằng mili giây, nền tảng này đảm bảo hiệu suất cao Đặc biệt, Realtime Database hỗ trợ đồng bộ hóa dữ liệu ngay cả khi không có kết nối mạng, mang đến trải nghiệm liền mạch cho người dùng bất chấp tình trạng kết nối internet.
Cloud Firestore là cơ sở dữ liệu mới của Firebase, được thiết kế cho các ứng dụng di động Nó kế thừa từ Realtime Database nhưng với mô hình dữ liệu mới, trực quan hơn So với Realtime Database, Cloud Firestore mang lại sự phong phú, tốc độ nhanh hơn và khả năng mở rộng vượt trội.
Firebase Cloud Storage là không gian lưu trữ dữ liệu không giới hạn, cho phép bạn lưu trữ mọi loại tập tin như ảnh, nhạc, video, và các tập tin văn bản hoặc zip Mặc dù có vẻ giống Google Drive, nhưng Firebase Cloud Storage được thiết kế để phục vụ cho lập trình và xây dựng sản phẩm phần mềm, không phải cho mục đích cá nhân Nó tương tự như không gian lưu trữ trên Web host Một trong những ưu điểm nổi bật của Cloud Storage là có sẵn bộ thư viện, giúp bạn dễ dàng tích hợp vào các dự án mà không cần viết mã cho APIs hay xử lý sự kiện khi người dùng gửi yêu cầu, tải lên hoặc tải xuống tập tin, trừ khi cần thiết.
Nếu bạn dự định làm việc với Google Cloud Platform, đặc biệt là Google Cloud Storage, thì Firebase Cloud Storage là lựa chọn hàng đầu mà bạn nên xem xét.
Xác thực là một yếu tố quan trọng trong hầu hết các ứng dụng, giúp bảo vệ dữ liệu an toàn trên đám mây Firebase nổi bật với khả năng xác thực người dùng qua nhiều nền tảng như Email, Facebook, Twitter, GitHub và Google, đồng thời hỗ trợ xác thực nặc danh Quá trình xác thực này đảm bảo thông tin cá nhân của người dùng được bảo vệ an toàn, ngăn chặn việc đánh cắp tài khoản Firebase Authentication hoạt động như một bên trung gian, xử lý tất cả các yêu cầu đăng nhập từ các bên thứ ba.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Đặc tả yêu cầu phần mềm
3.1.1 Các yêu cầu chức năng
Thiết kế ứng dụng cho phép giới thiệu:
Bảng 3.1 Mô tả chức năng
STT Tên yêu cầu Mô tả yêu cầu
Người dùng cần đăng ký vào hệ thống bằng cách điền email và mật khẩu Sau khi đăng ký thành công, thông tin email và mật khẩu sẽ được lưu trữ trên Authentication, và người dùng sẽ nhận được thông báo đăng ký thành công Tiếp theo, người dùng sẽ chuyển sang bước đăng nhập.
2 Đăng nhập tài khoản - Xác thực danh tính người dùng
Người dùng đăng nhập vào hệ thống bằng cách nhập email và mật khẩu Nếu thông tin khớp với dữ liệu lưu trữ, hệ thống sẽ thông báo đăng nhập thành công; nếu không, người dùng sẽ nhận được thông báo yêu cầu đăng nhập lại.
1 Xem danh sách sản phẩm - Người dùng có thể xem danh sách các truyện hiện có
Người dùng có thể xem thông tin chi tiết về truyện, bao gồm tên truyện, tác giả, giới thiệu, hình ảnh và các chương đã phát hành.
3 Thêm truyện vào mục yêu thích
- Người dùng có thể thêm truyện vào mục yêu thích để dễ dàng đọc lại
4 Tìm kiếm truyện - Người dùng có thể tìm kiếm truyện theo tên
5 Phân loại truyện - App tự động phân loại truyện theo thể loại
1 Thêm một truyện mới - Admin có thể thêm một truyện mới với các thông tin của truyện
2 Sửa thông tin truyện - Admin có thể sửa thông tin cơ bản của truyện
3 Xóa một truyện - Admin có thể xóa một truyện đi
3.1.2 Các yêu cầu phi chức năng
Bảng 3.2 Mô tả phi chức năng
STT Tên yêu cầu Mô tả yêu cầu
1 Khả năng dễ sử dụng
- Giao diện cần dễ hiểu, đơn giản để người dùng không quen công nghệ cũng có thể sử dụng được.
- Ứng dụng phải chạy mượt mà trên các thiết bị Android từ phiên bản 6.0 trở lên.
3 Hiệu năng - Ứng dụng phải tải dữ liệu nhanh chóng.
Thiết kế hệ thống
- Cơ sở dữ liệu gồm các đối tương: tài khoản, truyện, người dùng Mỗi đối tượng được khởi tạo trong FireBase. a, Tài khoản
Bảng 3.2.1.a Bảng thuộc tính của Tài khoản
T Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 Email String Duy nhất Địa chỉ mail
2 password String Khác rỗng Mật Khẩu b, Truyện
Bảng 3.2.1.b Bảng thuộc tính của Truyện
STT Tên trường Kiểu dữ liệu Mô tả
1 author string Mã hóa đơn
2 category string Ngày đặt hàng
3 chapter array Dữ liệu của các chương truyện
4 description string Giới thiệu về bộ truyện
5 imageUrl string Đường dẫn ảnh bìa
6 title string Tiêu đề truyện c, Người dùng
Bảng 3.2.1.c Bảng thuộc tính của người dùng
Tên trường Kiểu dữ liệu Mô tả
1 avatarUrl string Đường dẫn ảnh đại diện
2 email string Email người dùng
3 favorites array Các truyện yêu thích của người dùng
5 name string Tên người dùng
3.2.2 Thiết kế giao diện User
Khi thiết kế giao diện trong Android Studio, chúng ta sử dụng các thẻ như EditText, TextView, RecyclerView, LinearLayout và Button để tạo ra các layout cho ứng dụng, bao gồm layout đăng nhập và layout trang đăng ký.
Hình 3.2.2b: Giao diện trang đăng ký c, Layout trang chủ d, Layout trang chi tiết truyện
Hình 3.2.2d: Giao diện trang chi tiết truyện e, Layout trang yêu thích f, Layout trang thay đổi thông tin cá nhân
Hình 3.2.2f: Giao diện trang thay đổi thông tin cá nhân
3.2.3 Thiết kế giao diện Admin
Khi thiết kế giao diện trong Android Studio, chúng ta sử dụng các thẻ như EditText, TextView, RecyclerView, LinearLayout và Button Điều này giúp tạo ra các layout hiệu quả, bao gồm layout đăng nhập dành cho Admin và layout quản lý truyện.
Hình 3.2.3b: Giao diện quản lý truyện c, Layout thêm một truyện mới d, Layout sửa thông tin truyện
Hình 3.2.3d: Giao diện sửa thông tin truyện
TRIỂN KHAI ỨNG DỤNG
Triển khai các chức năng phân hệ người dùng
- Đăng ký và đăng nhập: Xây dựng giao diện và logic cho phép người dùng tạo tài khoản và đăng nhập vào hệ thống bằng email và mật khẩu.
Xem danh sách và chi tiết truyện dễ dàng với thông tin đầy đủ về tác giả, giới thiệu và các chương hiện có Khi người dùng chọn một truyện, họ sẽ được chuyển đến trang chi tiết, và khi nhấp vào một chương, nội dung tương ứng sẽ được hiển thị.
- Lưu truyện yêu thích: Cho phép người dùng thêm truyện vào mục yêu thích, dễ dàng đọc mà không cần tìm lại.
Kiểm thử và triển khai hệ thống
Tiến hành kiểm tra các chức năng như đăng nhập, thêm truyện vào danh sách yêu thích và tìm kiếm truyện để đảm bảo mọi hoạt động đều đáp ứng đúng yêu cầu đã đề ra.
- Đảm bảo giao diện hiển thị đúng, dễ sử dụng, tương thích với nhiều kích thước màn hình và thiết bị Android khác nhau.
- Đảm bảo có sự phân quyền giữa người dùng thông thường và người quản trị hệ thống.
- Triển khai ứng dụng lên điện thoại Android để thử nghiệm trực tiếp và đảm bảo chạy ổn định trong môi trường thực tế.
- Sau khi triển khai, tiếp tục theo dõi để khắc phục lỗi và nâng cấp tính năng nếu cần.
- Giao diện thân thiện, bắt mắt, bố cục cân đối, màu sắc hài hòa
- Xử lý được nhiều dữ liệu đầu vào, đầu ra
- Xử lý tốt các điều khiển thao tác đến dữ liệu trong cơ sở dữ liệu
- Sản phẩm đã có các chức năng: thêm, sửa, xóa, hiển thị.
- Đã nắm rõ được kiến thức: lập trình ứng dụng Mobile cơ bản với java, bằng android studio
Hạn chế của đề tài
- Chưa hoàn thành được toàn bộ các chức năng (về cơ bản đã hoàn thiện được một số chức năng chính)
- Thể loại truyện chưa phong phú
Phần quản lý truyện dành cho admin hiện tại còn thiếu tính năng quản trị chuyên sâu, với các chức năng cơ bản như phân quyền chưa được chi tiết và thiếu thống kê dữ liệu người dùng cũng như lượt đọc truyện.
Hướng phát triển của đề tài
- Tiếp tục hoàn thiện đầy đủ các chức năng
- Bổ sung các thể loại truyện mới để hệ thống thêm sinh động, phong phú
- Đưa hệ thống lên Internet để có nhiều người dùng tiếp cận và trải nghiệm
- Tạo ra phân hệ người quản lý để có thể quản lý các truyện, thể loại,