Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 72 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
72
Dung lượng
919,23 KB
Nội dung
TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI TP HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN - BÁO CÁO THỰC TẬP TỐT NGHIỆP Tìm hiểu triển khai Android Apps Google Play NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN SINH VIÊN THỰC HIỆN: Giảng viên: Lê Quốc Tuấn Nguyễn Văn Hảo; MSSV: 1551120082 Nguyễn Xuân Trường; MSSV: 1551120124 TP HỒ CHÍ MINH – 24/11/2020 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… TP.HCM, ngày … tháng … năm 2020 Giáo viên hướng dẫn NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… TP.HCM, ngày … tháng … năm 2020 Giáo viên phản biện LỜI CAM ĐOAN Tôi tên Nguyễn Văn Hảo Nguyễn Xuân Trường xin cam đoan tự thực Thực Tập Tốt Nghiệp, không chép Thực Tập Tốt Nghiệp khác hình thức nào, số liệu trích dẫn Thực Tập Tốt Nghiệp trung thực, số liệu, thông tin sử dụng Báo cáo Thực Tập Tốt Nghiệp thu thập từ nguồn thực tế, sách báo khoa học chuyên ngành (có trích dẫn đầy đủ theo quy định) Nội dung báo cáo kinh nghiệm thân rút từ trình nghiên cứu tìm hiểu thực tế KHÔNG SAO CHÉP từ nguồn tài liệu, báo cáo khác Nếu có sai sót nào, Chúng tơi xin hồn tồn chịu trách nhiệm theo quy định Nhà Trường Pháp luật MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT DANH MỤC HÌNH ẢNH DANH MỤC BẢNG .9 LỜI MỞ ĐẦU 10 CHƯƠNG 1: GIỚI THIỆU VỀ NODEJS 14 1.1 Giới thiệu NodeJS 14 1.1.1 NodeJS nên học NodeJS 14 1.1.2 Ứng dụng NodeJS 15 1.1.3 Hệ sinh thái NodeJS 15 1.1.4 Cách thiết lập NodeJS 16 1.2 Tầm quan trọng JavaScript 18 1.2.1 Giới thiệu lại khái niệm quan trọng JS 18 1.2.2 Tính cần thiết ES6-7 19 1.2.3 Phiên ECMAScript NodeJS 19 1.2.4 Cơng Cụ hỗ trợ lập trình 21 CHƯƠNG 2: ỨNG DỤNG CỦA NODEJS 22 2.1 Chạy ứng dụng NodeJS với terminal 22 2.1.1 Viết code tạo server 22 2.1.2 Chạy server NodeJS 22 2.2 Node package manager(npm) NodeJS module system 23 2.2.1 Node package manager(npm) 23 2.2.2 NodeJS module system 26 2.3 NodeJS core packages .28 2.4 Xử lý yêu cầu API cho ứng dụng NodeJS 29 2.5 Xử lý file ứng dụng NodeJS 30 2.5.1 Mở File Node.js .30 2.5.2 Lấy thông tin File Node.js 32 2.5.3 Ghi liệu vào File Node.js 33 2.5.4 Đọc liệu từ File Node.js 34 2.5.5 Đóng File Node.js 34 2.5.6 Truncate File Node.js 35 2.5.7 Xóa File Node.js 35 2.5.8 Tạo thư mục Node.js 35 2.5.9 Đọc thư mục Node.js 36 2.5.10 Xóa thư mục Node.js 36 2.6 Khái niệm Callback .37 2.6.1 Callback gì? 37 2.6.2 Ví dụ Node JS Callback 38 CHƯƠNG 3: TEMPLATE ENGINE HANDLEBARS .42 3.1 Giới thiệu 42 3.2 Khi nên sử dụng handlebars.js nên sử dụng 42 3.3 Handlebars hoạt động 43 CHƯƠNG 4: EXPRESS.JS VÀ API 46 4.1 Tạo server HTTP đơn giản với NodeJS 46 4.2 Giới thiệu Express 46 4.3 Render phản hồi HTML chuỗi mẫu 47 4.4 Tạo điểm cuối API restful 48 4.5 Sử dụng postman để kiểm tra API Writing tests 54 CHƯƠNG 5: REACT-NATIVE 58 Giới thiệu React-native cách thiết lập React-native 58 CHƯƠNG 6: XÂY DỰNG APP DEMO 61 6.1 Giới thiệu web demo App Tin Tức 61 6.2 Nền tảng công cụ phát triển 61 6.3 Phân tích – thiết kế 62 6.3.1 Mô tả yêu cầu toán 62 6.3.2 Danh sách Actor .62 6.3.3 Danh sách Use-case 63 6.4 Phân tích đặc tả yêu cầu chức Tổ chức 64 CHƯƠNG 7: KIỂM THỬ VÀ VẬN HÀNH 69 KẾT LUẬN 70 Kết đạt 70 Hướng phát triển .71 TÀI LIỆU THAM KHẢO 72 DANH MỤC CÁC TỪ VIẾT TẮT API: Application Program Interface AJAX: Asynchronous Javascript and XML CLI: Command Line Interface ES6: ECMAScript E4X: ECMAScript for XML HTTP: Hypertext Transfer Protocol HTML: Hypertext Markup Language MSI: Microsoft Installer Npm: Node package manager PM: Postman JS: javascript FD: File Descriptor SPA: Single Page Application SQL: Structure Query Language XML: Extensible Markup Language DANH MỤC HÌNH ẢNH Hình 1: Ví dụ callback Hình 2: Kết chạy tập tin blocking-example.js Hình 3: Kết chạy tập tin non-blocking-example.js Hình 4: Danh sách kiểm thử kết Hinh 5: Kết chạy test sử dụng Postman collection runner Hình 6: Sơ đồ Use-case Hình 7.1: Trang chủ Hình 7.2: Trang đăng ký thành viên Hình 7.3: Trang đăng nhập Hình 7.4: Trang liên hệ Hình 7.5: Trang xem chi tiết viết Hình 7.6: Thơng tin profile thành viên Hình 7.7: Trang quản trị Admin Hình 7.8: Trang quản lý viết thành viên Hình 7.9: Một số chức thành viên DANH MỤC BẢNG Bảng1: Một số mô-đun cốt lõi quan trọng Node.js Bảng 2: Các Flag sử dụng cho hoạt động Đọc/Ghi file Node.js Bảng 3: Một số phương thức hữu ích sử dụng để kiểm tra kiểu file Bảng 4: Các tiêu chuẩn để thiết kế API Bảng 5: Danh sách tùy chọn Bảng 6: Danh sách Actor Bảng 7: Danh sách Use-case LỜI MỞ ĐẦU Sau hai tháng tìm hiểu đề tài “xây dựng android apps ”, chúng em hoàn thành tiến độ theo dự kiến đề Để đạt kết này, chúng em xin chân thành cảm ơn trường Đại Học Giao Thông Vận Tải, khoa Công Nghệ Thông Tin tạo điều kiện cho em học thực tập học kỳ Chúng em đặc biêt cảm ơn giáo viên hướng dẫn: thầy Lê Quốc Tuấn – giảng viên Khoa Cơng Nghệ Thơng Tin, tận tình giúp đỡ chúng em trình thực đề tài Chúng em xin chân thành cảm ơn quí thầy Khoa ln tận tình dạy, hướng dẫn trang bị cho chúng em kiến thức bổ ích để hồn thành đề tài công việc sau Trong thời gian thực tập chúng em cố gắng tìm hiểu hồn thành công việc, tránh khỏi thiếu sót, chúng em mong nhận đóng góp ý kiến từ thầy cô bạn để hồn thành tốt Chúng em xin chân thành cảm ơn! 10 CHƯƠNG 5: REACT-NATIVE Giới thiệu React-native cách thiết lập React-native React-native Là framework công ty công nghệ tiếng facebook phát triển nhằmục đích giải tốn hiệu hybrid tốn chi phí mà phải viết nhiều loại ngôn ngữ native cho tảng di động Chúng ta build ứng dụng Native , build ứng dụng cách đa tảng (multi-platform) “mobile web app” , “HTML Apps” , “hybrid apps” hay không build Ios hay android mà build hệ sinh thái Ưu nhược điểm React-Native Ưu điểm Nhược điểm Hiệu mặt thời gian mà bạn muốn phát Vẫn đòi hỏi native code triển ứng dụng nhanh chóng Hiệu tưng đối ổn định Hiệu thấp với app native code Cộng đồng phát triển mạnh Bảo mật không cao dựa Javascript Tiết kiệm tiền Quản lý nhớ Team phát triển nhỏ Khả tùy biến không thực tốt module ứng dụng tin cậy ổn định Xây dựng cho nhiều hệ điều hành khác với native code Trải nghiệm người dung tốt hybrid code 58 Cài đặt React-native Bước 1: cài đặt Node.js Bước : cài đặt môi trường Mở terminal gõ lệnh “yarn global add expo-cli” để cài đặt expo-cli Gõ “expo init AwesomeProject” Trỏ đến AwesomeProject Khởi động lệnh yarn start expo start Bước : khởi động điện thoại Điện thoại bạn phải cài đặt expo-client Kết nối điện thoại với wifi máy tính dùng Sau mở ứng dụng quét mã QR terminal project Các thư viện cần cài đặt chương trình - react-native-gesture-handler - react-native-reanimated - react-native-screens - react-native-safe-area-context - @react-native-community/masked-view 59 dùng lệnh expo install react-native-gesture-handler react-native-reanimated react-nativescreens react-native-safe-area-context @react-native-community/masked-view để cài đặt sau cài đặ xong , check dependencies package.json "dependencies": { "@react-native-community/masked-view": "0.1.10", "@react-navigation/native": "^5.7.3", "@react-navigation/stack": "^5.9.0", "axios": "^0.20.0", "expo": "~38.0.8", "expo-status-bar": "^1.0.2", "lottie-react-native": "~2.6.1", "react": "~16.11.0", "react-dom": "~16.11.0", "react-native": "https://github.com/expo/react-native/archive/sdk38.0.2.tar.gz", "react-native-gesture-handler": "~1.6.0", "react-native-reanimated": "~1.9.0", "react-native-safe-area-context": "~3.0.7", "react-native-screens": "~2.9.0", "react-native-web": "~0.11.7" }, 60 CHƯƠNG 6: XÂY DỰNG APP DEMO 6.1 Giới thiệu web demo App Tin Tức “Tin tức tích lũy gọi kiến thức, tài sản quý giá người” Với bùng nổ thông tin internet, vai trị ứng dụng thơng tin điện tử trực tuyến trở nên quan trọng Khác với báo chí truyền thơng có giới hạn thời gian cập nhật tin tức, tờ báo trực tuyến cung cấp tiện lợi việc cập nhật phát hành thơng tin Về phía người dùng, họ xem thơng tin lúc nơi Về phía người cung cấp thơng tin, nhà báo, họ dễ dàng cập nhật tin tức nhất, thời Do việc sử dụng trang thông tin trực tuyến điều cần thiết nhằm đáp ứng nhu cầu cập nhật thông tin người Tin tức việc xảy dù tốt dù xấu, để giúp người biết chuyện xung quanh Thế giới.Ngày nhờ thông tin truyền thông nhanh,cho nên chuyện vừa xảy đâu giới ta biết ngày, nhờ mà học nhiều hay tránh chuyện xấu xảy ra, trận sóng Thần, bão táp, núi lửa đến, chất độc hại thức ăn giúp người biết trước mà tránh khỏi nguy hiểm đến Tin tức vô quan trọng cho người ta tri thức sở để người ta tiến hành việc lớn nhỏ Khi có Internet, tin tức quan trọng tốc độ lan truyền nhanh ảnh hưởng tức diện rộng 6.2 Nền tảng cơng cụ phát triển Hoạt động tảng Native code React-native , ngơn ngữ lập trình Javascript mơi trường Nodejs, Express framework + hệ quản trị CSDL MongoDB Công cụ phát triển: - Visual Studio Code Version 1.33 - MongoDB Compass - Postman 61 6.3 Phân tích – thiết kế 6.3.1 Mơ tả u cầu tốn ứng dụng NVH news gồm tính sau Chức người quản lý - Thêm tin tức - Quản lý tin tức - Quản lý thông tin người dùng Chức người dùng (user) - Quản lý thông tin cá nhân - Thêm bình luận vào viết - Xem , đọc viết ứng dụng - Tìm kiếm viết Khách vãng lai: - Xem , đọc viết ứng dụng - Khơng có tính bình luận - Tìm kiếm biết 6.3.2 Danh sách Actor STT Actor Ý nghĩa Khách vãng lai Khách, người dùng chưa đăng nhập vào hệ thống Thành viên Thành viên, người dùng có tài khoản đăng nhập vào hệ thống Admin Người quản trị hệ thống Bảng 6: Danh sách Actor 62 6.3.3 Danh sách Use-case STT Use-case Ý nghĩa Dang nhap Đăng nhập vào hệ thống Dang ky tai khoan Đăng ký thành viên Tim kiem bai viet Tìm kiếm viết Duyet xem tin tuc Duyệt xem viết Xem thong tin blog Xem thông tin ứng dụng Lien he Liên hệ ý kiến với người quản trị Cap nhat ho so ly lich Cập nhật thông tin thành viên Quan ly bai viet cua toi Quản lý viết thành viên 10 Tao bai viet Đăng viết 11 Binh luan bai viet Cho phép thành viên bình luận viết 12 Quan ly tat ca bai viet Người quản trị phép quản lý tất viết thành viên 13 14 Quan ly binh luan nguoi Quản trị viên phép quản lý bình luận dung thành viên Quan ly nguoi dung Quản trị viên phép quản lý tài khoản thành viên Bảng 7: Danh sách Use-case 63 6.4 Phân tích đặc tả yêu cầu chức Tổ chức 6.4.1 Chức đăng ký Để sử dụng ứng dụng, người dùng phải đăng ký tài khoản Để đăng kí tài khoản người dùng phải nhập đủ thông tin gồm: tên tài khoản, số điện thoại, mật xác nhận lại mật - Tên tài khoản chứa kí tự chữ số Bắt đầu chữ không chứa kí tự đặc biệt - Số điện thoại phải bao gồm 10 số chưa đăng ký - Mật phải bao gồm kí tự chữ in thường in hoa, số, kí tự đặc biệt, khơng chứa dấu cách, kí tự 64 Chức đăng nhập Đăng nhập chức bắt buộc ứng dụng Thông tin đăng nhập bao gồm email, mật Khi đăng nhập thành cơng hình chủ ứng dụng lên - số điện thoại : phải số điện thoại có 10 chữ số , đăng kí có database ứng dụng -mật : phải bao gồm kí tự chữ in thường in hoa, số, kí tự đặc biệt, khơng chứa dấu cách, kí tự 65 6.4.2 Trang quản lý Tại giao diện quản lý nhóm em có chức quản lý - Thêm biết vào danh mục chọn - Quản lý biết trang quản lý tin tức - Quản lý thông tin người dùng xóa thơng tin, xóa bình luận người dùng Trang đăng nhập admin 66 Trang quản lý tin Trang thêm tin 67 6.4.3 Trang chủ người dùng - Khi khách hàng đăng nhập thành công chuyển hướng tới trang chủ ứng dụng - Khi khách hàng muốn bình luận vào viết bình luận lưu ứng dụng người dùng vãng lai đọc bình luận - Khác hàng tự quản lý thơng tin cá nhân 6.4.4 Trang chủ khách vãng lai - Khi khách tỉa ứng dụng từ CH Play muốn đọc viết cần mở ứng dụng - Khách vãng lai đọc viết bình luận - Khách vãng lai muốn đăng kí thành viên có mục đăng kí 68 CHƯƠNG 7: KIỂM THỬ VÀ VẬN HÀNH Thử nghiệm ứng dụng - Sau khoảng thời gian dài phân tích, xây dựng ứng dụng, nhóm em chạy thử ứng dụng điện thoại Ứng dụng bước đầu đáp ứng tiêu đề giao diện chức Tuy nhiên cịn tồn số thiếu xót q trình xây dựng như: + Giao diện chi tiết sản phẩm đơn giản, hiển thị thơng tin + Khơng có mục chèn quảng cáo nên nhóm em định bỏ qua - Thống kê số lượng truy cập - Nhóm em sử dụng trình duyệt có sẵn Google Play Console , co phép thống kê số lượng tải ứng dụng , số lần gỡ , tỉ lệ đánh giá, khu vực, quốc gia sử dụng 69 KẾT LUẬN Kết đạt Về kiến thức : Sau thời gian thực đồ án tốt nghiệp em đạt nhiều tiến mặt tìm hiểu, nghiên cứu lý thuyết lẫn kỹ lập trình Có thể nói, thơng qua đồ án tốt nghiệp, em được: Phân tích thiết kế theo hướng đối tượng theo hướng chuyên nghiệp Nâng cao tinh thần tự học, tự nghiên cứu Có kinh nghiệm tìm hiểu sau lịch vực lập trinhg ứng dụng Về ứng dụng : - Chương trình thực yêu cầu đề tài - Giao diện thân thiện dễ sử dụng - Cho phép tìm kiếm thơng tin ứng dụng - Dễ dàng quản lý thông tin ứng dụng - Có tính tương tác với người dùng Những hạn chế : Do thời gian thực hiên phân tích thiết kế hệ thống tương đối hạn chế so với đề tài tương đối rộng phong phú với thiếu kiến thức kinh nghiệm nên khơng tránh khỏi thiếu sót định Bên cạnh chương trình cịn số chức chưa hoàn thiện cách đầy đủ xác - Các giao diện người dùng thực chưa đẹp mắt - Tốc độ xử lý ứng dụng cịn hạn chế - Có nhiều tính chưa thực - Chưa áp dụng công nghệ bảo mật vào ứng dụng - Chưa tối ưu hóa dung lượng ứng dụng 70 Hướng phát triển: Để tiếp tục phát triển đề tài áp dụng thực tế, nhóm chúng em nhận cần phải tiếp tục thực số công việc sau: - Xử lý lỗi chặt chẽ trước đưa vào sử dụng - Tối ưu hóa chức tìm kiếm - Đưa thêm nhiều ngôn ngữ vào ứng dụng - Linh hoạt kiện yêu cầu khách hàng - Hoàn thiện sửa chữa chức ứng dụng cho phù hợp với thực tế hoạt động kinh doanh - Tối ưu hóa khả tương thích app thiết bị di động Tối ưu hóa dung lượng tốc độ xử lý ứng dụng 71 TÀI LIỆU THAM KHẢO Express - Node.js web application framework, https://expressjs.com/ API Reference Documentation, https://developer.mozilla.org/vi/docs/Learn MongoDB Compass, https://docs.mongodb.com/compass/master/ Một nhìn tổng quan Nodejs, https://viblo.asia/p/mot-cai-nhin-tong-quannhat-ve-nodejs-Ljy5VeJ3lra Node.js tơi nên học lập trình Node.js?, https://techmaster.vn/posts/33428/nodejs-la-gi-va-tai-sao-toi-nen-hoc-lap-trinh-nodejs Bảng thống kê IDC từ tác giả Matt Rosoff, The research firm that once thought Microsoft would beat the iPhone has given up on Windows Phone, tháng 12 -2015, https://www.businessinsider.com/idc-smartphone-os-market-share2015-12 Sự phát triển mạnh mẽ hệ điều hành mobile, https://zmikisoft.com/suphattrien-manh-cua-cac-dieu-hanh-mobile/ Tham khảo nhiều câu hỏi https://stackoverflow.com Tham khảo trang https://reactnavigation.org/docs/getting-started/ 72