Xem mẫu

  1. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC QUẢN LÝ VÀ CÔNG NGHỆ HẢI PHÒNG ------------------------------- ISO 9001:2015 ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN Sinh viên :Vũ Ngọc Đông Giảng viên hướng dẫn: Ths. Nguyễn Thị Xuân Hương HẢI PHÒNG – 2020
  2. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC QUẢN LÝ VÀ CÔNG NGHỆ HẢI PHÒNG ----------------------------------- XÂY DỰNG ỨNG DỤNG ĐĂNG KÝ ĂN TRƯA TẠI TRƯỜNG ĐẠI HỌC QUẢN LÝ VÀ CÔNG NGHỆ HẢI PHÒNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY NGÀNH CÔNG NGHỆ THÔNG TIN Sinh viên : Vũ Ngọc Đông Giảng viên hướng dẫn:Ths. Nguyễn Thị Xuân Hương HẢI PHÒNG – 2020
  3. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC QUẢN LÝ VÀ CÔNG NGHỆ HẢI PHÒNG -------------------------------------- NHIỆM VỤ ĐỀ TÀI TỐT NGHIỆP Sinh viên: Vũ Ngọc Đông Mã SV: 1612112004 Lớp : CT2001C Ngành :Công nghệ Thông tin Tên đề tài: Xây dựng ứng dụng đăng ký ăn trưa tại trường Đại học Quản lý và Công nghệ Hải Phòng
  4. NHIỆM VỤ ĐỀ TÀI 1. Nội dung và các yêu cầu cần giải quyết trong nhiệm vụ đề tài tốt nghiệp - Tìm hiểu về hệ điều hành Android, - Tìm hiểu về môi trường lập trình Android. - Xây dựng ứng dụng Đăng ký ăn trưa tại trường Đại học Quản lý và Công nghệ Hải Phòng, trong đó cho phép o Thực hiện phân quyền cho người dùng o Người dùng đăng nhập hệ thống để đăng ký ăn trưa o Thống kê và hiển thị danh sách giảng viên sinh viên đăng ký ăn trưa theo ngày 2. Các tài liệu, số liệu cần thiết - Số liệu: theo thông tin giảng viên của trường Đại học Quản lý và Công nghệ Hải Phòng 3. Địa điểm thực tập tốt nghiệp - Trường Đại Quản lý và Công nghệ Hải Phòng
  5. CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN TỐT NGHIỆP Họ và tên : Nguyễn Thị Xuân Hương Học hàm, học vị : Thạc sỹ Cơ quan công tác : Trường Đại học Quản lý và Công nghệ Hải Phòng Nội dung hướng dẫn: - Tìm hiểu về hệ điều hành Android - Tìm hiểu về môi trường lập trình Android - Xây dựng ứng dụng đăng ký ăn trưa tại trường Đại học Quản lý và Công nghệ Hải Phòng Đề tài tốt nghiệp được giao ngày 30 tháng 03 năm 2020 Yêu cầu phải hoàn thành xong trước ngày 30 tháng 06 năm 2020 Đã nhận nhiệm vụ ĐTTN Đã giao nhiệm vụ ĐTTN Sinh viên Giảng viên hướng dẫn Hải Phòng, ngày tháng năm 2020 HIỆU TRƯỞNG
  6. CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN TỐT NGHIỆP Họ và tên giảng viên: ………………………………………………………………... Đơn vị công tác: …………………………………………………………………….. Họ và tên sinh viên: ……………………………… Ngành: ………………………… Nội dung hướng dẫn: ………………………………………………………………… ……………………………………………………………………………………………….. 1. Tinh thần thái độ của sinh viên trong quá trình làm đề tài tốt nghiệp ……………………………………………………………………………………………….... ……………………………………………………………………………………………….... ……………………………………………………………………………………………….... ……………………………………………………………………………………………….... 2. Đánh giá chất lượng của đồ án/khóa luận (so với nội dung yêu cầu đã đề ra trong nhiệm vụ Đ.T. T.N trên các mặt lý luận, thực tiễn, tính toán số liệu…) ……………………………………………………………………………………………….... ……………………………………………………………………………………………….... ……………………………………………………………………………………………….... ……………………………………………………………………………………………….... 3. Ý kiến của giảng viên hướng dẫn tốt nghiệp Đạt Không đạt Điểm:……………………………………... x Hải Phòng, ngày 28 tháng 06 năm 2020 Giảng viên hướng dẫn (Ký và ghi rõ họ tên QC20-B18
  7. CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN CHẤM PHẢN BIỆN Họ và tên giảng viên: …………………………………………………………… Đơn vị công tác: ………………………………………………………………… Họ và tên sinh viên: ……………………………… Ngành: …………………… Đề tài tốt nghiệp: ……………………………………………………………….. ………………………………………………………………….……………...... 1. Phần nhận xét của giảng viên chấm phản biện .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... 2. Những mặt còn hạn chế .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... 3. Ý kiến của giảng viên chấm phản biện Được bảo vệ Không được bảo vệ Điểm:…………… Hải Phòng, ngày …… tháng ….. năm 2020 Giảng viên chấm phản biện (Ký và ghi rõ họ tên) QC20-B19
  8. MỤC LỤC CHƯƠNG 1: GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH ANDROID 1 1.1. Giới thiệu về hệ điều hành Android 1 1.2. Kiến trúc cơ bản của hệ điều hành Android 6 1.2.1. Nhân Linux 6 1.2.2. Thư viện 6 1.2.3. Thực thi 7 1.2.4. Nền tảng Android 8 1.2.5. Tầng ứng dụng 8 CHƯƠNG 2: MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG ANDROID STUDIO, SQLITE 9 2.1. Giới thiệu ứng dụng Android Studio 9 2.2. Thành phần trong một dự án ANDROID 9 2.2.1. Tệp cấu hình Android 10 2.2.2. Thư mục Java 13 2.2.3. Thư mục Res 13 2.2.4. Tệp Grade Scripts 14 2.3. Thành phần giao diện 14 2.3.1. View group 14 2.3.2. View 16 2.4. Vòng đời ứng dụng android 18 2.5. Lớp Intent 19 2.6. Share prefenrences 20 2.7. Hiệu ứng trong android 20 2.8. SQLite 20 2.8.1. Giới thiệu SQLite 20 2.8.2 Cấu hình SQLite 21 2.9. FRAGMENT 22 2.9.1. Tổng quan 22 a. Lý do ra đời của fragment 22 b. Vòng đời của fragment 23
  9. 2.9.2. Sử dụng 25 1. Tạo và hiển thị fragment 25 2.9.3. Tổng kết 25 2.10.1. DAO 26 a.Khái niệm 26 b.Cài đặt 27 2.10.2. DTO 32 a.Transfer Object Pattern: 32 b.Cài đặt Transfer Object Pattern 33 c. Lợi ích của Transfer Object Pattern 34 2.11.1 Khái niệm 35 2.11.2 Đặc điểm 35 2.11.3 Những chuẩn chính của Web Services 35 2.5.4. Các dạng tương tác giữa Web Service với ứng dụng trên thiết bị di động XML - eXtensible Markup Language 37 CHƯƠNG 3: CHƯƠNG TRÌNH THỰC NGHIỆM 39 3.1. Giới thiệu 39 3.2. Phát biểu bài toán 40 3.3. Phân tích hệ thống 41 3.3.1 Ngữ cảnh hệ thống 41 3.3.2 Mô hình chức năng 41 3.3.3. Mô hình hoạt động 42 3.5. Thiết kế chương trình 46 3.5.1. Giao diện 46 3.5.2 . Các chức năng chương trình 47 3.6. Chương trình thực nghiệm 48 3.6.1 Thiết bị và Môi trường lập trình: 48 3.6.2. Ứng dụng đăng ký ăn trưa 48 3.7 Các yêu cầu đối với người dùng hệ thống. 52 KẾT LUẬN 53
  10. LỜI MỞ ĐẦU Hiện nay Công nghệ thông tin là một ngành có nhiều đóng góp to lớn cho việc thực hiện các nhiệm vụ mọi lĩnh vực trong cuộc sống.. Các chương trình được tạo ra không chỉ có thể thực hiện được trên máy tính mà còn có thể áp dụng cho các thiết bị vô cùng nhỏ gọn và tiện dụng như điện thoại di động hay máy tính bảng. Do đó việc xây dựng các ứng dụng cho điện thoại di động đang là một ngành công nghiệp mới đầy tiềm năng và hứa hẹn nhiều sự phát triển vượt bậc của ngành khoa học kỹ thuật. Phần mềm, ứng dụng cho điện thoại di động hiện nay rất đa dạng và phong phú trên các hệ điều hành di động. Các hệ điều hành J2ME, Android, IOS, Hybrid, Web bases Mobile Application đã rất phát triển trên thị trường truyền thông di động. Trong vài năm trở lại đây, hệ điều hành Android ra đời với sự kế thừa những ưu việt của các hệ điều hành ra đời trước và sự kết hợp của nhiều công nghệ tiên tiến nhất hiện nay. Android đã nhanh chóng là đối thủ cạnh tranh mạnh mẽ với các hệ điều hành trước đó và đang là hệ điều hành di động của tương lai và được nhiều người ưa chuộng nhất. Hướng đến nhu cầu thực tế trường Đại học quản lý và công nghệ Hải phòng cần một ứng dụng trên điện thoại để đăng ký ăn trưa, đáp ứng nhanh và thuận tiên. Vì vậy em chọn đề tài “Xây dựng ứng dụng đăng ký ăn trưa tại trường Đại học quản lý và công nghệ Hải phòng”
  11. LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành nhất đến quý thầy cô Trường Đại Học Quản lý và Công nghệ Hải Phòng, những người đã dìu dắt em tận tình, đã truyền đạt cho em những kiến thức và bài học quý báu trong suốt thời gian em theo học tại trường. Em xin trân trọng gửi lời cảm ơn đến tất cả các thầy cô trong khoa Công Nghệ Thông Tin, đặc biệt là cô giáo Ths.Nguyễn Thị Xuân Hương, cô đã tận tình hướng dẫn và giúp đỡ em trong suốt quá trình làm tốt nghiệp. Với sự chỉ bảo của cô, em đã có những định hướng tốt trong việc triển khai và thực hiện các yêu cầu trong quá trình làm đồ án tốt nghiệp. Em xin cảm ơn những người thân và gia đình đã quan tâm, động viên và luôn tạo cho em những điều kiện tốt nhất trong suốt quá trình học tập và làm tốt nghiệp. Ngoài ra, em cũng xin gửi lời cảm ơn tới tất cả bạn bè, đặc biệt là các bạn trong lớp CT2001C đã luôn gắn bó, cùng học tập và giúp đỡ em trong những năm qua và trong suốt quá trình thực hiện đồ án này. Em xin chân thành cảm ơn! Hải Phòng, ngày 26 tháng 06 năm 2020 Sinh viên Vũ Ngọc Đông
  12. CHƯƠNG 1: GiỚI THIỆU VỀ HỆ ĐIỀU HÀNH ANDROID 1.1. Giới thiệu về hệ điều hành Android Android là một hệ điều hành dựa trên nền tảng Linux, được thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng. Ban đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính từ Google và sau này được chính Google mua lại vào năm 2005. Chính mã nguồn mở của Android cùng với tính không ràng buộc nhiều đã cho phép các nhà phát triển thiết bị di động và các lập trình viên được điều chỉnh và phân phối Android một cách tự do. Ngoài ra, Android còn có một cộng đồng lập trình viên đông đảo chuyên viết các ứng dụng để mở rộng chức năng của thiết bị. Nhờ yếu tố mở, dễ dàng tinh chỉnh cùng sự phát triển nhanh chóng đã khiến hệ điều hành này dần trở nên phổ biến, kết quả là mặc dù được thiết kế để chạy trên điện thoại và máy tính bảng nhưng giờ đây Android đã xuất hiện trên các smart TV, máy chơi game và một số thiết bị điện tử khác. Android bắt đầu với bản beta đầu tiên vào tháng 11 năm 2007 và phiên bản thương mại đầu tiên, Android 1.0, được phát hành vào tháng 9 năm 2008. Kể từ tháng 4 năm 2009, phiên bản Android được phát triển, đặt tên theo chủ đề bánh kẹo và phát hành theo thứ tự bảng chữ cái: Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean, Kitkat, Lollipop, Marshmallow, Nougat, và bây giờ là Oreo. Kỷ nguyên của Android chính thức bắt đầu vào ngày 22 tháng 10 năm 2008, khi chiếc điện thoại T-Mobile G1 bắt đầu được bán ra tại Mỹ. Vào thời gian đầu, rất nhiều tính năng cơ bản bị thiếu sót như: bàn phím ảo, cảm ứng đa điểm và tính năng mua ứng dụng vẫn chưa xuất hiện. Tuy nhiên, một số tính năng cũng như giao diện đặc sản của hệ điều hành này đã khởi nguồn từ chiếc G1 và trở thành những yếu tố không thể thiếu trên Android sau này. Sự phát triển của hệ điều hành Android: 1
  13. Thanh thông báo vuốt từ trên xuống (Notification bar): Ngay từ những ngày đầu tiên của Android, thanh thông báo này đã đánh dấu một bước quan trọng mà trước đây chưa hề có hệ điều hành nào làm được - đưa tất cả thông tin tin nhắn, tin thoại hoặc các cuộc gọi nhỡ chỉ với thao tác vuốt xuống. Hình 1.1.1. Thanh thông báo ở phiên bản thời kỳ đầu(trái) so với phiên bản Android 8.1(phải) Màn hình chính (Home Screen) và các widget: Một điểm khác biệt giữa Android so với các hệ điều hành khác là phần màn hình chính của mình. Bên cạnh việc thay đổi được hình nền, Android còn cho phép người dùng tùy biến màn hình chính của mình với nhiều widgets kèm theo, chẳng hạn như đồng hồ, lịch, trình nghe nhạc, đưa các icon ứng dụng ra ngoài hoặc thậm chí có thể can thiệp sâu hơn để thay đổi toàn bộ giao diện màn hình Home Screen này. 2
  14. Hình 1.1.2. Màn hình chính của Android 1.0(trái) so với Android 8.1(phải) Đồng bộ và tích hợp chặt chẽ với Gmail: Vào thời điểm điện thoại G1 được bán ra, Gmail đã hỗ trợ giao thức POP và IMAP để tích hợp với các trình email trên di động. Tuy nhiên, lúc bấy giờ không có bất kì sản phẩm nào có thể hỗ trợ được hoàn toàn những tính năng ưu việt này của Gmail. Mãi cho đến khi Android 1.0 xuất hiện, vấn đề này đã được khắc phục và G1 trở thành chiếc điện thoại mang lại trải nghiệm Gmail tốt nhất trên thị trường lúc bấy giờ. 3
  15. Hình 1.1.3. Gmail trên Android thời kỳ đầu Kho ứng dụng Android Market: Thật khó có thể tưởng tượng một chiếc smartphone mà không hề có kho ứng dụng, nhưng vào thời điểm Android mới ra mắt, gần như không có bất kì điện thoại nào có kho ứng dụng nào được tích hợp và chính Android đã mở đầu cuộc cách mạng ứng dụng di động này. Android Market trên G1 thời bấy giờ có rất ít ứng dụng và giao diện cực kỳ đơn giản, hơn nữa tính năng mua ứng dụng trên phiên bản này vẫn chưa được xuất hiện mãi cho đến năm sau - những vấn đề này dễ hiểu vì thời điểm này Android chỉ mới được khai sinh nên mọi thứ còn khá thô sơ. 4
  16. Hình 1.1.4. Hình ảnh Store của Android 1.0(trái) và Android 8.1(phải) Giao diện: Google đã phát triển giao diện Android phiên bản 1.0 với sự hỗ trợ từ TAT, viết tắt từ The Astonishing Tribe, một công ty thiết kế tương tác của Thụy Điển. Dấu ấn rõ ràng nhất mà TAT để lại trên phiên bản Android từ phiên bản 1.0 cho đến 2.2 chính là widget đồng hồ kim nằm ngoài Home Screen tuy đơn giản nhưng rất đẹp mắt. Công ty này sau đó ngừng hợp tác với Google và bị RIM mua lại để tập trung phát triển sản phẩm Blackberry cũng như nền tảng BBX sau này. 5
  17. 1.2. Kiến trúc cơ bản của hệ điều hành Android Android gồm năm phần chính sau được chứa trong bốn lớp: H H H Hình 1.2.1. Kiến trúc hệ điều hành Android 1.2.1. Nhân Linux Android dựa trên Linux phiên bản 2.6 cho hệ thống dịch vụ cốt lõi như security, memory management, process management, network stack, and driver model. Kernel Linux hoạt động như một lớp trừu tượng hóa giữa phần cứng và phần còn lại của phần mềm stack. 1.2.2. Thư viện Android bao gồm một tập hợp các thư viện C/C++ được sử dụng bởi nhiều thành phần khác nhau trong hệ thống Android.Điều này được thể hiện thông qua nền tảng ứng dụng Android. Một số các thư viện cơ bản được liệt kê dưới đây: 6
  18.  Hệ thống thư viện C: một BSD có nguồn gốc từ hệ thống thư viện tiêu chuẩn C (libc), điều chỉnh để nhúng vào các thiết bị dựa trên Linux.  Thư viện Media - dựa trên PacketVideo's OpenCORE; các thư viện hỗ trợ phát lại và ghi âm của âm thanh phổ biến và các định dạng video, cũng như các tập tin hình ảnh tĩnh,bao gồm cả MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG.  Bề mặt quản lý - Quản lý việc truy xuất vào hệ thống hiển thị.  LibWebCore - một công cụ trình duyệt web hiện đại mà quyền hạn cả hai trình duyệt web Android và xem web nhúng.  SGL - Đồ họa 2D cơ bản của máy.  Thư viện 3D - một thực hiện dựa vào OpenGL ES 1.0 APIs; các thư viện sử dụng phần cứng tăng tốc 3D (nếu có), tối ƣu hóa cao rasterizer phần mềm 3D.  FreeType - vẽ phông chữ bitmap và vector. SQLite một công cụ cơ sở dữ liệu quan hệ mạnh mẽ và nhẹ có sẵn cho tất cả các ứng dụng. 1.2.3. Thực thi Android bao gồm một tập hợp các thư viện cơ bản mà cung cấp hầu hết các chức năng có sẵn trong các thư viện lõi của ngôn ngữ lập trình Java.Tất cả các ứng dụng Android đều chạy trong tiến trình riêng.Máy ảo Dalvik đã được viết để cho một thiết bị có thể chạy nhiều máy ảo hiệu quả.Các VM Dalvik thực thi các tập tin thực thi Dalvik (dex).Định dạng được tối ưu hóa cho bộ nhớ tối thiểu.VM là dựa trên register - based, và chạy các lớp đã được biên dịch bởi một trình biên dịch Java để chuyển đổi thành các định dạng dex.Các VM Dalvik dựa vào nhân Linux cho các chức năng cơ bản như luồng và quản lý bộ nhớ thấp. 7
  19. 1.2.4. Nền tảng Android Bằng cách cung cấp một nền tảng phát triển mở, Android cung cấp cho các nhà phát triển khả năng xây dựng các ứng dụng cực kỳ phong phú và sáng tạo. Nhà phát triển được tự do tận dụng các thiết bị phần cứng, thông tin địa điểm truy cập, các dịch vụ chạy nền, thiết lập hệ thống báo động, thêm các thông báo để các thanh trạng thái, và nhiều, nhiều hơn nữa.Nhà phát triển có thể truy cập vào các API cùng một khuôn khổ được sử dụng bởi các ứng dụng lõi. Các kiến trúc ứng dụng được thiết kế để đơn giản hóa việc sử dụng lại các thành phần; bất kỳ ứng dụng có thể xuất bản khả năng của và ứng dụng nào khác sau đó có thể sử dụng những khả năng (có thể hạn chế bảo mật được thực thi bởi khuôn khổ). Cơ chế này cho phép các thành phần tƣơng tự sẽ được thay thế bởi người sử dụng. Cơ bản tất cả các ứng dụng là một bộ các dịch vụ và các hệ thống, bao gồm:  Một tập hợp rất nhiều các View có khả năng kế thừa lẫn nhau dùng để thiết kế phần giao diện ứng dụng như: gridview, tableview, linearlayout  Một “Content Provider” cho phép các ứng dụng có thể truy xuất dữ liệu từ các ứng dụng khác (chẳng hạn như Contacts) hoặc là chia sẻ dữ liệu giữa các ứng dụng đó.  Một “Resource Manager” cung cấp truy xuất tới các tài nguyên không phải là mã nguồn, chẳng hạn như: localized strings, graphics, and layout files.  Một “Notifycation Manager” cho phép tất cả các ứng dụng hiển thị các custom alerts trong status bar. Activity Maanager được dùng để quản lý chu trình sống của ứng dụng và điều hướng các activity. 1.2.5. Tầng ứng dụng Tầng ứng dụng (Application) là tầng giao tiếp với người dùng với các thiết bị Android như Danh bạ, tin nhắn, trò chơi, tiện ích tính toán, trình duyệt… Mọi ứng dụng viết đều nằm trên tầng này. 8
  20. CHƯƠNG 2: MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG ANDROID STUDIO, SQLITE 2.1. Giới thiệu ứng dụng Android Studio Android Studio là một nền tảng IDE1 (integrated development environment) dùng để phát triển các ứng dụng android, được Google release vào khoảng đầu năm 2015 thay thế cho bản Eclipse cũ. Android Studio được phát triển dựa trên IntelliJ IDEA Community Edition - công cụ lập trình tốt nhất cho java, giúp cho các lập trình viên tạo ứng dụng, thực hiện các thay đổi một cách dễ dàng, bên cạnh đó có thể xem trước trong thời gian thực và thiết kế giao diện đẹp hơn trước. Tiếng Việt cũng đã được tích hợp trong Android Studio. Đặc biệt, Android Studio cho phép người dùng Import Project từ Eclipse sang và logic lập trình cũng tương tự. 2.2. Thành phần trong một dự án ANDROID Bao bọc một Project android là thư mục app và phía dưới là ba thành phần chính của một project trong Android Studio: 1 9
nguon tai.lieu . vn