Giới thiệu đề tài Đề tài tập trung vào việc xây dựng một ứng dụng quản lý thư viện sử dụng Android Studio với cơ sở dữ liệu là SQLite.. Nhiệm vụ đề tài Nhiệm vụ chính của đề tài là phá
Trang 1BO GIAO DUC VA DAO TAO
TRUONG DAI HOC GIA DINH
KHOA: CONG NGHE THONG TIN
GIA DINH
TIEU LUAN
BAO CAO MON HOC
LAP TRINH CHO THIET BI DI DONG
DE TAI XAY DUNG UNG DUNG QUAN LY THU VIEN
GIẢNG VIÊN HƯỚNG DẪN: DINH HOANG GIA
TP.Hồ Chí Minh, 04/2024
Trang 2Khoa/Viện: Công nghệ thông tin
NHAN XET VA CHAM DIEM CUA GIANG VIEN
TIEU LUAN MON: LAP TRINH CHO THIET BI DI DONG
1 Họ và tên sinh viên: Vũ Trần Đức Thành
2 Tên đề tài: Xây dựng ứng dụng quản lý thư viện
3 Nhận xét:
a) Những kết quả đạt được:
4 Điểm đánh giá (/heo thang điểm 10, làm tròn đến 0.5):
lui 0 0 eeee cee ences cen tee see cne see ee sense tenene see ene segues senenn steer ess Diém so: Diém chit: 0.0 eee ee cee cee cee cee cee nen eee eee cenenees
TP.HCM, ngay thang nam
Giang vién cham thi
(Ky và ghi rõ họ tên)
Trang 3MỤC LỤC
CHƯƠNG 1: TỔNG QUANN Q0 HH HH HH gu Tà TT TH T000 60100013 5 1.1 Giới thiệu đề tài L1 S1 1111 111111111111111 1111111111111 11111111101 1T HH1 11111 HH TH Hy 5 1.2 Nhiệm vụ đề tài L Là kL Là Là 1111121111111 11111111111 11111111110 5 11011 T1 11111111 111011 11 1L Lư 5
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 55c se HH HH HH HH HH HH HH HH H1 TH 11g11 110 6
2.3 Ứng Dụng của Android StudÌo ¿ cóc ch 4111 111 11H T1 1111 1 1H10 Hà Tà HT HT HH ệc 6
3.1 Phân tích cơ sở dữ liệu của đề tài 8 3.1.1 SQLIte là BI? SH HH HH HT Họ Họ HT TT TT th 8 3.1.2 Các đối tượng trong cơ sở dữ liệu (Lược đồ quan hệ) - cà LH HH He, 8
3.1.4 Ứng dung va két hop SQLite voi cng cu Android studio 10
KX⁄ 0c son i0 9 an 12
Ko ác 9 7n n6 ằ 14 3.5 Sơ đồ tuần tự (Sequence diagram) 22 3.6 Giao CIGN NEUOI MUNG 25
4.1.1 Triển khai chức nang quan lV thu VIN ce eset csssessesscesessesssessessessessessesssessessessessessassees 26 4.1.2 Sử dụng Android Studio hiệu quả 26 4.1.3 Tích hợp chức năng sử dụng SRS 26
4.2.2 Tối ưu hóa hiệu suất
Trang 5CHUONG 1: TONG QUAN
1.1 Giới thiệu đề tài
Đề tài tập trung vào việc xây dựng một ứng dụng quản lý thư viện sử dụng Android Studio với cơ sở dữ liệu là SQLite Ứng dụng này sẽ giúp hiệu quả hóa quá trình quản lý sách, thông tin độc giả và các giao dịch khác liên quan đến thư viện
1.2 Nhiệm vụ đề tài
Nhiệm vụ chính của đề tài là phát triển một ứng dụng di động trên nền tảng Android Studio để quản lý các hoạt động trong thư viện Cụ thê là mỗi người sẽ có một thư viện riêng để chứa các bài viết của bản thân hoặc người khác Họ có thể tùy chỉnh cho thư viện của họ là public hoặc private bao gồm việc thêm/xóa/sửa thông tin bài viết của mình, quản lý thông tin độc giả, theo dõi các người viết yêu thích,
1.3 Định hướng giải quyết
13.1 Sử dụng Android Studio va SQLite
Chúng ta sẽ sử dụng Android Studio để phát triển giao diện người dùng và xử lý logic ứng dụng Đồng thời, cơ sở dữ liệu sẽ được quản lý bằng SQLite, giúp đơn giản hóa quá trỉnh lưu trữ thông tin trong ứng dụng
1.3.2 Thiết kê giao diện thân thiện và dễ sử dụng
Giao diện ứng dụng sẽ được thiết kế để đảm bảo người dùng có thể dễ dàng thực hiện các chức năng quản lý thư viện mà không gặp khó khăn
1.4 Công cụ để giải quyết
Dé triển khai đề tài, chúng ta sẽ sử dụng Android Studio để phát triển ứng dụng di động cho hệ điều hành Android Cơ sở dữ liệu sẽ được quản lý bằng SQLite, là một hệ quản lý
cơ sở dữ liệu nhẹ và phố biến trong ứng dụng di động
GVHD: Dinh Hoàng Gia 5 SVTH: Vii Tran Dire Thanh
Trang 6CHUONG 2: CO SO LY THUYET
2.1 Giới thiệu về Android Studio
Android Studio là một môi trường phát triển tích hợp (IDE) được Google phát triển dành
cho việc xây dựng ứng dụng di động chạy trên hệ điều hành Android Đây là công cụ
chính thức và mạnh mẽ nhất dé phát triển ứng dụng Android Android Studio được xây
dyng trén nén tang IntelliJ IDEA của JetBrains và được tối ưu hóa cho phát triển Android
2.2 Đặc điểm của Android Studio
_ Gradle Build System: Android Studio sử dụng hệ thông xây dựng Gradle, giúp quản
ly dependencies va tạo ra build hiệu quả cho ứng dụng Android
0 Intelligent Code Editor: Cung cấp một trình soạn thảo mã nguồn thông minh với tính năng kiểm tra lỗi trực tuyến, tự động hoàn thành mã, và refactorings
O Visual Layout Editor: Cho phép thiết kế giao diện người dùng (UD một cách trực quan và thuận tiện
LÌ APK Analyzer: Hễ trợ phân tích kích thước và cầu trúc của ñle APK, giúp tối ưu hóa kích thước ứng dụng
CO Fast Emulator: Android Studio đi kèm với trình giá lập nhanh chóng giúp kiểm thử
ứng dụng trên nhiều thiết bị Android khác nhau
2.3 Ứng Dụng của Android Studio
Trong đề tài xây dựng ứng dụng quản lý thư viện bằng Android Studio, chúng ta sẽ sử
dụng Android Studio dé:
- Phát triển giao diện người dùng (UI) cho ứng dụng quản lý thư viện một cách trực quan
- Kết nỗi với cơ sở dữ liệu SQLite để lưu trữ thông tin về sách, độc giả và các dữ liệu
khác của thư viện
- Quan ly dependencies va str dụng Gradle Build System để xây dựng ứng dụng Android
GVHD: Dinh Hoàng Gia 6 SVTH: Vii Tran Dire Thanh
Trang 7Android Studio giúp đơn giản hóa quả trình phát triển ứng dụng di động và đảm bảo ứng dụng được phát triển một cách hiệu quả và én định trên nền tảng Android
2.4 Kết luận
Trong phần này, chúng ta đã tìm hiêu về Android Studio, một môi trường phát triển tích hợp (IDE) mạnh mẽ dành cho việc xây dựng ứng dụng Android Android Studio không chỉ cung cấp một trải nghiệm phát triên thoải mái mà còn tích hợp nhiều tính năng và công cụ hữu ích
Gradle Build System giup quan ly dependencies va tao build hiệu quả, trình soạn thảo mã nguon thông minh hỗ trợ việc viết mã một cách nhanh chóng và hiệu quả Visual Layout Editor giúp thiết kế giao diện người dùng một cách trực quan, trong khi APK Analyzer giúp tối ưu hóa kích thước ứng dụng
Với sự hỗ trợ của Android Studio, việc phát triển ứng dụng quản lý thư viện trở nên thuận lợi và hiệu quá Chúng ta đã làm quen với các công cụ và tính năng quan trọng, sẵn sàng bước vào quá trình thiết kế và xây dựng ứng dụng Android của mình
GVHD: Dinh Hoàng Gia 7 SVTH: Vii Tran Dire Thanh
Trang 8CHUONG 3: PHAN TICH VA THIET KE
3.1 Phân tích cơ sở dữ liệu của đề tài
3.1.1 SQLite la gi?
SQLite là một cơ sở dữ liệu nhúng, nghĩa là nó được tích hợp trực tiếp vào ứng dụng và
không đòi hỏi một máy chủ riêng biệt đề quản lý Điều này làm cho việc triển khai và duy
tri trở nên đơn giản, đặc biệt là trong các ứng dụng di động và nhúng
SQLite duoc thiết kế để làm việc với dữ liệu nhỏ đến trung bình và không thích hợp cho
các hệ thông lớn Điều này giúp giảm tải cho hệ thống và tối ưu cho các ứng dụng có yêu
cầu về tài nguyên như điện thoại di động và thiết bi IoT
Voi SQLite, khéng cần cài đặt hoặc quản lý một máy chủ cơ sở dữ liệu độc lập Các tập tin co sở dt liéu SQLite được lưu trữ trên thiết bị người dùng hoặc trong bộ nhớ nhúng, làm giảm bớt sự phức tạp cho người phát triển và quản trị viên hệ thống
SQLite hỗ trợ một tập con của SQL, giúp đơn giản hóa quá trình tương tác với cơ sở đữ liệu Dù nhẹ nhàng, nó vẫn cung cấp các tính năng quan trong nhw transaction management, indexing, va các ràng buộc khác nhau
SQLite là đa nền tảng và có thê chạy trên nhiều hệ điều hành khác nhau như Android, 1OS, Windows, Linux, và nhiều hệ điều hành nhúng khác
SQLite là mã nguồn mở (Open source), điều này có nghĩa là mã nguồn của nó là công khai và có thê xem xét, sửa đôi, và sử dụng mà không cân phải trả bat ky chi phi nao 3.1.2 Các đối tượng trong cơ sở dữ liệu (Lược do quan hệ)
LI User (Người Dùng)
Thuộc tính:
- UserID (Khóa chính), Username, Email, Password, Role (quyết định vai trò: Admin, Writter, Reader)
O Writter (Nguoi Viét)
GVHD: Dinh Hoang Gia 8 SVTH: Vi Tran Dire Thanh
Trang 9Thuộc tính: WritterID (Khóa chính liên kết với UserID của User)
LI Reader (Độc Giả)
Thuộc tính: ReaderID (Khóa chính liên kết với UserID của User)
L Admin (Quản Trị Viên)
Thuộc tính: AdminID (Khóa chính liên kết với UserID của User)
H Artdical (Bài Viết)
Thuộc tính: ArticalID (Khóa chính), Tide, Content, Image, WritterID (Khóa ngoại liên kết với WritterID của Writter)
LI Library (Thư Viện)
Thuộc tính: LibraryID (Khóa chính), UserID (Khóa ngoại liên kết với UserID của User),
ArticalID (Khóa ngoại liên kết với ArticalID của Articall)
Trang 103.1.4 Ứng dụng và kết hop SQLite voi công cy Android studio
Trong quá trình phát triển ứng dụng di động bằng Android Studio, việc sử dụng cơ sở dữ liệu là quan trọng đề lưu trữ và quản lý thông tin SQLite là một hệ quản trị cơ sở dữ liệu nhẹ và phô biến, thường được tích hợp trực tiếp vào ứng dụng di động Android
Một số điểm quan trọng về việc ứng dụng và kết hợp SQLite trong Android Studio:
O SQLite trong Android: Android cung cấp hỗ trợ tích hợp sẵn cho SQLite, giúp phat triển ứng dụng có khả năng lưu trữ và truy xuất dữ liệu một cách dễ dàng
CO Tích hợp trong Android Studio: Android Studio hỗ trợ quy trình thiết lập và quản lý
cơ sở dir ligu SQLite Cac céng cu hỗ trợ cho việc tạo và quản lý cơ sở dữ liệu được tích hợp vào IDE, giúp giảm bớt độ phức tạp của quá trình này
CO ORM (Object-Relational Mapping): D6éi với việc tương tác với SQLite trong Android, có các thư viện ORM nhu Room Persistence Library giúp đơn giản hóa việc thao tác với cơ sở dữ liệu bằng cách ánh xạ đối tượng trực tiếp vào bảng trong SQLite
O Quan ly phién ban co sé dir ligu: Trong qua trình phát triển, việc thay đối cầu trúc
cơ sở dữ liệu là không tránh khỏi Android Studio cung cấp các công cụ giúp quản lý việc nâng cấp và giảm cấp phiên bản cơ sở đữ liệu một cách hiệu quả
Kết hợp giữa Android Studio va SQLite giúp xây dựng ứng dụng di động có khả năng lưu trữ dữ liệu một cách lĩnh hoạt và hiệu quả Việc này làm tăng trải nghiệm người dùng và cung cấp khả năng làm việc offline cho ứng dụng
GVHD: Dinh Hoàng Gia 10_SVTH: Vũ Trần Đức Thành
Trang 113.2 Mô hình hóa yêu cầu
3.2.1 Xác định Actor
Reader (Độc giả): Là những người truy cập và đọc nội dung bài viết trên thư viện của người khác Vai trò của Reader giúp tạo nên một cộng đồng xã hội quanh nội dung, đồng thời đóng vai trò quan trọng trong việc tạo ra sự tương tác và phản hồi trong cộng đồng trực tuyến Chức năng của Reader là:
- Xem nội dung: Truy cập và xem các bài viết, tin tức, hoặc nội dung khác mà Writter da đăng
- Bình luận và phán hồi: Đề lại bình luận và phản hồi về nội dung
- Theo dõi và đăng ký: Theo dõi Writter hoặc đăng ký để nhận thông báo về các bài viết
mới Thực hiện các hành động như "like” hoặc "đánh giá" dưới bài viết
- Chia sẻ nội dung: Chia sẻ bài viết hoặc nội dung yêu thích qua các phương tiện truyền thông xã hội
- Tìm kiếm và lọc nội dung: Sử dụng các công cụ tìm kiếm để tìm kiếm nội dung cụ thé hoặc theo chủ đề Lọc nội dung theo các tiêu chí như ngày đăng, danh mục, hoặc từ khóa
- Tham gia cộng đồng: Gia nhập cộng đồng của các Writter và Reader để chia sẻ ý kiến, gặp gỡ những người có sở thích tương tự
- Đánh giá nội dung: Đánh giá nội dung hoặc bài viết thông qua các hệ thống đánh giá Writter (Người viết: Là những người được quản trị viên cấp quyền có vai trò viết và đăng các bài trên thư viện của họ Họ có thể thêm, sửa, và xóa các bài viết trên trang thư viện Chức năng cua Writter 1a:
- Quản lý nội dung với các chức năng như định dạng văn bản, thêm hình ảnh, và liên kết
- Quản lý bình luận và phản hồi: Kiểm soát và quản lý bình luận từ độc giả Phản hồi với
độc giả hoặc tham gia vào các cuộc thảo luận
GVHD: Dinh Hoàng Gia 11 SVTH: Vũ Trần Đức Thành
Trang 12- Theo dõi thống kê và hiệu suất: Xem thông kê về lượt xem, người đọc, và tương tác với nội dung
- Phân quyền và quyền lợi: Xác định các quyền lợi và phân quyền cho các tác nhân khác trên trang thư viện Quyết định ai có thê thay và sửa đôi nội dung
Admin (Quản trị viên): Là người làm chủ hệ thống, có quyền kiêm soát mọi hoạt động của hệ thống Quản trị có thê thay đôi kết cấu chỉ tiết của hệ thông và quản lý trực tiếp trang thư viện; quản lý cập nhật thông tin về các bài đăng: quản lý các ý kiến phản hồi của người dùng: tiếp nhận, kiểm tra và xử lý đơn khiếu nại; quản lý thông tin người dùng
- Đăng ký, đăng nhập, đăng xuat
Reader (Déc gia)
- Bình luận
" - Dang ký, đăng nhập, đăng xuất
- Xem, thêm, sửa, xóa, thông tin bài viết
- Đăng ký, đăng nhập, đăng xuất
Admmn (Quản trị viên) - Xem, thêm, sửa, xóa, thông tin bài viết
GVHD: Dinh Hoàng Gia 12 SVTH: Vii Tran Dire Thanh
Trang 133.3 Sơ đồ Use Case
Trang 143.4 Đặc tả Use Case
LI Đăng ký (Register)
Mã Use Case UC001 | Tên Use Case | Đăng ký
Tac nhan (Actor) Admin, Writter, Reader ,
Mô tả Cho phép tác nhân đăng ký trên hệ thông đê có thê đăng nhập
Sự kiện kích hoạt Nhập vào nút “Đăng ký”
Tiên điêu kiện Tác nhân chưa có tài khoản và chưa đăng nhập
Luống sự kiện chính STT | Thực hiện bởi Hành động
(Mam Flow) 1 Tác nhân Chọn chức năng “Đăng ký”
2 Hệ thông Hiên thị giao diện “Đăng ký”
3 Tác nhân bu thông tin cá nhân vào form đăng
Kiêm tra thông tin đăng ký Nêu thông
4 Hệ thống tín hợp lệ sé thong bao Dang ky thanh
công” và cập nhật thông tin của người dung Ket thúc secase
Luong sự kiện thay || ŠTT | Thực hiện bởi Hành động
doi « Tư Hủy thực hiện yêu câu Kết thúc
(Alternative Flows) Tác nhân Usecase
% Hệ thống Thông báo lối: “Hệ thông lỗi” Kết thúc
Usecase nak Thông báo lỗi: “Thông tin bỏ trồng hoặc
đa | HỆthôPE | thông hợp lệ”, Đưa về bước 3
Cac kich ban kiém thir | Main path: 1, 2, 3, 4
(Scenerios) Alternate paths: 1; 1, 2; 1, 2, 3; 1, 2,3, 4a (4)
Hậu điều kiện Tác nhân đăng ký tài khoản thành công
GVHD: Dinh Hoang Gia 14 SVTH: Vii Tran Disc Thanh