Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
478,75 KB
Nội dung
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT - HÀN KHOA KỸ THUẬT MÁY TÍNH VÀ ĐIỆN TỬ BÁO CÁO THỰC TẬP TỐT NGHIỆP FRESHER ANDROID (Đào tạo tân binh) Sinh viên thực : Lê Phước Thành Quang Lớp : 18CE Giảng viên hướng dẫn : TS.Hồng Hữu Đức Đơn vị thực tập : Cơng ty TNHH phần mềm FPT miền trung Người hướng dẫn : Nguyễn Văn Liêm Đà Nẵng, tháng năm 2022 PHIẾU NHẬN XÉT CỦA ĐƠN VỊ THỰC TẬP (Bản phô-tô) LỜI MỞ ĐẦU Trong trình đào tạo trường Đại học công nghệ thông tin truyền thông Việt-Hàn, Việc tổ chức cho sinh viên thực tập điều quan trọng Bởi mà thực tập hay kiến tập doanh nghiệp phần khơng thể thiếu q trình đào tạo, hội cho sinh viên trải nghiệm thực tế thời gian để sinh viên sử dụng kiến thức học trường áp dụng vào môi trường công việc thực tế Sau thời gian tìm kiếm cơng ty thực tập em vượt qua vòng vấn nhận thực tập công ty TNHH phần mềm FPT Miền trung Một số cơng ty có mơi trường làm việc tốt phù hợp với chương trình mà em đào tạo trường Trong trình thực tập em tìm hiểu tình hình xây dựng, phát triển cấu tổ chức công ty, đặc biệt em rút nhiều học kinh nghiệm quý báu cho thân sau hồn thành q trình thực tập Để có học quý giá em xin gửi lời cảm ơn chân thành đến nhà trường giảng viên giảng dạy truyền đạt kiến thức quý báu cho em trình học tập trường Đặc biệt hướng dẫn tận tình thầy Hồng Hữu Đức thời gian thực tập đưa nhiều ý kiến đóng góp giúp em hồn thành tốt cơng việc Và em xin cảm ơn tới anh chị Công ty TNHH phần mềm FPT miền trung cho em có mơi trường thực tập hịa đồng, thần thiện giúp em hoàn thành tốt thời gian thực tập lần Do chưa có nhiều kinh nghiệm tiếp xúc với hoạt động thực tế công ty, kiến thức chun mơn cịn hạn chế, nên báo cáo khơng thể tránh khỏi thiếu sót, em mong nhận đóng góp từ đại diện công ty ban lãnh đạo trường Đại học công nghệ thông tin truyền thông Việt-Hàn, để báo cáo em hoàn thiện Một lần em xin chân thành cảm ơn! Khoa ……………… – Lớp…………… Android Fresher (Đào tạo tân binh) LỜI CẢM ƠN Trong trình thực tập Công ty TNHH phần mềm FPT miền trung, lần đầu em tham gia thực tập cơng ty lớn nên cịn bỡ ngỡ chưa thành thạo công việc Nhưng may mắn q trình em nhận nhiều giúp đỡ nhiệt tình anh chị phần đào tạo công ty nên em dần quen với cơng việc Đúng vậy, để hồn thành cơng việc khơng dựa vào thân mà cịn phải cần đến giúp đỡ nhiều người Đối với thân em trước tiên em xin chân thành cảm ơn nhà trường tạo hội cho em tìm hiêu có hội tham gia thực tập cơng ty lớn Đà Nẵng thầy Hoàng Hữu Đức hỗ trợ em, anh chị công ty bảo hướng dẫn em nhiệt tình trình thực tập Một lần em xin chân thành cảm ơn ban lãnh đạo công ty TNHH FPT miền trung anh chị phận lãnh đạo giúp đỡ em thời gian qua Em xin chúc ban lãnh đạo, nhân viên mạnh khỏe, thành công công việc gặt hái nhiều kết thành công năm tới Em xin chân thành cảm ơn! Khoa kỹ thuật máy tính điện tử – Lớp :18CE Lê Phước Thành Quang Android Fresher (Đào tạo tân binh) NHẬN XÉT (Của giảng viên hướng dẫn) …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… ………………………………………………………………………… Ký tên TS Hoàng Hữu Đức Khoa kỹ thuật máy tính điện tử – Lớp :18CE Lê Phước Thành Quang Android Fresher (Đào tạo tân binh) MỤC LỤC CHƯƠNG TỔNG QUAN VỀ CƠ SỞ THỰC TẬP 1.1 CƠ QUAN THỰC TẬP 1.2 TẦM NHÌN 1.3 PHÁT TRIỂN PHẦN MỀM THEO MƠ HÌNH WATERFALL 1.3.1 Các giai đoạn mơ hình waterfall .8 1.3.2 Ưu điểm, nhược điểm mơ hình Waterfall .9 CHƯƠNG NỘI DUNG NGHIÊN CỨU .12 2.1 NHIỆM VỤ 12 CHƯƠNG CƠ SỞ LÝ THUYẾT 13 3.1 Những thứ training công ty .13 3.1.1 Java .13 3.1.2 Kotlin 14 3.1.3 XML 16 3.1.4 SDK 17 3.1.5 SQLite 18 3.1.6 Firebase .19 3.1.7 Bitbucket .20 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 22 4.1 Kết luận 22 4.2 Hướng phát triển 22 Khoa kỹ thuật máy tính điện tử – Lớp :18CE Lê Phước Thành Quang Android Fresher (Đào tạo tân binh) DANH MỤC PHỤ LỤC HÌNH Hình 1: Logo FPT Hình 2: Các giai đoạn mơ hình Waterfall Hình 3:Java 12 Hình 4:Ngơn ngữ lập trình Kotlin 14 Hình 5: file XML .16 Hình 6: Android SDK 17 Hình 7: SQLite 17 Hình 8: Firebase 18 Hình 9:Firebase Test Lab 19 Hình 10:Bitbucket 20 Khoa kỹ thuật máy tính điện tử – Lớp :18CE Lê Phước Thành Quang Android Fresher (Đào tạo tân binh) DANH MỤC PHỤ LỤC BẢNG Bảng 1:Chi tiết nội dung Trainning 11 Khoa kỹ thuật máy tính điện tử – Lớp :18CE Lê Phước Thành Quang Android Fresher (Đào tạo tân binh) CHƯƠNG 1.1 TỔNG QUAN VỀ CƠ SỞ THỰC TẬP CƠ QUAN THỰC TẬP Tên công ty: Công ty TNHH FPT miền trung Địa chỉ: FPT Complex, Khu đô thị FPT City, Ngũ Hành Sơn, Đà Nẵng 550000, Việt Nam Website: http://www.fpt-software.com/ Hình 1: Logo FPT 1.2 TẦM NHÌN FPT nơi ln mang cách tân đổi từ sản phẩm khách hàng công ty Công ty mong muốn ln đóng góp đổi cơng nghệ cho xã hội người dùng, điều mà tập thể công ty FPT tin tưởng hướng đến - Gia công phần mềm: Tại FPT, nơi ln mang đến cách tân, ln có đổi từ sản phẩm khác hàng chúng tơi Chúng tơi muốn đóng góp vào đổi công nghệ xã hội bạn, điều chúng tơi người FPT hướng đến Chuyên môn bao gồm công nghệ hàng đầu Fintech để tối ưu hóa quy trình kinh doanh, nâng cao suất, giảm gian lận tăng hài lòng khách hàng - Media & Entertainment: Hệ thống phát trực tuyến, nội dung chúng tơi giúp đài truyền hình vệ tinh danh sách Fortune 500 đẩy mạnh trò chơi họ nâng cao giải pháp phụ trợ phụ trợ - Automotive: Khoa kỹ thuật máy tính điện tử – Lớp :18CE Lê Phước Thành Quang Android Fresher (Đào tạo tân binh) FPT Automotive IoT Predix kết hợp khuôn khổ chứng minh FPT với sức mạnh phân tích độc đáo GE Predix để đáp ứng nhu cầu phát triển khách hàng tồn cầu chúng tơi - 1.3 Logistics & transportation: Chúng quan tâm đến Chất lượng việc cung cấp đổi công nghệ thông qua việc tuân thủ CMMi cấp 5, ISO 27001, ISO 9001 PHÁT TRIỂN PHẦN MỀM THEO MƠ HÌNH WATERFALL Waterfall Mơ hình Waterfall trọng vào tiến triển logic bước thực suốt vòng đời phát triển phần mềm Mơ hình thác nước trọng vào tiến triển logic bước thực suốt vòng đời phát triển phần mềm (software development life cycle-SDLC), giống bước mà dòng nước đổ xuống dòng thác Mặc dù phổ biến mơ hình giảm nhiều vài năm trở lại phương pháp linh hoạt (Agile) ưa chuộng, tính logic tự nhiên trình sử dụng phương pháp phủ nhận, q trình thiết kế thơng dụng ngành CNTT Mơ hình Waterfall hay cịn gọi mơ hình thác nước Được biết tới mơ hình quản lý dự án dễ hiểu nay, mơ hình Waterfall phương pháp quản lý dự án dựa quy trình thiết kế liên tiếp. Trong mơ hình Waterfall, giai đoạn dự án thực nối tiếp Giai đoạn bắt đầu giai đoạn trước hồn thành 1.3.1 Các giai đoạn mơ hình waterfall Hình 2: Các giai đoạn mơ hình Waterfall Một mơ hình Waterfall đơn giản có giai đoạn: - Yêu cầu Thiết kế Thực (xây dựng) Kiểm chứng Triển khai Bảo trì Khoa kỹ thuật máy tính điện tử – Lớp :18CE Lê Phước Thành Quang Android Fresher (Đào tạo tân binh) tiêu bao quát thiết kế có cấu trúc nhờ vào việc phác thảo pha tài liệu hóa từ trước Điều phù hợp với nhóm lớn mà thường có thành viên rời khỏi tham gia chu trình sống dự án Nó cho phép thiết kế cốt lõi dự án đặt chủ yếu tài liệu cụ thể, không thành viên nhóm - Áp đặt tổ chức có kết cấu chặt chẽ: Điều bị coi gánh nặng lợi thế, thật để trì mơ hình thác nước bắt dự án, chí tổ chức xây dựng dự án vơ xác, tn nghiêm ngặt theo thiết kế cấu tạo Những dự án lớn cần bao gồm tiến trình cụ thể để quản lý tồn khía cạnh dự án, từ thiết kế phát triển đến kiểm thử triển khai - Cho phép thay đổi thiết kế sớm: Mặc dù khó để thay đổi thiết kế giai đoạn sau, phương pháp thác nước giúp triển khai thay đổi đầu vòng đời ứng dụng dễ dàng Vì chưa có mã hay triển khai giai đoạn này, việc chỉnh sửa tài liệu trở nên nhanh chóng vơ đơn giản - Thích hợp cho dự án theo hướng đến mốc: Khi ứng dụng cấu trúc mơ hình thác nước, dự án phù hợp với tổ chức vào nhóm hoạt động tốt dựa chủ yếu vào mốc ngày Với pha rõ ràng cụ thể, thành viên nhóm dễ dàng hiểu chuẩn bị cho Việc có lịch trình cho tồn q trình đề vài thời điểm cụ thể hay dấu mốc quan trọng cho giai đoạn đơn giản Tất nhiên điều khơng có nghĩa phát triển phần mềm khơng xảy chậm trễ, mơ hình thác nước thích hợp cho dự án có hạn chót hồn thành 1.3.2.2 Nhược điểm mơ hình Waterfall Mặc dù vài tiến sĩ Royce lần đầu công bố, mơ hình thác nước coi đột phát lớn năm 1970 Sau bốn kỷ, vài nhược điểm lớn thể mơ hình khó cịn đáng mong đợi kỳ vọng bị thay mơ hình Agile ngày Ràng buộc thiết kế thích ứng kém: Mặc dù viết hẳn sách viết riêng chủ đề này, thiếu sót quan trọng mơ hình thác nước khả thích ứng trước thay đổi tồn vịng đời phát triển Khi việc kiểm thử pha thứ năm phát số lỗi phần thiết kế hệ thống, khơng yêu cầu bước lùi lớn bước cũ, vài trường hợp cịn phá hủy tính thống toàn hệ thống Trong phần lớn nhóm lập trình viên có kinh nghiệm khó để xảy phát muộn màng từ đầu, tình trạng xảy ra, đặc biệt pha thường để cuối tồn chu trình - Bỏ qua phản hồi người dùng giai đoạn sau: Vì có q trình nghiêm ngặt bước một, mơ hình thác nước gặp khó khăn vấn đề nhận phản hồi người dùng giai đoạn sau vòng đời sản phẩm Người quản lý dự án đương nhiên đưa q trình giai đoạn trước yêu cầu thay đổi từ khách hàng, điều vô tốn ngốn thời gian cho nhóm phát triển khách hàng - Thời gian kiểm thử bị trì hỗn: Trong phần lớn mơ hình SDLC đại ln tích hợp kiểm thử phần tất yếu ln ln xun suốt q trình q trình phát triển, mơ hình thác nước để kiểm thử vào cuối vòng đời - Khoa kỹ thuật máy tính điện tử – Lớp :18CE Lê Phước Thành Quang Android Fresher (Đào tạo tân binh) Điều không làm cho phần lớn lỗi kỹ thuật hay chí vấn đề thiết kế khơng phát tận cuối chu trình sống, cịn dễ gây thói quen viết mã chất lượng việc kiểm thử thường muộn Khoa kỹ thuật máy tính điện tử – Lớp :18CE Lê Phước Thành Quang Android Fresher (Đào tạo tân binh) CHƯƠNG 2.1 NỘI DUNG NGHIÊN CỨU NHIỆM VỤ Tham gia thực tập Công ty bối cảnh dịch bệnh phức tạp Tồn nhiệm vụ cơng việc thực tập sinh diễn thông qua hình thức trực tuyến Mục tiêu tập giúp sinh viên thực tập nắm rõ quy trình phát triển ứng dụng mobile ngôn ngữ Java Kotlin - Thời gian thực tập: Từ ngày 16/06/2022 đến ngày 09/09/2022 Thời gian làm việc: ngày tuần, ngày tiếng Hình thức : Trực tuyến với hướng dẫn mentor Quá trình thực tập chia làm giai đoạn chính: Giai đoạn 1: Tham gia vào buổi training lý thuyết cơng nghệ Giúp thực tập sinh có thêm kiến thức nhìn tổng quan cơng nghệ phải sử dụng Tồn nội dung training thời gian liệt kê Giai đoạn 2: Áp dụng kiến thức training giai đoạn với kiến thức dạy trường vào dự án mô Mỗi thành viên nhóm đảm nhiệm số task dự án Ngày Nội dung nhiệm vụ công việc 20/6/2022 Git Training (1 day) 21/6/2022 Training Kotlin Language (12 days) 7/7/2022 Audit lần 8/7/2022 Basic Android (11 days) 25/7/2022 Audit lần 26/7/2022 Advanced Android (22 days) 25/8/2022 Audit lần 26/8/2022 OJT/Mock Project (11 days) 12/9/2022 Audit lần Bảng 1:Chi tiết nội dung Trainning Sau tháng học hỏi tìm hiểu tiếp thu kiến thức em bước tiếp vào giai đoạn bắt đầu làm dự án Khoa kỹ thuật máy tính điện tử – Lớp :18CE Lê Phước Thành Quang Android Fresher (Đào tạo tân binh) CHƯƠNG 3.1 - - CƠ SỞ LÝ THUYẾT Những thứ training công ty Android o Java o Kotlin o XML o SDK CSDL o SQLite o Firebase Khác o Bitbucket 3.1.1 Java a Khái niệm Java ngôn ngữ hướng đối tượng tương tự C ++, với tính nâng cao đơn giản hóa Java chạy tất tảng - Java đồng thời thực nhiều câu lệnh thay thực theo Dựa Class ngơn ngữ lập trình hướng đối tượng Ngơn ngữ lập trình độc lập tn theo logic “Viết Viết lần, Chạy nơi” tức mã biên dịch chạy tất tảng hỗ trợ java Nói cách đơn giản, tảng điện tốn nơi bạn phát triển ứng dụng Hình 3:Java b Các tính Java - Đơn giản: Java cải tiến dễ dàng cách loại bỏ tất phức tạp trỏ, toán tử, phương thức nạp chồng (overload)như bạn thấy C ++ ngơn ngữ lập trình khác - Portable: Java độc lập với tảng, có nghĩa ứng dụng viết tảng dễ dàng chuyển sang tảng khác - Hướng đối tượng: Mọi thứ coi đối tượng khác nhau, có sở hữu thuộc tính tất hoạt động thực cách sử dụng đối tượng - Bảo mật: Tất mã chuyển đổi sang byteCode sau biên dịch, đọc người chạy chương trình bên Khoa kỹ thuật máy tính điện tử – Lớp :18CE Lê Phước Thành Quang Android Fresher (Đào tạo tân binh) - - Sandbox để ngăn chặn hoạt động từ nguồn không đáng tin cậy Nó cho phép phát triển hệ thống / ứng dụng khơng có virus, giả mạo Linh hoạt: Nó có khả thích ứng với mơi trường phát triển hỗ trợ cấp phát nhớ động giảm lãng phí nhớ hiệu suất ứng dụng tăng lên Phân tán: Java cung cấp tính giúp tạo ứng dụng phân tán Sử dụng phương thức từ xa(RMI), chương trình gọi phương thức chương trình khác thơng qua nhận đầu Bạn truy cập file cách gọi phương thức từ máy internet Mạnh mẽ: Java có hệ thống quản lý nhớ mạnh Nó giúp loại bỏ lỗi kiểm tra Code q trình biên dịch runtime Hiệu suất cao: Java đạt hiệu suất cao thơng qua việc sử dụng byteCode dễ dàng dịch sang mã máy Với việc sử dụng trình biên dịch JIT (Just-In-Time), Java mang lại hiệu cao Thông dịch: Java biên dịch thành byteCode, thông dịch môi trường Java run-time Đa luồng: Java hỗ trợ nhiều luồng thực thi, bao gồm tập hợp nguyên hàm đồng hóa Điều làm cho lập trình với chủ đề dễ dàng nhiều c Các thành phần Java - Components in Java JVM máy ảo giúp máy tính chạy chương trình Java Đây mơi moi trường giúp cho byteCode java thực thi Nó cỗ máy trừu tượng Đây đặc tả cung cấp mơi trường thời gian chạy mã byte Java thực thi Nó theo ba ký hiệu: Specification: Đây tài liệu mô tả việc triển khai máy ảo Java Nó cung cấp Sun công ty khác Implementation (Triển khai): Đây chương trình đáp ứng yêu cầu đặc tả JVM Instance Runtime: Một thể JVM tạo bạn viết lệnh java dấu nhắc lệnh chạy lớp - JRE (Java Runtime Environment) JRE (là viết tắt Java Runtime Environment) sử dụng để cung cấp môi trường để byteCode thực thi Nó trình triển khai JVM cung cấp lớp thư viện file khác mà JVM sử dụng chạy Vì vậy, JRE gói phần mềm chứa yêu cầu để chạy chương trình Java Về JDK (Bộ phát triển Java) 3.1.2 Kotlin a Khái niệm Kotlin ngơn ngữ lập trình mã nguồn mở phát triển JetBrains (Cha đẻ của IDE đình đám IntelliJ IDEA – Google mua lại chuyển thành Android Studio) Cũng giống Java, Kotlin “ngơn ngữ lập trình kiểu tĩnh” Tức biến cần phải khai báo trước sử dụng Đối với ứng dụng Android, sử Khoa kỹ thuật máy tính điện tử – Lớp :18CE Lê Phước Thành Quang Android Fresher (Đào tạo tân binh) dụng Kotlin thay cho mã Java sử dụng đồng thời hai project Hình 4:Ngơn ngữ lập trình Kotlin Kotlin Android cách đơn giản ứng dụng Android có khả sử dụng ngơn ngữ lập trình Kotlin Sau trở thành ngơn ngữ lập trình Android vào năm 2019 Kotlin Google hỗ trợ đầy đủ để tham gia đầy đủ vào gói cài đặt IDE để thay cho trình biên dịch Java dạng tiêu chuẩn b) Ưu điểm bật Kotlin Kotlin khắc phục yếu điểm Java như: Khơng thể phủ nhận vai trị Java Android nói riêng ngành cơng nghệ thơng tin nói chung Hiện nay, Java ngơn ngữ lập trình ưu tiên sử dụng lập trình viên thực dự án Android tồn hạn chế định. Một vấn đề lớn tồn đọng Java thiếu khả mở rộng khơng thể hỗ trợ tính cho lập trình hàm Mặc dù Java giới thiệu mang lại tính cho nhà phát triển như: biểu thức lambda, interface methods yếu tố lập trình hàm Tuy nhiên, Android Java hỗ trợ phần tính mà Java cung cấp. Chính vậy, đời Kotlin chuyên gia đánh giá khắc phục hồn tồn hạn chế mà Java khơng thực Với đặc tính thừa hưởng từ Java nên bạn sử dụng Kotlin khai thác tảng từ Java class Library có Code ngắn gọn dễ hiểu Ngơn ngữ lập trình Kotlin xây dựng hệ thống code giúp lập trình viên dễ đọc, dễ viết dễ làm việc Những người bắt đầu tiếp thu dễ dàng kiến thức đặc thù loại ngôn ngữ Việc tối giản số lượng code giúp cho Kotlin mang lại trải nghiệm thú vị cho người dùng so với loại ngôn ngữ khác Java Kotlin không bị lỗi NullPointerException Khoa kỹ thuật máy tính điện tử – Lớp :18CE Lê Phước Thành Quang Android Fresher (Đào tạo tân binh) Với lập trình viên bạn thấy rõ NullPointerException lỗi thường xuyên xuất dự án viết ngơn ngữ lập trình Java Lỗi NullPointerException xuất bạn gán giá trị null đến với đối tượng đó, nhiên truy xuất đối tượng lại bị xuất lỗi. Khi chạy Android, bạn quên cập nhật đối tượng cho Java bạn nhận log crash (dừng đột ngột) báo cáo hệ thống Những lỗi NullPointerException.Kotlin thiết kế để giảm thiểu loại bỏ hầu hết nguồn tham chiếu Null dựa vào chế null-safety Chính vậy, theo chun gia việc sử dụng ngơn ngữ lập trình Kotlin trở nên an toàn Java nhiều Hầu hết lập trình viên trọng đến lỗi xảy code, nên code ngắn lỗi Chính thế, nên code Kotlin thiết kế ngắn gọn so với code viết Java mà kết quả kiểm tra cho giống nhau. Để dễ hiểu bạn hình dung sau: Nếu bạn định nghĩa class trong Java cần phải sử dụng đến dịng dùng Kotlin dịng code giảm xuống cịn đến dịng chí dịng mà kết sau cho tương tự Kotlin có khả tương tác cao Kotlin xem ngơn ngữ lập trình chạy máy ảo tương tự Java Tuy nhiên, khả tương tác cao giúp cho Kotlin tương thích 100% với Java nên dự án sử dụng Java Kotlin. Hiện nay, developer Android có khả sử dụng Java class library dùng Kotlin để thực viết code ngược lại Nhờ vậy, bạn sử dụng ngơn ngữ để phát triển mở rộng cho việc phát triển dự án Java cũ mà không cần phải bắt lại. Có thể sử dụng Java class library dùng Kotlin để viết code ngược lại Điều có nghĩa , bạn sử dụng Kotlin để bạn mở rộng phát triển Với lập trình viên quen làm việc với Java chuyển sang hợp tác Kotlin khơng cịn cảm thấy bỡ ngỡ hay xa lạ cú pháp quen thuộc Nhờ vậy, kỹ có việc code Java áp dụng với Kotlin Kotlin hỗ trợ ưu tiên hỗ Android Studio IDE Hiện nay, developer Android dễ dàng tận dụng IDE tích hợp từ Android Studio 3.0 Những phiên Android Studio thấp cần phải thực cài thêm plugin khiến cho cấu hình Kotlin dự án trở nên đơn giản hơn. Hiện tại, IDE hỗ trợ cho Java hỗ trợ cho Kotlin Chính thế, hầu hết Developer tận dụng IDE số cả Android Studio Kotlin với tool làm việc thân thiện hỗ trợ cho bạn lựa chọn Java IDE làm việc thực làm việc với command line Khoa kỹ thuật máy tính điện tử – Lớp :18CE Lê Phước Thành Quang Android Fresher (Đào tạo tân binh) 3.1.3 XML XML từ viết tắt từ Extensible Markup Language ngôn ngữ đánh dấu mở rộng XML có chức truyền liệu mô tả nhiều loại liệu khác Tác dụng XML đơn giản hóa việc chia sẻ liệu tảng hệ thống kết nối thông qua mạng Internet XML dùng để cấu trúc, lưu trữ trao đổi liệu ứng dụng lưu trữ liệu Ví dụ ta xây dựng ứng dụng Php ứng dụng Java hai ngơn ngữ khơng thể hiểu nhau, ta sử dụng XML để trao đổi liệu Chính vậy, XML có tác dụng lớn việc chia sẻ, trao đổi liệu hệ thống Hình 5: file XML Ưu nhược điểm XML - Ưu điểm Ưu điểm lớn XML độc lập XML sử dụng để mô tả liệu dạng text, nên hầu hết phần mềm hay chương trình bình thường đọc chúng XML đọc phân tích nguồn liệu dễ dàng nên sử dụng với mục đích trao đổi liệu chương trình, hệ thống khác XML sử dụng cho Remote Procedure Calls nhằm phục vụ cho dịch vụ website - Nhược điểm Tỷ lệ sai sót sử dụng XML để truyền liệu khoảng từ 5-7% Con số không cao, thực tế, người ta cần cân nhắc trước sử dụng để trao đổi thơng tin Khoa kỹ thuật máy tính điện tử – Lớp :18CE Lê Phước Thành Quang Android Fresher (Đào tạo tân binh) 3.1.4 SDK SDK từ viết tắt Software Development Kit Nó thực chất cơng cụ phần mềm phục vụ cho việc phát triển ứng dụng dựa tảng định Cụ thể, SDK cung cấp thư viện, mẫu template, tài liệu, mẫu code, tiện ích gỡ rối, ghi chú, tài liệu bổ sung… giúp lập trình viên dễ dàng tích hợp vào ứng dụng hay phần mềm Phần lớn, SDK chức hiển thị thơng báo, quảng cáo… Ngồi ra, SDK cịn chứa API thể dạng thư viện hay hệ thống phần cứng Hình 6: Android SDK Bộ cơng cụ Android SDK gì: Đây cơng cụ sử dụng ngơn ngữ Java Nó ứng dụng để lập trình phần mềm hoạt động tảng hệ điều hành Android 3.1.5 SQLite SQLite thư viện phần mềm mà triển khai SQL Database Engine, không cần máy chủ, không cần cấu hình, khép kín nhỏ gọn Nó sở liệu, khơng cần cấu hình, có nghĩa giống sở liệu khác mà bạn khơng cần phải cấu hình hệ thống Hình 7: SQLite Khoa kỹ thuật máy tính điện tử – Lớp :18CE Lê Phước Thành Quang Android Fresher (Đào tạo tân binh) SQLite engine quy trình độc lập (standalone process) sở liệu khác, bạn liên kết cách tĩnh động tùy theo yêu cầu bạn với ứng dụng bạn SQLite truy cập trực tiếp file lưu trữ (storage files) - SQLite khơng u cầu quy trình hệ thống máy chủ riêng biệt để hoạt động SQLite không cần cấu hình, có nghĩa khơng cần thiết lập quản trị Một sở liệu SQLite hoàn chỉnh lưu trữ file disk đa tảng (cross-platform disk file) SQLite nhỏ trọng lượng nhẹ, 400KiB cấu hình đầy đủ 250KiB với tính tùy chọn bị bỏ qua SQLite khép kín (self-contained), có nghĩa khơng có phụ thuộc bên Các transaction SQLite hoàn toàn tuân thủ ACID, cho phép truy cập an toàn từ nhiều tiến trình (process) luồng (thread) SQLite hỗ trợ hầu hết tính ngơn ngữ truy vấn (query language) tìm thấy tiêu chuẩn SQL92 (SQL2) SQLite viết ANSI-C cung cấp API đơn giản dễ sử dụng SQLite có sẵn UNIX (Linux, Mac OS-X, Android, iOS) Windows (Win32, WinCE, WinRT) Các lệnh SQLite tiêu chuẩn để tương tác với sở liệu quan hệ tương tự SQL Chúng CREATE, SELECT, INSERT, UPDATE, DELETE DROP 3.1.6 Firebase Firebase tảng để phát triển ứng dụng di động trang web, bao gồm API đơn giản mạnh mẽ mà không cần backend hay server Firebase dịch vụ sở liệu hoạt động tảng đám mây – cloud Kèm theo hệ thống máy chủ mạnh mẽ Google Chức giúp người dùng lập trình ứng dụng cách đơn giản hóa thao tác với sở liệu Cụ thể giao diện lập trình ứng dụng API đơn giản Mục đích nhằm tăng số lượng người dùng thu lại nhiều lợi nhuận Đặc biệt, dịch vụ đa bảo mật cực tốt Firebase hỗ trợ hai tảng Android IOS Khơng có khó hiểu nhiều lập trình viên chọn Firebase làm tảng để xây dựng ứng dụng cho hàng triệu người dùng tồn giới Khoa kỹ thuật máy tính điện tử – Lớp :18CE Lê Phước Thành Quang Android Fresher (Đào tạo tân binh) Hình 8: Firebase Chức Firebase - Firebase Analytics Firebase Analytics cung cấp tính phân tích tương tác người dùng với ứng dụng, tình trạng sử dụng ứng dụng chí hoạt động hay hiệu quảng cáo, tình trạng trả phí, từ tạo báo cáo hoạt động người dùng - Firebase Hosting Firebase hosting hỗ trợ nhà phát triển tạo lập ứng dụng cách đơn giản so với việc tự tạo hay thuê server thực mà đảm bảo độ xác an tồn thơng tin - Firebase Cloud Messaging Firebase Cloud Messaging cung cấp việc tạo điểm nhận diện có thơng báo thiết lập đối tượng gửi tin nhắn mong muốn - Firebase Authentication Firebase Authentication tính xác thực người dùng Password, số điện thoại tài khoản Google, Facebook hay Twitter, Tính cịn cho phép thực chia sẻ ID ứng dụng cách dễ dàng - Firebase Cloud Storage Firebase Cloud Storage quản lý, chia sẻ hình ảnh, video mà người dùng upload lên sử dụng tài nguyên cho ứng dụng - Firebase Remote Config Chức giúp cho ứng dụng bạn cập nhật cách tự động từ giá trị mặc định ban đầu - Firebase Test Lab Firebase Test Lab chức để kiểm tra hoạt động ứng dụng Cloud, nhiều thiết bị khác Khoa kỹ thuật máy tính điện tử – Lớp :18CE Lê Phước Thành Quang Android Fresher (Đào tạo tân binh) Hình 9:Firebase Test Lab 3.1.7 Bitbucket Bitbucket dịch vụ lưu trữ web dành cho dự án có sử dụng hệ thống kiểm soát Git/Mercurial revision Bitbucket viết ngơn ngữ lập trình Python xây dựng tảng Django Framework Bitbucket dịch vụ web phát triển công ty Atlassian, giúp lưu trữ mã nguồn tất phiên mà bạn thao tác code Git hệ thống quản lý phiên phân tán (Distributed Version Control System) Git giúp người dùng dễ dàng lưu lại phiên chỉnh sửa code, thuận tiện cho việc khôi phục gộp chung với phiên khác để đưa vào code reposity Bitbucket code reposity mà nhắc đến Hình 10:Bitbucket Như vậy, Bitbucket cho phép người dùng quản lý phiên phân tán (Git Mercurial) thành viên dự án Theo người đứng đầu dự án theo dõi, đánh giá tiến độ công việc kịp thời đưa phương án tối ưu để cải tiến mã nguồn Bitbucket nhà chung giúp developer trao đổi kinh nghiệm học hỏi lẫn thông qua lần comment, review hay commit Khoa kỹ thuật máy tính điện tử – Lớp :18CE Lê Phước Thành Quang Android Fresher (Đào tạo tân binh) Khoa kỹ thuật máy tính điện tử – Lớp :18CE Lê Phước Thành Quang Android Fresher (Đào tạo tân binh) CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 4.1 Kết luận Sau hai tháng thực tập doanh nghiệp FPT software, em hồn thành báo cáo thực tập Trong trình thực tập, em học hỏi nhiều thứ từ cách xây dựng sở liệu đạt chuẩn, quy trình phát triển phần mềm, chức phận team, kiến thức chuyên ngành… Thời gian thực tập không nhiều đủ cho em tiếp thu thêm kiến thức thực tế để sau hoàn thành chương trình học em có kinh nghiệm cho cơng việc tương lai sống Một số kết sau thực đề xuất phía trên: Học hỏi nhiều kiến thức môi trường tốt Cải thiện thân tốt Hiện thực project với nhóm cơng ty 4.2 Hướng phát triển Sẽ thực tốt nhiệm vụ thực project với nhóm cơng ty Học hỏi, cải thiện thân tốt Sau hồn thành khóa học việc từ thân nắm cơng ty truyền đạt Khoa kỹ thuật máy tính điện tử – Lớp :18CE Lê Phước Thành Quang Android Fresher (Đào tạo tân binh) TÀI LIỆU THAM KHẢO [1] developer.android.com/jetpack?gclid=Cj0KCQjwv5uKBhD6ARIsAGv9awnVN9s4nU8prVpXSVwQQXOv4PI9aZTMTFRsjGWSuzjRgci2CMUCyUaAjfLEA Lw_wcB&gclsrc=aw.ds [2] https://firebase.google.com/?gclid=Cj0KCQjwv5uKBhD6ARIsAGv9axuvttwMDzKAK5fUnj2p0WyyNUBtoDFhMc28EUOMSkRNkDeSKDjs3caAlwaEA Lw_wcB&gclsrc=aw.ds [3] F S Ira W.Cotton, "Data structures and techniques for remote computer graphics," 09 December 1968, December 1968 [4] https://developer.android.com/training/data-storage/sqlite [5] https://www.developerlibs.com/2018/11/bitbucket-android-studio.html Khoa kỹ thuật máy tính điện tử – Lớp :18CE Lê Phước Thành Quang