Nắm bắt nhu cầu đó, nhóm chúng em quyết định tìm hiểu và nghiên cứu để xây dựng ứng dụng đọc và trao đổi sách cũ hoạt động như một mạng xã hội dành cho những người dùng yêu sách giấy tru
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
ĐÀO ĐỨC HUY TRẦN MINH TRÍ
KHÓA LUẬN TỐT NGHIỆP
PHÁT TRIỂN ỨNG DỤNG ĐỌC SÁCH VÀ CHIA SẺ
TRAO ĐỔI SÁCH CŨ TRÊN DI ĐỘNG
Developing application for reading and sharing old books on
mobile
KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM
Trang 2ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
ĐÀO ĐỨC HUY – 15520295 TRẦN MINH TRÍ – 15520925
KHÓA LUẬN TỐT NGHIỆP
PHÁT TRIỂN ỨNG DỤNG ĐỌC SÁCH VÀ CHIA SẺ
TRAO ĐỔI SÁCH CŨ TRÊN DI ĐỘNG
Developing application for reading and sharing old books on
mobile
KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM
GIẢNG VIÊN HƯỚNG DẪN ThS NGUYỄN THỊ THANH TRÚC
Trang 3DANH SÁCH HỘI ĐỒNG BẢO VỆ KHÓA LUẬN
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
……… ngày ……… của Hiệu trưởng Trường Đại học Công nghệ Thông tin
1 ……… – Chủ tịch
2 ……… – Thư ký
3 ……… – Ủy viên
4 ……… – Ủy viên
Trang 4ĐHQG TP HỒ CHÍ MINH CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập – Tự Do – Hạnh Phúc
CÔNG NGHỆ THÔNG TIN TP HCM, ngày tháng năm 2021
NHẬN XÉT KHOÁ LUẬN TỐT NGHIỆP (CỦA CÁN BỘ HƯỚNG DẪN)
Tên khoá luận:
PHÁT TRIỂN ỨNG DỤNG ĐỌC SÁCH VÀ CHIA SẺ TRAO ĐỔI SÁCH CŨ
TRÊN DI ĐỘNG
Đào Đức Huy 15520295 ThS Nguyễn Thị Thanh Trúc Trần Minh Trí 15520925
Đánh giá khoá luận:
1 Về cuốn báo cáo:
Số trang: Số chương:
Số bảng số liệu: Số hình vẽ:
Số tài liệu tham khảo: Sản phẩm:
Một số nhận xét về hình thức cuốn báo cáo:
···
···
···
2 Về nội dung nghiên cứu: ···
···
···
···
Trang 53 Về chương trình ứng dụng:
···
···
···
···
4 Về thái độ làm việc của sinh viên: ···
···
···
Đánh giá chung: ···
···
···
···
Điểm từng sinh viên: Đào Đức Huy: /10
Trần Minh Trí: /10
Người nhận xét
(Ký tên và ghi rõ họ tên)
Trang 6ĐHQG TP HỒ CHÍ MINH CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC Độc Lập – Tự Do – Hạnh Phúc
CÔNG NGHỆ THÔNG TIN TP HCM, ngày tháng năm 2021
NHẬN XÉT KHOÁ LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ PHẢN BIỆN)
Tên khoá luận:
NGHIÊN CỨU AR VÀ XÂY DỰNG ỨNG DỤNG CHỈ DẪN
UIT-AR
Đào Đức Huy 15520295
Trần Minh Trí 15520925
Đánh giá khoá luận:
1 Về cuốn báo cáo:
Số trang: Số chương:
Số bảng số liệu: Số hình vẽ:
Số tài liệu tham khảo: Sản phẩm:
Một số nhận xét về hình thức cuốn báo cáo:
···
···
···
2 Về nội dung nghiên cứu: ···
···
···
···
Trang 73 Về chương trình ứng dụng:
···
···
···
···
4 Về thái độ làm việc của sinh viên: ···
···
···
Đánh giá chung: ···
···
···
···
Điểm từng sinh viên: Đào Đức Huy: /10
Trần Minh Trí: /10
Người nhận xét
(Ký tên và ghi rõ họ tên)
Trang 8LỜI CẢM ƠN
Thực tế luôn cho thấy, sự thành công nào cũng đều gắn liền với những sự hỗ
trợ, giúp đỡ của những người xung quanh dù cho sự giúp đỡ đó là ít hay nhiều, trực
tiếp hay gián tiếp Trong suốt thời gian từ khi bắt đầu làm luận văn đến nay, chúng
em đã nhận được sự quan tâm, chỉ bảo, giúp đỡ của thầy cô, gia đình và bạn bè xung
quanh
Với tấm lòng biết ơn vô cùng sâu sắc, chúng em xin gửi lời cảm ơn chân thành
nhất từ đáy lòng đến quý Thầy Cô của Trường Đại học Công Nghệ Thông Tin đã
cùng dùng những tri thức và tâm huyết của mình để có thể truyền đạt cho chúng em
trong vốn kiến thức quý báu suốt thời gian học tập tại trường
Đặc biệt, chúng em xin chân thành cảm ơn ThS Nguyễn Thị Thanh Trúc đã tận
tâm chỉ bảo hướng dẫn chúng em qua từng buổi học, từng buổi nói chuyện, thảo luận
về đề tài nghiên cứu Nhờ có những lời hướng dẫn, dạy bảo đó, bài luận văn này của
chúng em đã hoàn thành một cách xuất sắc nhất Một lần nữa, em xin gửi lời cảm ơn
chân thành đến cô
Khi thực hiện luận văn chúng em còn bỡ ngỡ vì vốn kiến thức của chúng em có
hạn Do vậy, không tránh khỏi những thiếu sót, chúng em rất mong nhận được ý kiến
đóng góp của quý Thầy Cô để bài luận được hoàn thiện hơn
Thành phố Hồ Chí Minh, tháng 01 năm 2021
Đào Đức Huy Trần Minh Trí
Trang 9ĐHQG TP HỒ CHÍ MINH CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập – Tự Do – Hạnh Phúc
CÔNG NGHỆ THÔNG TIN
ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: PHÁT TRIỂN ỨNG DỤNG ĐỌC SÁCH VÀ CHIA SẺ TRAO ĐỔI SÁCH CŨ TRÊN DI ĐỘNG (DEVELOPING APP FOR READING AND SHARING OLD BOOKS ON MOBILE)
Cán bộ hướng dẫn:
❖ TS NGUYỄN HÀ GIANG
❖ ThS NGUYỄN THỊ THANH TRÚC
Thời gian thực hiện: Từ ngày 07/09/2020 đến ngày 02/01/2021
Sinh viên thực hiện:
dụng cho phép người dùng tìm và mượn các quyển sách mình muốn từ những người dùng
sở hữu quyển sách đó, thông qua đó họ cũng có thể trở thành những người trực tiếp bình luận và đánh giá về những quyển sách mà mình đã đọc sau đó chia sẻ cho người khác được mượn lại quyển sách đó Hiện nay trên thị trường có một số app có cùng tính năng như: GAT, BEE – Book Exchange Easy, BorrowBox Library, Libby, Kindle Lending, BookLending … nhưng những phần mềm và hệ thống trên được thiết kế trải nghiệm người dùng (UX) không được tốt, khó sử dụng cho người mới bắt đầu, ngoài ra còn hạn chế về
Trang 10mặt hỗ trợ người dùng tìm kiếm nội dung phù hợp, các đầu sách còn chưa được phân loại khiến người dùng gặp khó khăn trong việc tìm, tham khảo đánh giá từ những người dùng khác về những cuốn sách mà họ quan tâm Qua đó chúng em thấy một số các ứng dụng cần được cải thiện và đó là lý do mà em chọn đề tài
Mục tiêu của đề tài:
❖ Xây dựng ứng dụng giúp người dùng:
- Tìm và mượn được các quyển sách mình mong muốn
- Chia sẻ sách của mình cho nhưng người cần đọc
- Viết bình luận, đánh giá về những quyển sách mình đã đọc
- Quản lý việc cho mượn và chia sẻ sách
Phương pháp thực hiện:
- Thu thập dữ liệu về những quyển sách bao gồm thông tin về sách và tổng
quan nội dung quyển sách và lưu trữ trên hệ thống cơ sở dữ liệu
- Viết ứng dụng và dùng dữ liệu cá nhân của người dùng để quản lý kệ sách
cá nhân đồng thời quản lý việc cho mượn sách
- Dùng dữ liệu cá nhân của người dùng để đưa ra những nội dung khuyến
nghị về sách phù hợp
Các nội dung chính và giới hạn của đề tài:
Cần phải tìm và tải các đầu sách hiện có lên hệ thống cơ sở dữ liệu Sau khi tải lên
dữ liệu, người dùng sẽ đăng nhập và tìm kiếm các đầu sách trên hệ thống cơ sở dữ liệu hiện có, nếu không có thông tin về quyển sách trên, người dùng có thể tự thêm các đầu sách mình đã đọc lên ứng dụng Sau khi người dùng chọn một đầu sách nào đó họ có thể chọn mượn sách hoặc viết bình luận, đánh giá về quyển sách đó Trong quá trình mượn người dùng có thể chọn cụ thể người dùng khác đang sở hữu quyển sách mà mình cần mượn bằng việc gửi yêu cầu và nhắn tin cho người dùng đó, chủ quyển sách sẽ được thông báo và thỏa thuận về việc cho mượn sách bằng hệ thống tin nhắn của ứng dụng
Trang 11Kế hoạch thực hiện:
Làm việc nhóm với 2 thành viên, chủ yếu ứng dụng được thực hiện tại nhà và trình bày với giảng viên hàng tuần để giảng viên theo dõi tiến độ, đánh giá, nhận xét và lên kế hoạch cho những tuần tiếp theo
Giai đoạn 1: Khảo sát 07/09/2020 - 14/09/2020 - Tìm hiểu và trải nghiệm
Giai đoạn 2: Phân tích, thiết
kế
15/09/2020 - 29/09/2020 - Phân tích, xác định
chức năng của ứng dụng
Trang 12Giai đoạn 6: Kiểm thử Tháng 12/2020 - 1/2021 - Kiểm thử và sửa lỗi các
tính năng của ứng dụng Giai đoạn 7: Hoàn thành
Trang 13Mục lục
TÓM TẮT KHÓA LUẬN 1
Chương 1 TỔNG QUAN ĐỀ TÀI 2
1.1 Phát biểu đề tài nghiên cứu 2
1.2 Mục tiêu và phạm vi của đề tài 3
1.2.1 Mục tiêu 3
1.2.2 Phạm vi 4
1.3 Đối tượng sử dụng 4
1.4 Kết quả dự kiến 4
1.5 Phương pháp nghiên cứu và nguồn số liệu 4
1.5.1 Phương pháp nghiên cứu 4
1.5.2 Nguồn dữ liệu 5
1.6 Kết cấu luận văn 5
Chương 2 MẠNG XÃ HỘI 6
2.1 Mạng xã hội là gì? 6
2.2 Cấu thành 6
2.3 Mục tiêu 7
2.4 Đặc điểm 8
2.4.1 Danh tính trực tuyến 8
2.4.2 Xây dựng mạng lưới xã hội 8
2.4.3 Duy trì mạng lưới xã hội 8
2.4.4 Tương tác trong mạng xã hội 8
2.4.5 Nội dung do người dùng tạo 9
2.4.6 Mạng xã hội tự quản lý 9
Trang 142.5 Các loại hình dịch vụ mạng xã hội 9
2.5.1 Dịch vụ mạng xã hội xây dựng hồ sơ người dùng 9
2.5.2 Dịch vụ mạng xã hội xây dựng nội dung 10
2.5.3 Môi trường ảo nhiều người dùng 10
2.5.4 Dịch vụ mạng xã hội trên điện thoại di động 10
2.5.5 Micro-blog 11
2.5.6 Social search 11
2.6 Các hoạt động trên dịch vụ mạng xã hội 12
2.6.1 Kết nối mạng cá nhân 12
2.6.2 Tạo và tùy chỉnh hồ sơ 12
2.6.3 Marketing và quảng cáo 12
2.6.4 Mạng xã hội cấp công ty 13
2.7 Ứng dụng 13
2.7.1 Ứng dụng trong chính phủ 13
2.7.2 Ứng dụng trong kinh doanh 14
2.7.3 Ứng dụng trong giáo dục 15
2.7.4 Ứng dụng trong lĩnh vực xã hội và chính trị 15
2.8 Kết luận 16
Chương 3 HỆ THỐNG KHUYẾN NGHỊ 18
3.1 Giới thiệu 18
3.2 Mục tiêu của hệ thống khuyến nghị 18
3.3 Một số ví dụ về hệ thống khuyến nghị 21
3.3.1 GroupLens Recommender System 21
3.3.2 Amazon Recommender System 21
Trang 153.3.3 Facebook Friend Recommendations 22
3.4 Các phương pháp gợi ý 22
3.4.1 Hệ thống gợi ý dựa theo lọc cộng tác 23
3.4.2 Hệ thống gợi ý dựa theo nội dung 24
3.4.3 Hệ thống gợi ý dựa trên cơ sở tri thức 25
3.4.4 So sánh các phương pháp gợi ý 26
3.5 Kết luận 27
Chương 4 TÌM HIỂU VÀ PHÂN TÍCH CÁC ỨNG DỤNG TƯƠNG TỰ TRÊN THỊ TRƯỜNG 29
4.1 Ứng dụng GAT 29
4.2 Ứng dụng BEE – Book Exchange Easy – beepapp.io 32
4.3 Ứng dụng BorrowBox Library 33
4.4 Ứng dụng Libby, by OverDrive 36
4.5 Kindle Lending 38
4.6 Kết quả 39
Chương 5 KHẢO SÁT VÀ NGHIÊN CỨU THỰC HIỆN ĐỀ TÀI 40
5.1 Nghiên cứu các phương pháp thực hiện đề tài 40
5.1.1 Công nghệ xây dựng ứng dụng Android 40
5.1.2 Công nghệ xây dựng hệ thống cơ sở dữ liệu 62
5.2 Chọn phương pháp thực hiện đề tài 67
Chương 6 PHÂN TÍCH, THIẾT KẾ 68
6.1 Phân tích, thiết kế hệ thống 68
6.1.1 Danh sách chức năng 68
6.1.2 Sơ đồ hoạt động chức năng Đăng nhập 70
Trang 166.1.3 Sơ đồ hoạt động chức năng Đăng ký 71
6.1.4 Sơ đồ hoạt động chức năng Quản lý thông tin cá nhân 72
6.1.5 Sơ đồ hoạt động chức năng Quản lý kệ sách cá nhân 73
6.1.6 Sơ đồ hoạt động chức năng Tra cứu thông tin sách 74
6.1.7 Sơ đồ hoạt động chức năng Bình luận, đánh giá sách 75
6.1.8 Sơ đồ hoạt động chức năng Tìm kiếm sách 76
6.1.9 Sơ đồ hoạt động chức năng Khuyến nghị nội dung cho người dùng 77 6.1.10 Sơ đồ hoạt động chức năng Thông báo 78
6.1.11 Sơ đồ hoạt động chức năng Mượn sách từ người dùng khác 79
6.1.12 Sơ đồ hoạt động chức năng Nhắn tin 80
6.2 Thiết kế giao diện người dùng của ứng dụng 81
6.2.1 Giao diện màn Đăng nhập 81
6.2.2 Giao diện màn hình Đăng ký 83
6.2.3 Giao diện màn hình Quản lý thông tin cá nhân 85
6.2.4 Giao diện màn hình Quản lý kệ sách cá nhân 88
6.2.5 Giao diện màn hình Tra cứu thông tin sách 91
6.2.6 Giao diện màn hình Bình luận, đánh giá sách 94
6.2.7 Giao diện màn hình Tìm kiếm sách 98
6.2.8 Giao diện màn hình Khuyến nghị nội dung cho người dùng 101
6.2.9 Giao diện màn hình Thông báo 103
6.2.10 Giao diện màn hình Mượn sách từ người dùng khác 105
6.2.11 Giao diện màn hình Nhắn tin 108
6.3 Thiết kế dữ liệu 112
Trang 176.3.1 Sơ đồ lớp dữ liệu 112
6.3.2 Mô tả 112
Chương 7 XÂY DỰNG ỨNG DỤNG SAMBOOK 116
7.1 Cài đặt và liên kết cơ sở dữ liệu 116
7.1.1 Yêu cầu sử dụng Firebase 116
7.1.2 Thêm Firebase bằng cách sử dụng Firebase console 116
7.2 Xây dựng ứng dụng và các chức năng 120
7.2.1 Xây dựng chức năng Đăng nhập 120
7.2.2 Xây dựng chức năng Đăng ký 122
7.2.3 Xây dựng chức năng Quản lý thông tin cá nhân 124
7.2.4 Xây dựng chức năng Quản lý kệ sách cá nhân 126
7.2.5 Xây dựng chức năng Tra cứu thông tin sách 128
7.2.6 Xây dựng chức năng Đánh giá, bình luận sách 130
7.2.7 Xây dựng chức năng Tìm kiếm sách 133
7.2.8 Xây dựng chức năng Khuyến nghị nội dung cho người dùng 136
7.2.9 Xây dựng chức năng Thông báo 138
7.2.10 Xây dựng chức năng Mượn sách từ người dùng khác 140
7.2.11 Xây dựng chức năng Nhắn tin 142
Chương 8 TỔNG KẾT 144
8.1 Thành quả đạt được 144
8.2 Khó khăn 144
8.3 Hướng phát triển 145
TÀI LIỆU THAM KHẢO 146
Trang 19DANH MỤC HÌNH VẼ
Hình 1.1: Giá trị khi thưởng thức sách giấy truyền thống dường như không thể
bị thay thế 3
Hình 2.1: Minh họa cấu trúc của mạng xã hội 7
Hình 3.1: Mô tả hệ thống gợi ý dựa theo lọc cộng tác 24
Hình 3.2: Mô tả hệ thống gợi ý dựa theo nội dung 25
Hình 3.3: Mô tả hệ thống gợi ý dựa trên cơ sở tri thức 26
Hình 4.1: Khẩu hiệu của GAT 29
Hình 4.2: Ứng dụng GAT 31
Hình 4.3: Biểu tượng ứng dụng BEE 32
Hình 4.4: Biểu tượng ứng dụng BorrowBox Library 33
Hình 4.5: Ứng dụng BorrowBox Library 34
Hình 4.6: Biểu tượng ứng dụng Libby 36
Hình 4.7: Mô tả ứng dụng Libby 36
Hình 4.8: Giới thiệu ứng dụng Libby 37
Hình 4.9: Trang web Amazon 38
Hình 5.1: So sánh Java và Kotlin Android 42
Hình 5.2: Mô tả React Native 46
Hình 5.3: Giới thiệu Flutter 49
Hình 5.4: Cấu trúc ngôn ngữ Flutter 51
Hình 5.5: Ngôn ngữ Xamarin 53
Hình 5.6: Biểu tượng Firebase 62
Hình 5.7: Biểu tượng Realm 62
Hình 5.8: Biểu tượng SQLite 63
Hình 5.9: Biểu tượng MongoDB 64
Hình 6.1: Sơ đồ tình huống sử dụng 69
Hình 6.2: Sơ đồ hoạt động chức năng Đăng nhập 70
Hình 6.3: Sơ đồ hoạt động chức năng Đăng ký 71
Hình 6.4: Sơ đồ hoạt động chức năng Quản lý thông tin cá nhân 72
Trang 20Hình 6.5: Sơ đồ hoạt động chức năng Quản lý kệ sách cá nhân 73
Hình 6.6: Sơ đồ hoạt động chức năng Tra cứu thông tin sách 74
Hình 6.7: Sơ đồ hoạt động chức năng Bình luận, đánh giá sách 75
Hình 6.8: Sơ đồ hoạt động chức năng Tìm kiếm sách 76
Hình 6.9: Sơ đồ hoạt động chức năng Khuyến nghị nội dung cho người dùng 77
Hình 6.10: Sơ đồ hoạt động chức năng Thông báo 78
Hình 6.11: Sơ đồ hoạt động chức năng Mượn sách từ người dùng khác 79
Hình 6.12: Sơ đồ hoạt động chức năng Tin nhắn 80
Hình 6.13: Màn hình Đăng nhập 81
Hình 6.14: Màn hình Đăng ký 83
Hình 6.15: Màn hình Quản lý thông tin cá nhân 85
Hình 6.16: Màn hình Điều chỉnh thông tin cá nhân 86
Hình 6.17: Màn hình Kệ sách cá nhân trong Quản lý thông tin cá nhân 88
Hình 6.18: Màn hình Tra cứu thông tin sách, nơi chứa chức năng thêm sách vào kệ sách 89
Hình 6.19: Màn hình Tra cứu thông tin sách mục mô tả 91
Hình 6.20: Màn hình Tra cứu thông tin sách mục đánh giá, bình luận 92
Hình 6.21: Màn hình Tra cứu thông tin sách mục bình luận, đánh giá 94
Hình 6.22: Màn hình tạo/sửa Bình luận, đánh giá sách 95
Hình 6.23: Màn hình Chi tiết bình luận sách 96
Hình 6.24: Màn hình Tìm kiếm sách 98
Hình 6.25: Màn hình Tìm kiếm sách với chức năng lọc sách theo thể loại 99
Hình 6.26: Màn hình Chính của ứng dụng thể hiện danh sách tựa sách đề xuất 101
Hình 6.27: Màn hình Thông báo 103
Hình 6.28: Màn hình Tra cứu thông tin sách 105
Hình 6.29: Màn hình Danh sách người dùng sở hữu sách cần mượn 106
Trang 21Hình 6.30: Màn hình Quản lý thông tin cá nhân, nơi truy cập chức năng Nhắn
tin 108
Hình 6.31: Màn hình Danh sách tin nhắn 109
Hình 6.32: Màn hình Nhắn tin 110
Hình 6.33: Sơ đồ lớp dữ liệu 112
Hình 7.1: Màn hình đăng ký ứng dụng với Firebase 117
Trang 22DANH MỤC BẢNG
Bảng 3.1: So sánh các phương pháp gợi ý 23Bảng 5.1: So sánh các công nghệ xây dựng ứng dụng Android 61Bảng 5.2: So sánh các công nghệ xây dựng hệ thống cơ sở dữ liệu 67
Trang 23DANH MỤC MÃ CODE
Mã code 7.1: Thêm plugin google-service vào các file Gradle 118
Mã code 7.2: Thêm plugin google-service vào các file Gradle 118
Mã code 7.3: Thêm Android SDK vào ứng dụng 119
Mã code 7.4: Hàm kiểm tra tính xác thực của thông tin đăng nhập người dùng 120
Mã code 7.5: Hàm hiển thị thông báo tên tài khoản chưa đăng ký 121
Mã code 7.6: Hàm kiểm tra tính hợp lệ của thông tin đăng ký tài khoản 122
Mã code 7.7: Hàm liên kết cơ sở dữ liệu và thêm thông tin người dùng vừa đăng ký 122
Mã code 7.8: Hàm thêm dữ liệu người dùng vào cơ sở dữ liệu 123
Mã code 7.9: Hàm kiểm tra tên tài khoản đăng nhập đã tồn tại 123
Mã code 7.10: Hàm lấy thông tin người dùng sau khi đăng nhập ứng dụng 124
Mã code 7.11: Hàm kiểm tra tính hợp lệ của thông tin điều chỉnh hồ sơ người dùng 124
Mã code 7.12: Hàm cập nhật dữ liệu hồ sơ người dùng sau khi điều chỉnh 124
Mã code 7.13: Hàm thêm tựa sách vào kệ sách cá nhân 126
Mã code 7.14: Hàm cập danh sách người dùng sở hữu tựa sách sau khi người dùng thêm tựa sách vào kệ 126
Mã code 7.15: Hàm cập nhật danh sách tựa sách trên kệ sách của người dùng 127
Mã code 7.16: Hàm cập nhật dữ liệu vào hệ thống cơ sở dữ liệu 127
Mã code 7.17: Hàm lấy thông tin tựa sách được chọn để tra cứu và hiển thị các thông tin trên lên màn hình 128
Mã code 7.18: Hàm lấy thông tin sách cho mục hiển thị thông tin sách 128
Mã code 7.19: Hàm lấy thông tin sách và thông người dùng cho mục hiển thị đánh giá, bình luận 128
Mã code 7.20: Hàm hiển thị thông tin danh sách bình luận, đánh giá cho mục bình luận, đánh giá 129
Trang 24Mã code 7.21: Hàm xử lý thao tác trên thanh cho điểm đánh giá 130
Mã code 7.22: Hàm xử lý hoạt động thêm hoặc sửa bình luận sách 131
Mã code 7.23: Hàm xử lý kết quả thêm hoặc sửa bình luận 132
Mã code 7.24: Hàm cập nhật đánh giá, bình luận vào hệ thống cơ sở dữ liệu 132
Mã code 7.25: Hàm lấy thông tin đánh giá, bình luận cho màn hình chi tiết bình luận sách 133
Mã code 7.26: Hàm lấy danh sách sách và danh sách thể loại sách từ hệ thống
Mã code 7.29: Hàm xử lý nội dung khuyến nghị cho người dùng – 1 136
Mã code 7.30: Hàm xử lý nội dung khuyến nghị cho người dùng – 2 137
Mã code 7.31: Hàm hiển thị nội dung khuyến nghị 137
Mã code 7.32: Hàm lấy thông tin danh sách thông báo từ hệ thống cơ sở dữ liệu 138
Mã code 7.33: Hàm cập nhật thông tin thông báo khi có sự kiện diễn ra 138
Mã code 7.34: Hàm cập nhật thông tin thông báo khi có sự kiện diễn ra vào hệ thống cơ sở dữ liệu 139
Mã code 7.35: Hàm lấy danh sách người dùng sở hữu sách từ hệ thống cơ sở
dữ liệu 140
Mã code 7.36: Hàm gửi yêu cầu mượn sách và cập nhật thông tin vào hệ thống
cơ sở dữ liệu 140
Mã code 7.37: Hàm lấy danh sách tin nhắn từ hệ thống cơ sở dữ liệu 142
Mã code 7.38: Hàm lấy tin nhắn từ hệ thống cơ sở dữ liệu tương ứng với một người dùng nhất định 143
Trang 25Mã code 7.39: Hàm gửi tin nhắn cho người dùng khác và cập nhật vào hệ thống cơ sở dữ liệu 143
Trang 26KÝ HIỆU VÀ VIẾT TẮT
SNS: Dịch vụ mạng xã hội - Social Networking Service
Trang 27TÓM TẮT KHÓA LUẬN
- Tổng quan đề tài: phát biểu bài toán, mục tiêu và phạm vi của đề tài, kết quả
dự kiến liên quan đến việc xây dựng một ứng dụng chia sẻ, đánh giá và trao đổi các quyển sách giấy truyền thống
- Nghiên cứu các lý thuyết liên quan đến mạng xã hội, hệ thống khuyến nghị nội dung để làm nền tảng xây dựng ứng dụng
- Khảo sát các ứng dụng tương tự hiện có trên thị trường để tham khảo và so sánh các ưu, nhược điểm của các ứng dụng trên từ đó tìm ra mô hình tham khảo phù hợp và cải tiến những nhược điểm của mô hình đó
- Khảo sát và nghiên cứu các công nghệ xây dựng ứng dụng di động phù hợp từ
đó so sánh và đưa ra kết luận cho việc sử dụng những công nghệ nào là phù hợp với các yêu cầu của đề tài
- Phân tích, thiết kế ứng dụng
- Hiện thực hóa ứng dụng bằng công nghệ
- Trình bày kết luận và hướng phát triển đề tài
Trang 28Chương 1 TỔNG QUAN ĐỀ TÀI
1.1 Phát biểu đề tài nghiên cứu
Trong thời đại công nghệ thông tin lên ngôi như hiện nay, mọi dạng thông tin hiện tại gần như đều đã được số hóa và hiện hữu khắp mọi nơi trên Internet Tuy nhiên, có một thực tế rằng việc đọc những cuốn sách giấy truyền thống vẫn là một trải nghiệm gần như không thể nào thay thế được Bằng chứng là vẫn còn có một lượng lớn sách giấy truyền thống được xuất bản và tái bản thường xuyên trong những năm mà “cách mạng công nghiệp 4.0” trở nên rầm rộ như hiện nay Đồng thời vẫn còn một lượng lớn người đọc vẫn trung thành với việc đọc và mua, bán, trao đổi những quyển sách cũ dẫn đến việc hình thành nhiều những hội nhóm trao đổi sách cũ hoạt động trên nhiều mạng xã hội khác nhau
Nắm bắt nhu cầu đó, nhóm chúng em quyết định tìm hiểu và nghiên cứu để xây dựng ứng dụng đọc và trao đổi sách cũ hoạt động như một mạng xã hội dành cho những người dùng yêu sách giấy truyền thống và muốn chia sẻ, tìm kiếm những cuốn sách hay từ những người dùng khác có cùng sở thích
Trang 29Hình 1.1: Giá trị khi thưởng thức sách giấy truyền thống dường như không thể
Trang 30- Tìm hiểu các công nghệ phục vụ cho việc xây dựng ứng dụng đáp ứng những nhu cầu của người dùng đã đề ra trên các thiết bị động nền tảng Android 5.1 trở lên
- Xây dựng ứng dụng di động SamBook cho phép người dùng chia sẻ, trao đổi, bình luận, hoạt động như một mạng xã hội với các tính năng liên quan
1.2.2 Phạm vi
- Đối tượng nghiên cứu: ứng dụng Android, các công nghệ liên quan đến ứng dụng Android, các mô hình tổ chức mạng xã hội cho người dùng đọc sách
- Thời gian nghiên cứu: dữ liệu thu thập và các định hướng, giải pháp được
đề xuất từ thời gian nhận đề tài tới lúc hoàn thành ứng dụng
- Giới hạn nghiên cứu: phạm vi nghiên cứu ở mức tìm hiểu và phát triển ứng dụng trên di động
1.5 Phương pháp nghiên cứu và nguồn số liệu
1.5.1 Phương pháp nghiên cứu
Tập trung tìm hiểu lý thuyết về các công nghệ để xây dựng ứng dụng Android, các kỹ thuật liên quan đến việc xây dựng một ứng dụng trao đổi, chia sẻ sách phù hợp với các tiêu chí đã đề ra và nhu cầu của người dùng Nghiên cứu, so sánh các phương
Trang 31pháp thực hiện và chọn ra phương pháp phù hợp Tham khảo các ứng dụng tương tự
đã có mặt trên thị trường để chọn ra cấu trúc xây dựng ứng dụng phù hợp
1.5.2 Nguồn dữ liệu
Nguồn dữ liệu từ của luận văn được thu thập từ các nguồn đáng tin cậy (các trang web chính thức của những nhà bán lẻ, nhà xuất bản và các gợi ý của GVHD)
1.6 Kết cấu luận văn
Ngoài phần kết luận, mục lục, danh mục các chữ viết tắt, danh mục các bảng, phụ lục và tài liệu tham khảo; luận văn được bố cục theo 8 chương:
Chương 1: Tổng quan đề tài
Chương 2: Mạng xã hội
Chương 3: Hệ thống khuyến nghị
Chương 4: Tìm hiểu và phân tích các ứng dụng tương tự trên thị trường
Chương 5: Khảo sát và nghiên cứu thực hiện đề tài
Chương 6: Phân tích, thiết kế
Chương 7: Xây dựng ứng dụng SamBook
Chương 8: Tổng kết
Trang 322.2 Cấu thành
- Nút (node): là một thực thể trong mạng Thực thể này có thể là một cá nhân, một doanh nghiệp hoặc một tổ chức bất kỳ nào đó
- Liên kết (tie): là mối quan hệ giữa các thực thể đó Trong mạng có thể
có nhiều kiểu liên kết Ở dạng đơn giản nhất, mạng xã hội là một đơn đồ thị vô hướng các mối liên kết phù hợp giữa các nút Ta có thể biểu diễn mạng liên kết này bằng một biểu đồ mà các nút được biểu diễn bởi các điểm còn các liên kết được biểu diễn bởi các đoạn thẳng
Trang 33Hình 2.1: Minh họa cấu trúc của mạng xã hội
2.3 Mục tiêu
- Tạo ra một hệ thống trên nền Internet cho phép người dùng giao lưu và chia sẻ thông tin một cách có hiệu quả, vượt ra ngoài những giới hạn về địa lý và thời gian
- Xây dựng lên một mẫu định danh trực tuyến nhằm phục vụ những yêu cầu công cộng chung và những giá trị của cộng đồng
Trang 342.4 Đặc điểm
2.4.1 Danh tính trực tuyến
Dịch vụ mạng xã hội tạo điều kiện cho sự phát triển của một danh tính trực tuyến đại diện cho người dùng Danh tính này được kiểm soát và phát triển bởi chính người dùng dựa trên các cấu trúc, tính năng có sẵn của dịch vụ Danh tính trực tuyến luôn là hình ảnh phản chiếu của người dùng và có thể ít nhiều có sự tương ứng với danh tính thực của người dùng
2.4.2 Xây dựng mạng lưới xã hội
Dịch vụ mạng xã hội cung cấp các công cụ và cơ hội để xây dựng mạng lưới xã hội cho người dùng Nó tạo điều kiện cho người dùng tìm kiếm, gặp gỡ hoặc giới thiệu lẫn nhau với người dùng khác và nhóm họ lại xung quanh các chủ đề và sở thích chung Người dùng từ đó xây dựng các mạng lưới bạn bè, đồng nghiệp, người quen, những người có sở thích chung, gia đình, v.v đan xen và liên kết lẫn nhau Các mạng lưới trực tuyến có thể độc lập, nhưng chúng thường chồng chéo và tương tác đáng kể với mạng lưới ngoại tuyến (offline) của người dùng Dịch vụ mạng xã hội phụ thuộc quan trọng vào việc đạt được một khối lượng người dùng đủ lớn để có thể xây dựng được một mạng lưới xã hội có ý nghĩa
2.4.3 Duy trì mạng lưới xã hội
Dịch vụ mạng xã hội cung cấp các tính năng để duy trì bền vững mạng lưới xã hội cho người dùng theo thời gian và không bị ảnh hưởng bởi những thay đổi trong danh tính trực tuyến của chính họ hoặc của người dùng khác Dịch vụ duy trì sự kết nối giữa những người trong cùng mạng lưới bất kể những thay đổi trong hoàn cảnh thực tế hoặc trực tuyến của họ
2.4.4 Tương tác trong mạng xã hội
Dịch vụ cung cấp các cách để người dùng có thể tương tác thông qua giao tiếp trực tiếp, chia sẻ hoạt động, trò chơi trực tuyến hoặc trao đổi các vật phẩm ảo Môi
Trang 35trường ảo giảm thiểu một số khó khăn liên quan đến tương tác vật lý, chẳng hạn như tách biệt về địa lý, thời gian hoặc tính di động
2.4.5 Nội dung do người dùng tạo
Người dùng không chỉ chịu trách nhiệm kiểm soát danh tính trực tuyến của riêng
họ mà còn có cơ hội cung cấp nội dung ảo và các vật thể kỹ thuật số Chúng có thể bao gồm văn bản, hình ảnh hoặc video, clip nhạc, vật thể ảo ba chiều hoặc các chương trình phần mềm và ứng dụng Những nội dung này không chỉ quan trọng đối với danh tính trực tuyến của người dùng mà còn được trao đổi như một thành phần chính của tương tác trong mạng xã hội
2.4.6 Mạng xã hội tự quản lý
Các chuẩn mực xã hội có thể quan sát được, các quy ước xã hội, các quy tắc ứng xử không chính thức và (đôi khi) cả các quy tắc và quy định chính thức đều được thể hiện trên mạng xã hội Các cấu trúc quản trị được thực thi một phần bởi các nhà cung cấp dịch vụ, một phần được áp đặt trực tiếp vào các chức năng của dịch vụ (những nội dung, thành phần gì được phép hoặc không được phép), nhưng chủ yếu được tái hiện lại bởi chính các hành vi giao tiếp, hoạt động trực tuyến của các thành viên trong mạng xã hội
2.5 Các loại hình dịch vụ mạng xã hội
2.5.1 Dịch vụ mạng xã hội xây dựng hồ sơ người dùng
Các dịch vụ xây dựng hồ sơ chủ yếu được hình thành xoay quanh các trang hồ
sơ của người dùng - bao gồm thông tin cá nhân về một người dùng như hình ảnh, sở thích, lượt thích và không thích của họ Các dịch vụ kết nối mạng xã hội này cung cấp một không gian hoặc một trang phản ánh thực thể hoặc hình ảnh trực tuyến của thành viên Bebo, Facebook và MySpace đều là những ví dụ điển hình cho dịch vụ này Thành viên có thể thiết kế và tùy chỉnh các trang của họ và có trách nhiệm đóng góp ý kiến hoặc đề xuất cho các trang khác Loại hình này là phổ biến nhất trong thời đại ngày nay vì nó cung cấp cho một thực thể trực tuyến và phản ánh hình ảnh trực
Trang 36tuyến của các thành viên nhằm thu hút người dùng và tương tác với những người khác như bạn bè
2.5.2 Dịch vụ mạng xã hội xây dựng nội dung
Trong các dịch vụ này, hồ sơ của người dùng vẫn là một cách quan trọng để tổ chức các kết nối nhưng đóng vai trò thứ yếu trong việc đăng nội dung Trang web chia sẻ ảnh Flickr là một ví dụ về loại dịch vụ này, nơi mà các hội nhóm và những bình luận xoay quanh hình ảnh Thành viên trên các trang này có thể tải lên hình ảnh
để chia sẻ ảnh và có thể bình luận về ảnh Ở đây hồ sơ người dùng chỉ là một tài khoản của người dùng và do đó đóng vai trò thứ yếu trong dịch vụ mạng xã hội xây dựng nội dung Một mạng xây dựng nội dung khác là Youtube được thiết kế để chia
sẻ video Youtube cung cấp một không gian web nơi người dùng tải lên video của họ
và chia sẻ nó Trong dịch vụ này, hồ sơ chỉ là một tài khoản và đóng một vai trò không quan trọng
2.5.3 Môi trường ảo nhiều người dùng
Các trang web môi trường ảo trực tuyến như Second Life và World of Warcraft cho phép người dùng tương tác với nhau thông qua một hình ảnh đại diện ảo Người dùng có thể tùy chỉnh, xây dựng và kiểm soát hồ sơ chức năng của mình Danh sách bạn bè thường được giữ ở chế độ riêng tư và không được chia sẻ hoặc hiển thị công khai
2.5.4 Dịch vụ mạng xã hội trên điện thoại di động
Nhiều trang mạng xã hội, ví dụ Facebook và Twitter, cung cấp các phiên bản trên điện thoại di động, cho phép các thành viên tương tác với bạn bè thông qua điện thoại của họ Ngày càng có nhiều cộng đồng được phát triển thêm trên nền tảng di động hoặc chỉ có trên điện thoại di động, cho phép tạo dựng hồ sơ và chia sẻ giống với các dịch vụ mạng xã hội trên Web
Trang 372.5.5 Micro-blog
Micro-blog được cung cấp bởi một số dịch vụ bao gồm Twitter, Jaiku Các nền tảng này cung cấp một hình thức giao tiếp nhẹ nhàng, dễ dàng, cho phép người dùng chia sẻ thông tin về cuộc sống, hoạt động, ý kiến và trạng thái của họ
Các chủ đề được khá đa dạng, từ các câu chuyện, tin tức đến các hoạt động thường ngày, các sự kiện hiện tại và các mối quan tâm khác Các công cụ của blog tạo điều kiện dễ dàng chia sẻ thông điệp, trạng thái công khai hoặc chỉ cho phép hiển thị cho một nhóm người trong vòng liên hệ Người dùng sử dụng mirco-blog như một công cụ để chia sẻ kinh nghiệm, ý kiến và bình luận hàng ngày
2.5.6 Social search
Một công cụ tìm kiếm xã hội có thể được coi là một công cụ tìm kiếm cung cấp câu trả lời cho một câu hỏi từ một câu trả lời khác bằng cách xác định một người trong câu trả lời Điều đó có thể xảy ra bằng cách truy xuất một truy vấn do người dùng gửi và xác định xem truy vấn đó có liên quan đến câu hỏi hay không; và cung cấp câu trả lời, bao gồm đường link dẫn đến nguồn thông tin, như một phần của kết quả tìm kiếm đáp ứng với truy vấn
Rất ít công cụ tìm kiếm xã hội phụ thuộc duy nhất vào cộng đồng trực tuyến Tùy thuộc vào bộ tính năng của một công cụ tìm kiếm cụ thể, những kết quả sau đó
có thể được lưu và thêm vào kết quả tìm kiếm của cộng đồng, cải thiện mức độ liên quan của kết quả cho các tìm kiếm trong tương lai của từ khóa đó Các công cụ tìm kiếm xã hội được coi là một phần của Web 2.0 vì chúng sử dụng tính năng lọc của các cộng đồng trực tuyến để nâng cao các nội dung đặc biệt thú vị hoặc có liên quan bằng cách sử dụng tính năng gắn thẻ Các thẻ mô tả này được nhúng trong các trang Web, về mặt lý thuyết cải thiện kết quả tìm kiếm cho các từ khóa cụ thể theo thời gian Một người dùng thường sẽ thấy các thẻ được đề xuất cho một cụm từ tìm kiếm
cụ thể
Trang 382.6 Các hoạt động trên dịch vụ mạng xã hội
Có thể đơn giản hóa dịch vụ mạng xã hội là một công cụ được sử dụng để giữ cho các cá nhân được kết nối Tuy nhiên, các trang web khác nhau phục vụ các vai trò khác nhau phù hợp với các trường hợp khác nhau để cải thiện khả năng truy cập Internet
2.6.2 Tạo và tùy chỉnh hồ sơ
Có nhiều loại hồ sơ khác nhau, mặc dù chúng thường là một trang web do người dùng thiết kế được hỗ trợ bởi một loạt các công cụ Các trang hồ sơ không chỉ là danh sách các thông tin - chúng cho phép người dùng phát triển và thể hiện hình ảnh của chính họ với thế giới cũng như thiết lập và bảo vệ danh tính trực tuyến của họ Mục hiển thị sở thích (ví dụ như âm nhạc, sách, phim yêu thích) cho phép các thành viên chia sẻ thông tin về bản thân họ Hầu hết các trang web cũng cho phép các thành viên tùy chỉnh giao diện trang của họ ở nhiều mức độ - thông qua các mẫu hoặc nội dung trang có sẵn, bao gồm video, widget, âm nhạc và hình ảnh
2.6.3 Marketing và quảng cáo
Bởi vì các mạng xã hội có một lượng lớn người dùng nên chúng có thể được sử dụng một hình thức tiếp cận thị trường mới
Các trang web mạng xã hội có thể được sử dụng bởi các doanh nghiệp, bởi các thương hiệu, bởi các nhạc sĩ và tất cả các tổ chức khác Các công ty đang mong muốn
mở rộng phạm vi tiếp cận của họ sang dịch vụ mạng xã hội để thu thập thông tin nhân khẩu học và cải thiện các chiến thuật tiếp thị Một cách mà các tập đoàn tiếp cận với
Trang 39người dùng là thông qua quảng cáo bán hàng Quảng cáo được thấy trên các trang web như Facebook và Twitter, hai trang web thống trị hơn 70% doanh số quảng cáo dịch vụ mạng xã hội, được tùy chỉnh theo sở thích của người dùng
Ngoài ra, các khoản đầu tư trong tương lai của các trang dịch vụ kết nối mạng
xã hội này có thể tạo điều kiện cho việc giới thiệu các dịch vụ tính phí, tức là quảng cáo trả tiền xuất hiện ngẫu nhiên hoặc theo chủ đề nhóm hoặc tương ứng như một yêu cầu cụ thể của người dùng Dịch vụ mạng xã hội đã cung cấp thông tin miễn phí (nhân khẩu học, mức độ phổ biến của các nhóm hoặc cộng đồng khác nhau) và có giá trị cho các chuyên gia tiếp thị về những gì khách hàng của họ cần, mối quan tâm của
họ, v.v Một số công ty thậm chí đầu tư vào phát triển phần mềm để theo dõi và phân tích bối cảnh khi mà khách hàng đăng tải nội dung trên các trang mạng xã hội Mục đích của các hoạt động này là sử dụng dữ liệu và thông tin này cho quảng cáo được nhắm mục tiêu
2.6.4 Mạng xã hội cấp công ty
Một hình thức đang ngày càng phổ biến là mạng xã hội cấp công ty Đây là nơi các nhân viên có thể hình thành mối quan hệ với các nhân viên khác trong doanh nghiệp hoặc với những người khác trong ngành Dịch vụ mạng xã hội cho phép người dùng học hỏi từ những người có cái nhìn đa chiều và tiếp xúc với nhiều quan điểm Cuối cùng, sự tiếp xúc này có thể giúp nhân viên và các nhà tuyển dụng học cách nhìn mọi thứ từ các góc độ khác nhau và khoan dung hơn với những ý kiến khác của người khác Một số công ty đã sử dụng các mạng xã hội nội bộ để tổng hợp kiến thức
và các kỹ năng cho nhân viên Sử dụng mô hình này, nhân viên có thể nhanh chóng khai thác chuyên môn tổ chức khi cần thiết
2.7 Ứng dụng
2.7.1 Ứng dụng trong chính phủ
Mạng xã hội gần đây đang được sử dụng bởi các cơ quan chính phủ khác nhau Các công cụ mạng xã hội là một cách nhanh chóng và dễ dàng để chính phủ nhận
Trang 40được đề xuất của công chúng và để công chúng cập nhật các hoạt động của chính phủ, tuy nhiên, điều này đi kèm với một rủi ro lạm dụng đáng kể, ví dụ, nuôi dưỡng văn hóa sợ hãi (culture of fear) đã nêu trong Nineteen Eighty-Four hoặc THX-11 Trung tâm kiểm soát dịch bệnh (Centers for Disease Control) đã chứng minh tầm quan trọng của việc tiêm phòng trên trang web trẻ em nổi tiếng Whyville và Cơ quan quản lý khí quyển và đại dương quốc gia (National Oceanic and Atmospheric Administration) có một hòn đảo ảo trên Second Life nơi mọi người có thể khám phá hang động hoặc khám phá tác động của sự nóng lên toàn cầu Tương tự như vậy, NASA đã tận dụng một số công cụ mạng xã hội, bao gồm Twitter và Flickr NASA đang tận dụng tất cả lợi ích chúng NASA đang sử dụng các công cụ như vậy để hỗ trợ Đánh giá của Ủy ban Kế hoạch Chuyến bay Không gian của Hoa Kỳ (Review of U.S Human Space Flight Plans Committee), với mục tiêu là đảm bảo quốc gia đang trên con đường mạnh mẽ và bền vững để đạt được khát vọng táo bạo nhất trong không gian
2.7.2 Ứng dụng trong kinh doanh
Việc sử dụng các dịch vụ mạng xã hội trong bối cảnh kinh doanh cho thấy tiềm năng có tác động lớn đến thế giới kinh doanh và công việc (Fraser & Dutta 2008) Mạng xã hội kết nối mọi người với chi phí thấp; điều này có thể có lợi cho các doanh nghiệp lớn và nhỏ muốn mở rộng cơ sở liên hệ của họ Các mạng lưới này thường hoạt động như một công cụ quản lý quan hệ khách hàng cho các công ty bán sản phẩm
và dịch vụ Các công ty cũng có thể sử dụng các mạng xã hội để quảng cáo dưới dạng biểu ngữ và quảng cáo văn bản Vì các doanh nghiệp hoạt động trên toàn cầu, các mạng xã hội có thể giúp họ dễ dàng giữ liên lạc với các liên hệ trên toàn thế giới Các ứng dụng mạng xã hội được mở rộng đối với các doanh nghiệp và các thương hiệu đang tạo ra các trang mạng có chức năng của riêng họ, một lĩnh vực riêng được gọi
là mạng thương hiệu (brand networking) Ý tưởng này là một thương hiệu có thể xây dựng mối quan hệ người tiêu dùng của mình bằng cách kết nối người tiêu dùng của
họ với hình ảnh thương hiệu trên nền tảng mà cung cấp cho họ những nội dung liên