Bạn có thể sử dụng ứng dụng Notes Android để ghi lại những ý tưởng, kế hoạch, công việc,mục tiêu hay bất cứ điều gì bạn muốn nhớ.. Ngoài ra, ứng dụng Notes Android còn hỗtrợ nhiều tính n
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM
BÁO CÁO ĐỒ ÁN MÔN HỌC LẬP TRÌNH TRÊN THIẾT BỊ DI ĐỘNG
TP Hồ Chí Minh, 2023
Trang 2Mục Lục
Mục Lục 2
LỜI MỞ ĐẦU 3
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 4
CHƯƠNG 2: CÁC CÔNG NGHỆ VÀ CƠ SỞ DỮ LIỆU 5
1 Android Studio 5
2 Room API 5
3 RecyclerView 6
4 GitHub 8
CHƯƠNG 3: HƯỚNG DẪN SỬ DỤNG 9
Tạo một ghi chú mới 9
Bước 1: 9
Bước 2: 10
Bước 3: 11
Bước 4: 13
Bước 5: 16
Bước 6: 20
CHƯƠNG 4: NHẬN XÉT-ĐÁNH GIÁ 21
1 Đánh giá các mặt được và chưa được của Ứng dụng Notes Android 21
2 Hướng khắc phục hoặc cải tiến sau này các nhược điểm cùa Ứng dụng Notes Android 21 3 Đánh giá quá trình phối hợp làm việc nhóm 22
4 Thực hiện các công việc được giao và phối hợp ráp nối kết quả giữa các thành viên 22
TÀI LIỆU THAM KHẢO 23
Trang 3LỜI MỞ ĐẦU
Mở đầu báo cáo, nhóm em xin gởi lời cảm ơn, lòng biết ơn sâu sắc tới thầy Võ TấnDũng đã giảng dạy, hướng dẫn và giúp đỡ nhiệt tình cho nhóm chúng em trong suốtthời gian làm bài báo cáo này Với bài báo cáo đồ án này giúp chúng em có thêm độnglực để học tập và nghiên cứu để phát triển những đồ án khác trong tương lai Trongquá trình học tập và làm bài báo cáo, do kiến thức cũng như kinh nghiệm thực tế cònnhiều hạn chế nên bài báo cáo không thể tránh khỏi những thiếu sót, nhóm em rấtmong nhận được ý kiến đóng góp thầy để em học hỏi được nhiều kĩ năng, kinh nghiệm
và sẽ hoàn thành tốt hơn những bài báo cáo sắp tới
Sau cùng, nhóm em xin kính chúc thầy thật dồi dào sức khỏe và gặt hái nhiều thànhcông để tiếp tục cho những chuyến đò kiến thức cho thế hệ mai sau
Nhóm em xin chân thành cảm ơn!
Trang 4CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
Đề tài Lập trình ứng dụng Notes Android là một đề tài thú vị và hữu ích cho sinh viênngành công nghệ thông tin Ứng dụng Notes Android là một ứng dụng cho phép ngườidùng ghi chú, lưu trữ và quản lý các ghi chú của mình trên điện thoại thông minh Ứngdụng này có nhiều tính năng tiện lợi như: tạo, sửa, xóa ghi chú; phân loại ghi chú theothể loại, màu sắc, thời gian; tìm kiếm ghi chú theo từ khóa; đồng bộ ghi chú với cácthiết bị khác qua tài khoản Google; chia sẻ ghi chú qua email, tin nhắn, mạng xã hội Lập trình ứng dụng Notes Android giúp sinh viên nâng cao kỹ năng lập trình Android,
sử dụng các công cụ và thư viện phổ biến như Android Studio Sinh viên cũng có cơhội học hỏi các kiến thức về thiết kế giao diện người dùng, cơ sở dữ liệu, bảo mật,mạng và đám mây Ngoài ra, sinh viên còn được rèn luyện kỹ năng làm việc nhóm,quản lý dự án và trình bày sản phẩm Đây là những kỹ năng quan trọng cho sự pháttriển nghề nghiệp của sinh viên trong tương lai
Ứng dụng Notes Android là một ứng dụng ghi chú đơn giản và tiện lợi cho người dùngđiện thoại thông minh Ứng dụng này cho phép bạn tạo, chỉnh sửa, lưu trữ và chia sẻcác ghi chú của bạn một cách dễ dàng và nhanh chóng trên điện thoại của mình Bạn
có thể sử dụng ứng dụng Notes Android để ghi lại những ý tưởng, kế hoạch, công việc,mục tiêu hay bất cứ điều gì bạn muốn nhớ Ngoài ra, ứng dụng Notes Android còn hỗtrợ nhiều tính năng khác như: thêm hình ảnh, âm thanh, video, vẽ tay, đính kèm tệptin, tạo danh sách kiểm tra, sắp xếp ghi chú theo thời gian, màu sắc hay nhãn, tìm kiếmghi chú theo từ khóa Ứng dụng Notes Android phục vụ cho tất cả mọi người, từ sinhviên, nhân viên văn phòng cho đến những người yêu thích sự gọn gàng và tổ chức.Ứng dụng Notes Android là một công cụ hữu ích để giúp bạn quản lý cuộc sống vàcông việc của bạn một cách hiệu quả hơn
Trang 5CHƯƠNG 2: CÁC CÔNG NGHỆ VÀ CƠ SỞ DỮ LIỆU
1 Android Studio
Android Studio là Môi trường phát triển tích hợp (IDE) chính thức để phát triển ứngdụng Android Nhờ có công cụ cho nhà phát triển và trình soạn thảo mã mạnh mẽ củaIntelliJ IDEA, Android Studio cung cấp thêm nhiều tính năng giúp bạn nâng cao năng suấtkhi xây dựng ứng dụng Android, chẳng hạn như:
Một hệ thống xây dựng linh hoạt dựa trên Gradle
Một trình mô phỏng nhanh và nhiều tính năng
Một môi trường hợp nhất nơi bạn có thể phát triển cho mọi thiết bịAndroid
Tính năng Áp dụng các thay đổi để đẩy các thay đổi về mã và tài nguyênvào ứng dụng đang chạy mà không cần khởi động lại ứng dụng
Mã mẫu và tích hợp GitHub để giúp bạn xây dựng các tính năng ứngdụng phổ biến cũng như nhập mã mẫu
Đa dạng khung và công cụ thử nghiệm
Công cụ tìm lỗi mã nguồn (lint) để nắm bắt hiệu suất, khả năng hữudụng, khả năng tương thích với phiên bản và các vấn đề khác
2 Room API
Những ứng dụng xử lý lượng dữ liệu có cấu trúc với lượng không nhỏ có thể được hưởng nhiều lợi ích khi lưu dữ liệu đó trên máy Trường hợp sử dụng phổ biến nhất là lưu các phần dữ liệu có liên quan vào bộ nhớ đệm Bằng cách này,
Trang 6khi thiết bị không thể truy cập mạng, người dùng vẫn duyệt qua được nội dung đó.
Thư viện lưu trữ Room cung cấp một lớp trừu tượng qua SQLite để mang lại khả năng truy cập cơ sở dữ liệu dễ dàng, đồng thời khai thác toàn bộ sức mạnh của SQLite Cụ thể, Room đem lại các lợi ích sau:
Xác minh thời gian biên dịch của truy vấn SQL
Chú thích tiện lợi giúp giảm thiểu mã nguyên mẫu lặp lại, dễ mắc lỗi
Hợp lý hoá đường dẫn di chuyển cơ sở dữ liệu
Có 3 thành phần chính trong Room:
Lớp cơ sở dữ liệu lưu giữ cơ sở dữ liệu và đóng vai trò là điểm truy cập chính cho đường kết nối cơ bản đến dữ liệu cố định của ứng dụng
Thực thể dữ liệu biểu thị các bảng trong cơ sở dữ liệu của ứng dụng
Đối tượng truy cập dữ liệu (DAO) cung cấp các phương thức mà ứng dụng của bạn có thể dùng để truy vấn, cập nhật, chèn và xoá
dữ liệu trong cơ sở dữ liệu
3 RecyclerView
Là phiên bản ListView nâng cao và linh hoạt hơn.Trong mô hình
RecyclerView, một số thành phần khác nhau làm việc cùng nhau để hiểnthị dữ liệu của người dùng
RecyclerView lấp đầy chính nó bằng các chế độ xem do trình quản lý layout cung cấp.(ví dụ như LinearLayoutManager, GridLayoutManager)
Các view trong list được đại diện bởi các đối tượng ViewHolder Đối tượng này là một thể hiện của một lớp mà bạn định nghĩa bằng cách extend RecyclerView.ViewHolder
Mỗi ViewHolder chịu trách nhiệm hiển thị một single item trong một view
RecyclerView chỉ tạo ra nhiều ViewHolder khi cần để hiển thị phần trên màn hình của nội dung động, cộng thêm một vài phần bổ sung
Trang 7 Khi người dùng cuộn qua danh sách, recyclerview lấy các view nằm ngoài màn hình và kết nối chúng với dữ liệu đang cuộn lên màn hình
Là một thành viên trong RecyclerView Family có nhiệm vụ được giao
để lấy dữ liệu từ một tập dữ liệu (ví dụ: một cơ sở dữ liệu hoặc mảng) vàchuyển nó vào một cái gì đó gọi là LayoutManager, người có nhiệm vụ trình bày nó cho người dùng Là thành phần xử lí data collection (dữ liệukiểu danh sách) và bind(gắn) những dữ liệu này lên các item của
Recyclerview Khi tạo custom adapter chúng ta phải override lại hai phương thức là onCreateViewHolder : phương thức dùng để tạo view mới cho recyclerview onBindViewHolder : dùng để gắn data vào view
LayoutManager
Là thành phần có chức năng sắp xếp các item trong RecylerView Các item scroll dọc hay ngang phụ thuộc chúng ta set LayoutManager này cho RecyclerView Các class con của LayoutManager:
• LinenarLayoutManager: Hỗ trợ scroll các item theo chiều ngang hay chiều dọc
• GridLayoutManager: Layout các item trong RecyclerView dưới dạng Grid giống như khi chúng ta sử dụng GridView
• StaggerdGridLayoutManager: Layout các item trong ListView dưới dạng Grid so le
Trang 8liệu được lấy từ tập data set (nhờ adapter) không đưa trực tiếp lên View
mà sẽ thông qua ViewHolder để sắp xếp dữ liệu vào từng item view hiểnthị lên màn hình
4 GitHub
GitHub là một dịch vụ cung cấp kho lưu trữ mã nguồn Git dựa trên nền web cho các dự
án phát triển phần mềm
Công dụng:
Là công cụ giúp quản lý source code tổ chức theo dạng dữ liệu phân tán
Giúp đồng bộ source code của team lên 1 server
Hỗ trợ các thao tác kiểm tra source code trong quá trình làm việc (diff, check modifications, show history, merge source, …)
GitHub có 2 phiên bản: miễn phí và trả phí Với phiên bản có phí thường được các doanh nghiệp sử dụng để tăng khả năng quản lý team cũng như phân quyền bảo mật dự án Còn lại thì phần lớn chúng ta đều sử dụng Github với tài khoản miễn phí để lưu trữ source code
Github cung cấp các tính năng social networking như feeds, followers, và network graph để các developer học hỏi kinh nghiệm của nhau thông qua lịch sử commit.Nếu một comment để mô tả và giải thích một đoạn code Thì với Github, commit
Lịch sử hình thành
GitHub được viết bằng Ruby on Rails và Erlang do Tom Preston-Werner, Chris Wanstrath, và PJ Hyett phát triển trang web được đưa ra và chạy chính thức vào tháng 4 năm 2008
Tính đến thời điểm tháng 3 năm 2018 Github đang là dịch vụ máy chủ lưu trữ các
mã nguồn lập trình lớn nhất thế giới Với hơn 25 triệu người dùng và hơn 80 triệu
mã nguồn dự án, Github đã trở thành một phần không thể thiêu đối với cộng đồng phát triển mã nguồn mở và cộng đồng lập trình viên trên toàn thế giới
Trang 9CHƯƠNG 3: HƯỚNG DẪN SỬ DỤNG
Tạo một ghi chú mới
Bước 1: Để ghi nội dung, chú thích, ghi chú trên App Notes, các bạn lựa chọn vào biểu
tượng dấu + nằm ở ngay dưới giao diện chính
Trang 10Bước 2: Xuất hiện màn hình tạo ghi chú mới Điền nội dung bạn muốn ghi chú vào từng
phần của ghi chú
Trang 11Bước 3: Nếu muốn thay đổi màu sắc cho văn bản, nội dung cần ghi chú, các bạn chọnMiscellaneous App Note hỗ trợ một số màu sắc để bạn có thể lựa chọn theo nhu cầu.
Trang 12Ở đây mình chọn màu vàng cho nội dung ghi chú.
Trang 13Bước 4: Để thêm hình ảnh cho ghi chú, các bạn chọn Add Image Bạn phải cấp quyền cho
App Note truy cập vào hình ảnh trên thiết bị của bạn
Trang 14Sau đó App Note sẽ truy cập vào hình ảnh của bạn.
Trang 15Nếu bạn không thích thêm ảnh nữa có thể xóa ảnh bằng cách chọn vào biểu tượng
thùng rác ngay cạnh góc phải của ảnh
Trang 16Bước 5: Bạn có thể thêm link vào ghi chú bằng cách chọn vào Add URL trong
Miscellaneous sau đó nhập link liên kết mà bạn muốn truy cập rồi chọn Add để thêm vào ghi
chú của mình
Trang 17Liên kết sẽ hiển thị trên nội dung ghi chú để người dùng dễ dàng truy cập.
Trang 18Sau khi truy cập vào link sẽ hiển thị trang web mà bạn muốn truy cập trong ghi chú.
Trang 19Bạn cũng có thể xóa link nếu muốn bằng cách chọn vào biểu tượng thùng rác cùng
hàng với link
Trang 20Bước 6: Sau khi đã nhập xong các thông tin, chú thích quan trọng cần ghi chú trên App Note,
các bạn chọn vào biểu tượng dấu tick để tiến hành lưu lại những nội dung quan trọng vừathiết lập Bây giờ, mỗi khi bạn mở ứng dụng App Note trên điện thoại lên sẽ hiển thị ngay các
ghi chú mà bạn đã từng tạo trước đó
Trang 21CHƯƠNG 4: NHẬN XÉT-ĐÁNH GIÁ
1 Đánh giá các mặt được và chưa được của Ứng dụng Notes Android
Ứng dụng Notes Android là một ứng dụng ghi chú đơn giản và tiện lợi cho ngườidùng điện thoại thông minh Ứng dụng này có những mặt được và chưa được nhưsau:
Mặt được: Ứng dụng cho phép người dùng tạo, chỉnh sửa, xóa và tìm kiếm cácghi chú nhanh chóng và dễ dàng Người dùng có thể chèn hình ảnh, sắp xếp cácghi chú theo thời gian, tiêu đề, màu sắc hoặc nhãn
Mặt chưa được: Ứng dụng chỉ hỗ trợ định dạng văn bản đơn giản cho các ghichú, không có tùy chọn để âm thanh, video hay các loại tệp khác Ứng dụng cũngkhông có tính năng bảo mật cho các ghi chú nhạy cảm, ví dụ như khóa bằng mậtkhẩu hay vân tay
2 Hướng khắc phục hoặc cải tiến sau này các nhược điểm cùa Ứng dụng Notes Android
Ứng dụng Notes Android là một ứng dụng ghi chú đơn giản và tiện lợi cho ngườidùng Tuy nhiên, ứng dụng cũng có một số hướng cải tiến để nâng cao trải nghiệmcủa người dùng Một số hướng cải tiến có thể là:
Thêm tính năng đồng bộ hóa ghi chú với các thiết bị khác qua tài khoảnGoogle hoặc các dịch vụ đám mây khác
Thêm tính năng bảo mật ghi chú bằng mật khẩu, vân tay hoặc khuôn mặt đểngười dùng có thể bảo vệ các ghi chú cá nhân hoặc quan trọng
Thêm tính năng phân loại ghi chú theo các nhãn, màu sắc hoặc thư mục đểngười dùng có thể quản lý và tìm kiếm ghi chú dễ dàng hơn
Thêm tính năng chia sẻ ghi chú với người khác qua email, tin nhắn hoặc cácứng dụng xã hội để người dùng có thể hợp tác và trao đổi thông tin vớingười khác
Thêm tính năng tạo ghi chú bằng giọng nói hoặc hình ảnh để người dùng cóthể ghi chú nhanh chóng và tiện lợi hơn
Trang 223 Đánh giá quá trình phối hợp làm việc nhóm.
Nhìn chung, trong quá trình làm bài, nhóm rất nỗ lực và cố gắng để đạt đượchiệu quả tốt nhất Tuy nhiên, nhóm cũng cần nhìn nhận lại các điểm mạnh,điểm yếu của mình cũng nhưchất lược đầu ra để hoàn thiện hơn trong tương lai:
Điểm mạnh: Sự phân chia công việc rõ ràng giúp tiến độ bài làm đượcthực hiện hiệuquả Các thành viên luôn tích cực góp ý, hỗ trợ lẫn nhau vànhìn nhận sửa đổi, hoàn thiện nội dung
Điểm yếu: Trong quá trình tìm kiếm và tra cứu thông tin, nhóm còn gặpmột số khó khăn khi chọn lọc các nguồn thông tin uy tín để hoàn thiệnbài làm
Chất lượng đầu ra: Hoàn thành đầy đủ và đúng hạn Nhóm có sự đồngnhất và hiệu quả làm bài tốt
4 Thực hiện các công việc được giao và phối hợp ráp nối kết quả giữa các thành viên.
Nhóm sử dụng Github nên các vẫn đề về ráp code lại với nhau không sảy ra lỗi.GitHub cho phép các thành viên trong nhóm tạo ra các nhánh (branch) riêngbiệt để phát triển các tính năng mới, sửa lỗi hoặc cải tiến mã nguồn mà khôngảnh hưởng đến nhánh chính (master) GitHub cũng hỗ trợ việc gộp nhánh(merge) một cách linh hoạt và dễ dàng, giúp đồng bộ hóa các thay đổi giữa cácnhánh Ngoài ra, GitHub còn có các tính năng khác như quản lý phiên bản(version control), theo dõi vấn đề (issue tracking), xây dựng wiki (wikibuilding), tạo yêu cầu kéo (pull request) và nhiều hơn nữa
Trang 23TÀI LIỆU THAM KHẢO
1 Fonts: Ubuntu - https://fonts.google.com/specimen/Ubuntu
5 Material Design: https://m2.material.io/develop/android/docs/getting-started
6 Rounded Image View: https://github.com/vinc3m1/RoundedImageView