Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 40 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
40
Dung lượng
692,77 KB
Nội dung
lOMoARcPSD|15978022 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &s TRUYỀN THƠNG VIỆT-HÀN Khoa Khoa Học Máy Tính ĐỒ ÁN CƠ SỞ XÂY DỰNG ỨNG DỤNG GHI CHÚ CÔNG VIỆC Sinh viên thực hiện: LÊ NGUYỄN QUANG VINH Lớp: 20DA Mã sinh viên: 20IT494 Giảng viên hướng dẫn: ThS Trần Đình Sơn Đà Nẵng, tháng 05 năm 2022 lOMoARcPSD|15978022 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG VIỆT-HÀN Khoa Khoa Học Máy Tính ĐỒ ÁN CƠ SỞ XÂY DỰNG ỨNG DỤNG GHI CHÚ CÔNG VIỆC Sinh viên thực hiện: LÊ NGUYỄN QUANG VINH Lớp: 20DA Mã sinh viên: 20IT494 Giảng viên hướng dẫn: ThS Trần Đình Sơn Đà Nẵng, tháng 05 năm 2022 lOMoARcPSD|15978022 NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ……………………………………………… Giảng viên ThS Trần Đình Sơn lOMoARcPSD|15978022 LỜI CẢM ƠN Lời đầu tiên, em xin gửi lời cảm ơn sâu sắc đến quý thầy cô Trường Đại học Công nghệ Thông tin Truyền thông Việt-Hàn nói chung q thầy khoa Khoa học máy tính nói riêng tận tình truyền đạt kiến thức bốn học kì vừa qua Nhờ dạy nhiệt tình từ q thầy cơ, em tích luỹ vốn kiến thức cần thiết cho học kì cơng việc tương lai Bên cạnh đó, em muốn gửi lời cảm ơn đặc biệt đến thầy – ThS Trần Đình Sơn Thầy theo sát trình làm đồ án chúng em suốt hai tháng Thầy nhắc nhở chi tiết, lỗi sai nhỏ phần đề cương chi tiết hay sản phẩm đồ án chúng em buổi gặp mặt hướng dẫn để từ chúng em hồn thiện sản phẩm Thầy nhiệt tình giải đáp thắc mắc chúng em gặp khó khăn Em xin chân thành cảm ơn! Sinh viên Lê Nguyễn Quang Vinh lOMoARcPSD|15978022 MỤC LỤC MỞ ĐẦU 1 Giới thiệu Mục tiêu đề tài Nội dung kế hoạch thực Bố cục báo cáo Chương TỔNG QUAN VỀ CÔNG CỤ, CÔNG NGHỆ XÂY DỰNG ỨNG DỤNG .3 Ngơn ngữ lập trình Java 1.1 Giới thiệu 1.2 Đặc điểm ngơn ngữ lập trình Java 1.2.1 Tương tự C++, hướng đối tượng hoàn toàn 1.3 Máy ảo Java .6 1.4 Các phiên Java .7 1.5 Các thành phần Java SE Platform XML 2.1 XML gì? .7 2.2 Ưu nhược điểm XML 2.3 So sánh XML HTML 2.4 Cú pháp XML .9 Phần mềm Android Studio 13 3.1 Giới thiệu .13 3.2 Lịch sử hình thành 13 Room Database .13 lOMoARcPSD|15978022 4.1 Giới thiệu .13 4.2 Đặc điểm 13 4.3 Các thành phần Room Database 14 4.4 DAO (Data Access Objects) 14 Chương PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ỨNG DỤNG 15 Yêu cầu ứng dụng di động .15 1.1 Chức 15 1.2 Thiết kế đơn giản thẩm mỹ 15 1.3 Giải vấn đề người dùng 15 1.4 Tính quán 16 1.5 Trải nghiệm người dùng 16 Thiết kế ứng dụng .17 Chương XÂY DỰNG ỨNG DỤNG 18 Tổng quan mơ hình MVVM .18 1.1 Giới thiệu .18 1.2 MVVM (Model-View-ViewModel) hiểu nào.18 Layout 19 2.1 Relative Layout .19 2.2 Linear Layout .21 2.2.1 Thuộc tính Gravity 22 2.2.2 Thuộc tính trọng số 22 Quá trình thiết kế giao diện 22 3.1 Thiết kế hình bắt đầu (Splash Screen) 22 lOMoARcPSD|15978022 3.2 Thiết kế hình 22 3.3 Thiết kế hình tạo ghi .23 3.4 Thiết kế hình xố ghi 23 3.5 Thiết kế hình tìm kiếm ghi 24 Xây dựng chức ứng dụng 25 4.1 Tạo Model cho ứng dụng 25 4.2 Tạo ViewModel 25 4.3 DAO 25 4.4 Xây dựng sở liệu 26 4.5 Chức tạo ghi .26 4.6 Chức sửa ghi 27 4.7 Chức xoá ghi 27 4.8 Chức tìm kiếm ghi .28 KẾT LUẬN 29 Kết đạt 29 1.1 Về mặt lý thuyết: 29 1.2 Về mặt thực tiễn 29 Vấn đề tồn 29 Hướng giải 29 TÀI LIỆU THAM KHẢO 30 lOMoARcPSD|15978022 DANH MỤC CÁC TỪ VIẾT TẮT lOMoARcPSD|15978022 DANH MỤC HÌNH VẼ lOMoARcPSD|15978022 MỞ ĐẦU Giới thiệu Cuộc sống ngày đại, cơng việc có khối lượng ngày lớn, cộng thêm yếu tố gây nhiễu sống ngày dễ khiến cho quên công việc cần làm ngày, tuần, tháng, dẫn đến cơng việc bị trì trệ, khơng đạt hiệu Bên cạnh đó, thói quen ghi lại công việc cần phải làm giúp ta có thêm động lực để hồn thành cơng việc thời hạn đặt Vì vậy, ứng dụng ghi công việc đời để giúp bạn ghi lại việc cần làm cách nhanh chóng hồn thành cơng việc hiệu Mục tiêu đề tài - Mục tiêu đề tài nhằm tạo ứng dụng di động để ghi lại công việc ngày, tuần, tháng, giải việc bị quên công việc cần làm Bên cạnh đưa ứng dụng lên kho ứng dụng Google Play - Nghiên cứu kiến trúc Android - Nghiên cứu thành phần Android - Nghiên cứu cách phát triển ứng dụng Android Nội dung kế hoạch thực Thời gian Công việc Tuần từ Khảo sát nhu cầu người dùng tìm hiểu cơng nghệ 21/3 đến 27/3 liên quan (Room Database, mơ hình MVVM, ngơn ngữ Java, thư viện.) Tuần 2, 3, Thiết kế giao diện ứng dụng XML từ 28/3 đến 17/4 Tuần 5, 6, Xây dựng chức ứng dụng Java chạy thử từ 18/4 đến 8/5 Tuần từ Tối ưu giao diện chức lOMoARcPSD|15978022 người dùng khơng thấy lợi ích từ ứng dụng, họ không sử dụng họ xóa Khách hàng khơng muốn chiếm dung lượng nhớ điện thoại họ thứ vô dụng Ứng dụng bạn phải cung cấp thứ cho người dùng mà họ cần 1.4 Tính quán Đảm bảo thiết kế app theo yêu cầu bạn đem đến cảm giác suốt trình khách hàng sử dụng Đảm bảo nút thiết kế hình trơng hoạt động giống hình khác mà nút xuất Ví dụ bạn chọn nút hình chữ nhật nút tất trang khác hình chữ nhật khơng phải lúc hình chữ nhật, lúc hình trịn… nút “thanh tốn ngay” bạn có màu xanh nút phải có màu xanh trang khác Tính qn - Tính qn hình ảnh: nút, phơng chữ sơ đồ màu phải giống hệt - Tính quán chức năng: yếu tố tương tác (như điều hướng) phải hoạt động theo cách hình khác - Tính qn bên ngoài: tất sản phẩm bạn phải có chung mẫu thiết kế tương tự cho trang - Tính qn tạo hình ảnh chun nghiệp cho giao diện ứng dụng bạn cho phép người dùng nhận yếu tố tương tự hình khác Bước quan trọng người sử dụng thấy khơng có quán ứng dụng bạn, họ cảm thấy bực bội khó chịu Điều khơng tốt cho ứng dụng bạn 1.5 Trải nghiệm người dùng Cách tốt để đảm bảo thiết kế app bạn lấy người dùng làm trung tâm đón nhận đảm bảo ứng dụng bạn đáp ứng người dùng mong đợi từ sản phẩm bạn Đảm bảo nhu cầu khách hàng đáp ứng sản phẩm bạn kinh doanh phù hợp với mong đợi khách hàng 17 lOMoARcPSD|15978022 Cuối cùng, đảm bảo bạn lắng nghe ý kiến người sử dụng sản phẩm Hãy xem xét phản hồi khách hàng cách nghiêm túc, lắng nghe họ nói cung cấp ứng dụng bạn theo mong muốn nhu cầu người sử dụng ứng dụng Thiết kế ứng dụng Từ việc phân tích nhu cầu người dùng yêu cầu ứng dụng di động, ứng dụng cần số chức sau: - Xem ghi chú: Các ghi tạo xuất hình để người dùng dễ dàng theo dõi Trong đầy đủ thông tin ghi như: tiêu đề, nội dung, ngày tạo ghi - Tạo ghi mới: Khi người dùng muốn ghi lại công việc, cần bấm nút tạo ghi chú, thêm tiêu đề, nội dung lưu lại - Xoá ghi chú: Khi cơng việc hồn thành, người dùng nhấn giữ vào ghi chú, ứng dụng lựa chọn (Pin/Unpin/Delete), nhấn vào Delete, xố ghi - Sửa ghi chú: Khi cần điều chỉnh nội dung cho phù hợp với thời gian công việc có thay đổi, nhấn trực tiếp vào ghi cũ, nhập lại nội dung bấm nút Save, ghi cập nhật - Ghim ghi chú: Các ghi quan trọng người dùng ghim lại, dễ dàng tìm thấy cần - Tìm kiếm nhanh ghi chú: Chúng ta tìm ghi cần nhập từ khố ghi Ứng dụng có hai hình hoạt động Một hình nơi ghi tạo, hình cịn lại nơi tạo ghi Các ghi phân biệt với màu khác nhau, màu tạo ngẫu nhiên 18 lOMoARcPSD|15978022 Chương XÂY DỰNG ỨNG DỤNG Tổng quan mơ hình MVVM 1.1 Giới thiệu Kể từ Microsoft giới thiệu hai tảng phát triển ứng dụng WPF Silverlight, có nhiều thay đổi việc xử lý kiện binding liệu, tầng ứng dụng với Qua đó, hầu hết cơng việc tầng kết hợp với lớp presentation Điều làm nảy sinh nhu cầu phải có mơ hình phát triển ứng dụng phù hợp Và đó, Model – View – ViewModel (MVVM) pattern đời ngày trở nên phổ biến Đa số ứng dụng thuộc tảng chia thành hai phần: giao diện (View) liệu (Model) Vì việc tách riêng phần này, cần phải có phần trung gian nối kết hai phần lại, chúng tạo nên mơ hình (pattern) Quen thuộc phổ biến với mơ hình MVC (Model – View – Controller) Có thể nói MVC mơ hình tiêu chuẩn logic hợp lý Điều làm cho việc xuất mơ hình phát triển ứng dụng khiến bạn bỡ ngỡ 1.2 MVVM (Model-View-ViewModel) hiểu nào? View: Tương tự mơ hình MVC, View phần giao diện ứng dụng để hiển thị liệu nhận tương tác người dùng Một điểm khác biệt so với ứng 19 lOMoARcPSD|15978022 dụng truyền thống View mơ hình tích cực Nó có khả thực hành vi phản hồi lại người dùng thơng qua tính binding, command Model: Cũng tương tự mơ hình MVC Model đối tượng giúp truy xuất thao tác liệu thực ViewModel: Lớp trung gian View Model ViewModel xem thành phần thay cho Controller mơ hình MVC Nó chứa mã lệnh cần thiết để thực data binding, command Một điểm cần lưu ý mơ hình MVVM, tầng bên thơng tin tầng bên Như hình minh họa đây: Layout 2.1 Relative Layout RelativeLayout ViewGroup có hiển thị View vị trí tương đối Vị trí View quy định liên quan đến View anh em (như bên trái bên View khác) vị trí tương khu vực cha RelativeLayout (chẳng hạn xếp phía dưới, bên trái trung tâm) Thuộc tính Gravity: Các View định vị xong RelativeLayout, giả sử coi tất View nằm vừa đường biên chữ nhật, khối View dịch chuyển tới vị trí định RelativeLayout thuộc tính: android: gravity, nhận giá trị (có thể tổ hợp lại với ký hiệu |) Giá trị Ý nghĩa Center Căn 20 lOMoARcPSD|15978022 Top Phần Bottom Phần Center_horizontal Ở theo chiều ngang Center_vertical Ở theo chiều đứng Left Theo cạnh trái Right Theo cạnh phải Bottom Cạnh Định vị view view cha: Vị trí View RelativeLayout thiết lập cách mối liên hệ vị trí với view cha, thẳng cạnh trái View cha với View con, thẳng cạnh phải View cha với View con… Các thuộc tính thực chức sau: Thuộc tính Ý nghĩa android:layout_alignParentBottom thẳng cạnh view với cạnh View cha android:layout_alignParentLeft thẳng cạnh trái view với cạnh trái View cha android:layout_alignParentRight thẳng cạnh phải view với cạnh phải View cha android:layout_alignParentTop thẳng cạnh view với cạnh View cha android:layout_centerInParent view vào View cha android:layout_centerHorizontal view vào View cha theo chiều ngang android:layout_centerVertical view vào View cha theo chiều đứng 21 lOMoARcPSD|15978022 Định vị view với thuộc tính liên hệ với nhau: Tất thuộc tính cần phải truyền vào ID @+id/ - android: layout_alignTop – Chỉ định đỉnh thành phần canh theo đỉnh thành phần gọi đến ID - android: layout_alignBottom – Chỉ định đáy thành phần canh theo đáy thành phần gọi đến ID - android: layout_alignStart – Chỉ định cạnh start thành phần canh theo cạnh start thành phần gọi đến ID - android: layout_alignEnd – Chỉ định cạnh end thành phần canh theo cạnh end thành phần gọi đến ID - android: layout_alignBaseline – Chỉ định baseline thành phần canh theo baseline thành phần gọi đến ID Baseline bạn khơng nhìn - thấy được, dùng để canh chỉnh cho text hiển thị bên widget, hữu dụng canh chỉnh TextView với nhau) - android: layout_above – Chỉ định thành phần nằm so với thành phần gọi đến ID - android: layout_below – Chỉ định thành phần nằm so với thành phần gọi đến ID - android: layout_toStartOf – Chỉ định thành phần nằm bên phía start so với thành phần gọi đến ID - android: layout_toEndOf – Chỉ định thành phần nằm bên phía end so với thành phần gọi đến ID - android: layout_toLeftOf – Chỉ định thành phần nằm bên phía trái so với thành phần gọi đến ID - android: layout_toRightOf – Chỉ định thành phần nằm bên phía phải so với thành phần gọi đến ID 2.2 Linear Layout LinearLayout loại layout xếp view theo chiều dọc ngang theo thứ tự view 22 lOMoARcPSD|15978022 Đây ViewGroup giúp bạn xếp view chứa bên theo dạng hàng hàng dọc với 2.2.1 Thuộc tính Gravity Thuộc tính android: gravity để chỉnh View nằm vị trí LinearLayout, nhận giá trị (có thể tổ hợp lại với ký hiệu |) 2.2.2 Thuộc tính trọng số Các View LinearLayout gán cho giá trị trọng số thuộc tính android: layout_weight Trường hợp LinearLayout khơng sử dụng đến thuộc tính android: weightSum Khi muốn view tự động full hình sử dụng android: weightSum Quá trình thiết kế giao diện 3.1 Thiết kế hình bắt đầu (Splash Screen) 3.2 Thiết kế hình 23 lOMoARcPSD|15978022 3.3 Thiết kế hình tạo ghi 3.4 Thiết kế hình xố ghi 24 lOMoARcPSD|15978022 3.5 Thiết kế hình tìm kiếm ghi 25 lOMoARcPSD|15978022 Xây dựng chức ứng dụng 4.1 Tạo Model cho ứng dụng 4.2 Tạo ViewModel 4.3 DAO 26 lOMoARcPSD|15978022 4.4 Xây dựng sở liệu 4.5 Chức tạo ghi 27 lOMoARcPSD|15978022 4.6 Chức sửa ghi 4.7 Chức xoá ghi 28 lOMoARcPSD|15978022 4.8 Chức tìm kiếm ghi 29 lOMoARcPSD|15978022 KẾT LUẬN Kết đạt Qua đợt làm đồ án lần này, với dự án xây dựng ứng dụng di động, thân em học nhiều thứ, tích luỹ cho thân nhiều kinh nghiệm 1.1 Về mặt lý thuyết: - Học quy trình xây dựng nên ứng dụng di động - Củng cố kiến thức ngơn ngữ lập trình - Học thêm nhiều kiến thức như: hệ sở liệu SQLite thư viện Room Database, mơ hình MVVM… - Sử dụng có hiệu phần mềm Android Studio 1.2 - Về mặt thực tiễn Ứng dụng hoàn thiện, chức hoạt động bình thường, khơng xảy lỗi hệ thống - Tích luỹ kiến thức, kĩ năng, kinh nghiệm cho công việc sau Vấn đề tồn - Các chức ứng dụng đơn giản - Một số đoạn code chưa tối ưu Hướng giải - Trong tương lai bổ sung thêm số chức xếp ghi theo thời gian, khôi phục ghi xoá, đặt lời nhắc cho người dùng, chỉnh sửa giao diện đẹp mắt hơn, … - Tối ưu đoạn code để ứng dụng chạy nhanh hơn, đủ sức cạnh tranh với ứng dụng loại kho ứng dụng Google Play 30 lOMoARcPSD|15978022 TÀI LIỆU THAM KHẢO https://developer.android.com/training/data-storage/room https://www.geeksforgeeks.org/mvvm-model-view-viewmodel-architecturepattern-in-android/ https://www.w3schools.com/java/ 31 ... cấp ứng dụng bạn theo mong muốn nhu cầu người sử dụng ứng dụng Thiết kế ứng dụng Từ việc phân tích nhu cầu người dùng yêu cầu ứng dụng di động, ứng dụng cần số chức sau: - Xem ghi chú: Các ghi. .. nhằm tạo ứng dụng di động để ghi lại công việc ngày, tuần, tháng, giải việc bị quên công việc cần làm Bên cạnh đưa ứng dụng lên kho ứng dụng Google Play - Nghiên cứu kiến trúc Android - Nghiên cứu... dung bấm nút Save, ghi cập nhật - Ghim ghi chú: Các ghi quan trọng người dùng ghim lại, dễ dàng tìm thấy cần - Tìm kiếm nhanh ghi chú: Chúng ta tìm ghi cần nhập từ khố ghi Ứng dụng có hai hình