BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á KHOA: CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN HỌC PHẦN: PHÁT TRIỂN ỨNG DỤNG CHO THIẾT Bắc Ninh, năm 2024... BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á KHOA: CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN HỌC PHẦN: PHÁT TRIỂN ỨNG DỤNG CHO THIẾT
Bắc Ninh, năm 2024
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
KHOA: CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN HỌC PHẦN: PHÁT TRIỂN ỨNG DỤNG CHO
CÁN BỘ CHẤM 1
(Ký và ghi rõ họ tên)
CÁN BỘ CHẤM 2
(Ký và ghi rõ họ tên
Trang 3MỤC LỤC
LI NI ĐU 5
LI CẢM ƠN 6
CHƯƠNG I: CƠ SỞ LÝ THUYẾT PHÁT TRIỂN ỨNG D ỤNG 7
1.1 Giới thi u v ệ ề đề tài 7
1.2 Phân công công việc 8
1.3 Phạm vi đề tài 8
CHƯƠNG II: THIẾT K Ế ỨNG DỤNG 11
2.1 Thiế ế t k chức năng .11
2.1.1 T ạo hàm để lưu tin đã đọc .11
2.1.2 T ạo hàm để lưu tin 11
2.1.3 Tạo hàm để xóa tin đã lưu 12
2.1.4 Tạo hàm để lấy tin đã lưu trong db 12
2.1.5 Tạo hàm để lấy tin trong db ra webview 13
2.1.6 Khở ạo webview 13 i t 2.1.6 Share url qua FaceBook 14
2.2 Thiết k giao di n ế ệ 15
2.2.1 T ạo m t XML drawable ộ splashbackground.xml bên trong thư mục res/drawable .15
2.2.2 Ti p theo ta set ế splashbackground.xml cho hình n n c a theme Ta thêm ề ủ SplashTheme cho splash activity như sau: .15
2.2.3 Sau đó ta cấu hình SplashTheme cho acitivity Splash screen trong AndroidManifest.xml .16
2.2.4 Bước cu i cùng ta t ố ạo m t activity ộ SplashActivity.java 16
2.3 Các thành phần ứng dụng 16
2.3.1 Yêu cầu cấp quyền ACCESS_NETWORK_STATE để kiểm tra tình trạng k t n i m ế ố ạng .16
2.3.2 T ạo đối tượng kiểm tra mạng boolean 17
2.3.3 Tạo đối tượng hi n th c nh báo v ể ị ả ới button để chuy n sang giao di ể ện đọc offline ho c thoát ặ ứng dụng .17
2.3.4 Nhét hàm vào onCreate để kiểm tra khi ứng dụng kh i ch ở ạy 17
2.4 Thiết k ế cơ sở dữ liệu 18
2.4.1 T ạo class DatabaseHandler m r ng t SQLiteOpenHelper ở ộ ừ .18
2.4.2 Khở ạo Db t Oncreate c a MainActivity i t ừ ủ .18
CHƯƠNG III: PHÁT TRIỂN ỨNG DỤNG .19
3.1 Chu n b ẩ ị d ữ liệu 19
3.2 Xây d ng giao di ự ện ứng dụng 19
Trang 43.2.2 Menu hiển thị các lo i báo c ạ ủa trang 24h 19
3.2.3 Menu hi ển thị các loại báo của trang dân trí 20
3.2.4 Menu hi ển thị các loại báo của trang dân vi t ệ 20
3.2.5 Menu hi ển thị các loại báo của trang Người lao động 21
3.2.6 Menu hi ển thị các loại báo của trang vnexpress 21
3.2.7 Layout hi ển th progress bar lúc load url c ị ủa webview 22
3.2.8 Layout đọc tin offline 22
3.2.9 Layout main để hiển thị thông tin báo 23
3.2.10 Layout hi ển thị tin đã lưu 23
3.2.11 Layout hi ển th title và hình ị ảnh 24
3.2.12 Layout hiển thị hình ảnh, title, ngày đăng 24
3.3 Xây d ng các thành ph ự ần ứng dụng 25
3.3.1 L ấy Sign của app đọc báo để khai báo cho facebook 25
3.3.3 Khở ạo class ReadDataFromURL 26 i t 3.3.4 T ạo hàm onPreExecute 26
3.3.5 Tạo hàm doInBackground 26
3.3.6 T ạo hàm onPostExecute 27
3.4 K t qu ế ả chương trình 28
3.4.1 Từ ui hệ thống, chọn app tổ ng h p tin tức 28 ợ 3.4.2 Sau khi b t lên, ậ ứng dụng sẻ hiển th báo vi ị ệt nam net mặc định 28
3.4.3 Chạm vào nút 3 gạch ở bên trái để xem các lo i báo ạ 29
3.4.4 Chạm vào nút mũi tên bên ph ải để xem các lo i báo c ạ ủa t ng trang báo ừ 30
3.4.5 Khi chọn 1 bài báo để đọc thì bạn sẽ được chuyển qua giao diện webview v i progess bar bên trên trông ớ rất ng u ầ 31
3.4.6 Cách s d ử ụng nút share 33
3.4.7 Cách dùng tin đã lưu 37
Link App: https://www.amazon.com/dp/B0DHW9FMNW/ref=mas_ya_dp 40
CHƯƠNG IV: KẾT LUẬN .41
3.1 Các nội dung đã đạt được 41
Trang 5LỜI NI ĐẦU
bảo an toàn b m ật cho các tài liệu, văn bản quan trọng, đặc biệt là trong lĩnh vc quân s, ngoại giao Ngày nay v i sớ xuất hiện c a m y tủ á nh, các tài liệu văn bản giấy tờ và các thông tin quan trọng đều được s hóa v ố à xử l trên m y tá nh, được truyền đi trong
giải pháp để b o vả ệ s an to àn và b m ật c a củ ác thông tin nhạy cảm, quan tro g ngày càng trở nên cấp thiết Kỹ thuật đồ họa máy tnh là ngành khoa học đảm bảo cho mục
toán m hóa thông tin ã
Dưới s dạy bảo và hỗ trợ của thầy Trần Nguyên Hoàng, sau khi học bộ môn
“Phát triển ứng dụng cho thiết bị di động”, chúng em đã thc hiện bài tập lớn này với
chủ đề “Ứng dụng giải trí”
được các bạn bè thầy cô góp chân thành để chúng em có thể hoàn thiện hơn nữa chủ
đề này
Sinh viên thực hiện
Phạm Huyền My Lưu Hữu Phước Nông Văn Chiến Nguyễn Văn Hiếu
Trang 6LỜI CẢM ƠN
Để hoàn thành báo cáo tốt nghiệp lần này trước hết chúng em xin gửi đến qu Thầy,Cô giáo trong khoa Công nghệ thông tin Trường Đại Học Công Nghệ Đông Á lời cảm ơn chân thành
Đặc biệt, chúng em xin gửi đến Thầy Trần Nguyên Hoàng, người đã tận tình hướng dn và giúp đỡ chúng em để hoàn thành báo cáo bài tập lớn này lời cảm ơn sâu sc
Chúng em cũng xin chân thành cảm ơn các thầy cô giáo trong Trường Đại học Công Nghệ Đông Á nói chung, các thầy cô trong khoa Công Nghệ Thông Tin nói riêng
đã dạy, hướng dn cho em kiến thức về các môn đại cương cũng như các môn chuyên ngành, giúp chúng em có được cơ sở l thuyết vững vàng và tạo điều kiện giúp đỡ chúng em trong suốt quá trình học tập
Một lần nữa, chúng em xin cảm ơn gia đình và bạn bè, thầy cô, Vì s giúp đỡ tận tình, động viên, quan tâm, những lời góp chân thành, hữu ch trong suốt thời gian học tập và thc hiện bài tập lớn này
Cuối cùng chúng em knh chúc qu Thầy, Cô lời chúc sức khỏe và đạt được nhiều thành công tốt đẹp trong công việc
Chúng em xin chân thành cảm ơn tất cả!!
Hà Nội, 25 tháng 9 năm 2024
Sinh viên thực hiện
Phạm Huyền My Lưu Hữu Phước Nông Văn Chiến
Nguyễn Văn Hiếu
Trang 7CHƯƠNG I: CƠ SỞ LÝ THUYẾT PHÁT TRIỂN ỨNG
DỤNG
1.1 Giới thiệu về đề tài
Ứng dụng đọc báo là ứng dụng xem tin tức phổ biến hiện nay, với hơn 100.000 lượt tải về và sử dụng Tốc độ cập nhật tin tức nhanh chóng, đa dạng nhiều thể loại bài viết Đặc biệt, ứng dụng hỗ trợ đọc báo bằng giọng nói sẵn có, vô cùng tiện lợi
Có tính năng :
• Cập nhật tin trong nước và quốc tế nhanh chóng: Tốc độ cập nhật tin tức nhanh, liên tục 24/24, bạn sẽ không bao giờ bỏ lỡ bất kỳ một tin tức nào dù là trong nước hay trên thế giới Các s kiện nóng hổi và mới nhất thường xuyên xuất hiện tại trang chnh của ứng dụng Báo Dân tr, luôn luôn bt kịp thời đại để không trở thành “người tối cổ”
• Đa dạng nhiều thể loại tin tức: Thể loại tin tức đa dạng, phù hợp theo từng sở thch và nhu cầu người đọc Tại phân loại tin tức lớn còn được chia thành nhiều thể loại tin khác liên quan, dễ dàng tổng hợp và la chọn Báo Dân tr mang đến người đọc bao gồm các s kiện, vấn đề trong xã hội, tin thế giới, thể thao, giáo dục, tấm lòng nhân ái, văn hóa,
• Tùy chỉnh giao diện đọc báo phù hợp cho người lớn tuổi: Hỗ trợ cho người đọc trải nghiệm tốt hơn trong việc đọc tin tức, nhất là người lớn tuổi Bạn có thể tùy chỉnh kch thước phông chữ theo mức độ nhỏ, trung bình hoặc lớn Bên cạnh đó, bạn còn có thể la chọn chế độ ban đêm hoặc điều chỉnh độ sáng tối của ứng dụng sao cho phù hợp với môi trường xung quanh tránh gây ra tình trạng mỏi mt
Trang 81.2 Phân công công việc
STT Tên đầu việc Công việc
chia đến nhỏ nhất Họ và tên
2
Chương 2
Nông Văn Chiến
7
Tổng kết
Phạm Huyền My
Nguyễn Văn Hiếu
Bảng 1 Bảng phân công công việc
1.3.2 Phạm vi theo chủ đề nội dung:
Ứng dụng đọc báo không giới hạn ở việc cung cấp tin tức chung mà vn có thể tùy chỉnh nội dung theo nhiều chủ đề và lĩnh vc khác nhau:
Kinh tế và Tài chnh
Trang 9• Thể thao
• Giải thch
y tế, tin tức về y học, dinh dưỡng, và phong cách sống
nghệ, khám phá khám phá mới
1.3.3 Phạm vi địa lý:
• Địa phương : Ứng dụng có thể cung cấp thông tin địa phương, giúp người dùng
cập nhật tin tức mới nhất liên quan đến khu vc hoặc quốc gia của mình
• Toàn cầu : Ứng dụng cũng có thể tch hợp nguồn thông tin quốc tế từ các báo
cáo lớn như BBC, CNN, Reuters, giúp người dùng theo dõi các s kiện toàn cầu
1.3.4 Phạm vị công nghệ:
Ứng dụng đọc báo cáo có thể được phát triển trên nhiều nền tảng và công nghệ, phù hợp với nhiều loại thiết bị:
và máy tnh, giúp người dùng dễ dàng cập nhật tin tức mọi lúc, mọi nơi
có thể truy cập từ bất kỳ trình duyệt nào trên máy tnh hoặc thiết bị di động mà không cần tải ứng dụng
• Ứng dụng đa nền tảng : Sử dụng các công nghệ như Flutter hoặc React Native
để phát triển một ứng dụng duy nhất có thể chạy trên nhiều hệ điều hành khác nhau
1.3.5 Phạm vi tương tác và nhân hóa:
• Cá nhân hóa nội dung : Ứng dụng có thể cho phép người dùng tùy chỉnh nguồn, chủ đề hoặc các tác giả quan tâm, giúp cung cấp các bài viết phù hợp nhất với sở hữu cá nhân
• Thông báo thông minh : Ứng dụng có thể gửi thông báo cho người dùng khi có các bài viết liên quan đến các chủ đề mà họ quan tâm
Trang 10• Giao tiếp xã hội : Người dùng có thể chia sẻ bài báo yêu thch lên mạng xã hội, gửi bài viết qua email hoặc lưu lại để đọc sau
1.3.6 Phạm vi mở rộng:
1.3.7 Tương lại và phát triển tính năng:
• Trí tuệ nhân tạo (AI)
• Thực tế ảo và tăng cường (VR/AR) : Ứng dụng có thể mở rộng bằng cách tch hợp công nghệ AR hoặc VR, mang lại trải nghiệm đọc báo chiều đa chiều và tương tác hơn
• Phân tích dữ liệu : Ứng dụng có thể phân tch xu hướng đọc của người dùng, giúp cung cấp danh sách báo cáo, d đoán nội dung nào sẽ được quan tâm trong tương lai
Trang 11CHƯƠNG II: THIẾT KẾ ỨNG DỤNG 2.1 Thiết kế chức năng
2.1.1 Tạo hàm để lưu tin đã đọc
Tạo để lưu trữ tin đã đọc của các trang báo
2.1.2 Tạo hàm để lưu tin
Trang 122.1.3 Tạo hàm để xóa tin đã lưu
Hàm tạo ra để xóa các tin đã đọc
2.1.4 Tạo hàm để lấy tin đã lưu trong db
Trang 132.1.5 Tạo hàm để l y tin trong db ra webview ấ
2.1.6 Khở ại t o webview
Trang 142.1.6 Share url qua FaceBook
Trang 152.1.6.2 Set share cho button share
2.2 Thiết kế giao diện
mục res/drawable
thêm SplashTheme cho splash activity như sau:
Trang 162.2.3 Sau đó ta cấu hình SplashTheme cho acitivity Splash screen trong AndroidManifest.xml
2.2.4 Bước cu i cùng ta t o m t activity ố ạ ộ SplashActivity.java
Bằng cách làm trên View sẽ hiển thị từ theme mà không cần khỏi tạo layout nên ứng dụng sẽ chạy nhanh hơn, và không bị hiện tượng màn hình trng
2.3 Các thành phần ứng dụng
trạng k t n i mế ố ạng
Trang 172.3.2 Tạo đối tượng kiểm tra m ng boolean ạ
offline ho c thoát ặ ứng dụng
Trang 182.4 Thiết kế cơ sở dữ liệu
2.4.2 Khở ại t o Db t Oncreate cừ ủa MainActivity
Trang 19CHƯƠNG III: PHÁT TRIỂN ỨNG DỤNG
3.1 Chuẩn bị dữ liệu
bật Chuẩn bị các bảng database và liệt kế các thành phần bảng dữ liệu Các nguồn dữ liệu API và các cache và sử l ngoại tuyến
3.2 Xây dựng giao diện ứng dụng
3.2.1 Menu nút lưu và share
3.2.2 Menu hiển th các lo i báo cị ạ ủa trang 24h
Trang 203.2.3 Menu hiển th các lo i báo cị ạ ủa trang dân trí
3.2.4 Menu hiển th các lo i báo cị ạ ủa trang dân vi t ệ
Trang 213.2.5 Menu hiển th các lo i báo cị ạ ủa trang Người lao động
Trang 223.2.7 Layout hiển th progress bar lúc load url c a webview ị ủ
3.2.8 Layout đọc tin offline
Trang 233.2.9 Layout main để hiển th thông tin báo ị
3.2.10 Layout hiển th ị tin đã lưu
Trang 243.2.11 Layout hiển th title và hình ị ảnh
3.2.12 Layout hi n th hình ể ị ảnh, title, ngày đăng
Trang 253.3 Xây dựng các thành phần ứng dụng
3.3.1 Lấy Sign của app đọc báo để khai báo cho facebook
3.3.2 Set share cho button share
Trang 263.3.3 Khở ại t o class ReadDataFromURL
3.3.4 Tạo hàm onPreExecute
Hiển thị thông báo trong lúc các hành đông khác đang hoạt động
Trang 27Hàm này sẽ cố gng lọc ra các thông tin cần thiết và chuyển về định dạng text
Hàm này dùng để trả kết quả lên giao diện, đáng lẽ dùng on progressupdate nhưng mà không cần thiết
Trang 283.4 Kết quả chương trình
3.4.1 Từ ui h ệ thống, ch n app t ng h p tin tọ ổ ợ ức
3.4.2 Sau khi b t lên, ậ ứng d ng s ụ ẻ hiển th báo vi ị ệt nam net mặc định
Trang 293.4.3 Chạm vào nút 3 g ch ạ ở bên trái để xem các lo i báo ạ
Trang 303.4.4 Chạm vào nút mũi tên bên phải để xem các lo i báo c ạ ủa từng trang báo
Như việt nam net thì có trang chủ, pháp luật và công nghệ
Còn vnexpress thì có trang chủ, thời s, thế giới
Trang 313.4.5 Khi ch n 1 ọ bài báo để đọc thì b n s ạ ẽ được chuyển qua giao diện
webview v i progess bar bên trên trông r t ng u ớ ấ ầ
Do đang loading nên không thấy gì
Sau khi load xong hiển thị
Trang 32Sau khi chạm vô nút lưu thì thông báo đã lưu xuất hiện, chứng tỏ lưu thành công
Trang 333.4.6 Cách sử d ng nút share ụ
Trang 34Khi chạm vào nút share thì ứng dụng facebook sẽ hiện lên
Trang 35Thc hiện đăng nhập tài khoản facebook
Trang 36Sau khi đăng nhập thì có thể chạm nút đăng để bt đầu chia sẻ
Trang 373.4.7 Cách dùng tin đã lưu
Vào menu trái, vô tin đã lưu thì sẽ thấy tin vừa lưu xong
Trang 38Khi chạm vào sẽ ra thế này
Trang 39Nếu không chạm mà ấn giữ, thì sẽ ra giao diện xóa
Trang 40Xóa thành công Link App: https://www.amazon.com/dp/B0DHW9FMNW/ref=mas_ya_dp
Trang 41CHƯƠNG IV: KẾT LUẬN 3.1 Các nội dung đã đạt được
• Ứng dụng hoàn thiện các chức năng cốt lõi: Tìm kiếm báo, xem thông tin báo chí hang ngày, cập nhập các tin tức, lưu trữ các tin đã đọc và cần chú ý, có thể chia sẻ lên trang mạng xã hội Facebook
• Các tin tức được cập nhập: Tin tức được ccapj nhập theo thời gian
• Tăng tính tương tác và gắn kết với người dùng: Có thể chia sẻ lên trang mạng xã hội, tiện ch cho người dùng
• Tch kiệm thời gian và công sức: Đỡ tốn chi ph mua báo và thời gian tìm kiếm các trang báo cần thiết trên mạng
• Lập trình Android: Qua quá trình thc hiện d án, các thành viên đã nâng
• cao kỹ năng lập trình Android, làm quen với các thư viện và framework
• phổ biến như Retrofit, Gson, Picasso, ExoPlayer,
3.2 Hướng phát triển
Ứng dụng này có tiềm năng phát triển thêm nhiều tnh năng nâng cao nhằm tăng tnh tiện dụng và khả năng tương tác với người dùng Một số hướng phát triển có thể bao gồm:
• Chia sẻ ghi chú: Bổ sung tnh năng cho phép người dùng chia sẻ ghi chú
dễ dàng thông qua các ứng dụng khác như email, mạng xã hội, hoặc các nền tảng nhn tin
• Cải thiện giao diện người dùng: Nâng cấp giao diện với Material Design
để tạo trải nghiệm người dùng hấp dn và hiện đại hơn
• Đưa ra thông báo tin nóng: Thông báo các tin nóng
• Giao diện đa ngôn ngữ: Hỗ trợ nhiều ngôn ngữ khác nhau để mở rộng đối
• tượng người dùng