1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO CÁO THỰC TẬP LẬP TRÌNH FLUTTER TRÊN ANDROID

17 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 433,95 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chương 2: Nội dung thực tập Đợt thực tập với chủ đề “Lập trình Flutter trên Android” nhằm mục đích giúp sinh viên thực tập được đào tạo toàn diện về lập trình với framework Flutter để t

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO THỰC TẬP

LẬP TRÌNH FLUTTER TRÊN ANDROID

Công ty thực tập : Công ty cổ phần KiteMetric Người phụ trách : Phạm Hoàng Hải

Thực tập sinh : Trần Lê Bảo Châu

TP Hồ Chí Minh, tháng 6 năm 2022

Trang 2

LỜI MỞ ĐẦU

Ở thời điểm bùng phát thông tin như hiện tại, thiết bị di động gần như trở thành một phần không thể thiếu trong cuộc sống của con người Thiết bị di động hiện tại đang phát triển với một tốc độ vô cùng mạng mẽ, mà kéo theo đó là sự phát triển “chóng mặt” của các ứng dụng di động

Hòa chung với sự phát triển ấy, nhiều công ty tại Việt Nam cũng tham gia vào cuộc đua phát triển ứng dụng trên thiết bị di động KiteMetric cũng là một trong số ấy Không chỉ phát triển ứng dụng trên những framework cũ, công ty còn đang đặt chân vào sử dụng một framework mới là Flutter, một framework đang được phát triển bởi Google trong thời gian gần đây Do đó, em nghĩ đây là một môi trường năng động, tiếp thu cái mới, thuận lợi để giúp đỡ

em bước đầu trên con đường phát triển ứng dụng di động với Flutter

Trang 3

LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn Công ty KiteMetric Việt Nam đã tạo điều kiện cho em có cơ hội được thực tập tại công ty

Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của nhóm trainer, nhóm thực tập chúng em đã tiếp thu được những kiến thức quan trọng để có thể làm được một ứng dụng di động bằng Flutter Chân thành cảm ơn các anh chị trong nhóm trainer đã bỏ ra nhiều thời gian, công sức để hướng dẫn chúng em hoàn thành đợt thực tập này

Đặc biệt cảm ơn thầy Phạm Hoàng Hải, đã training Flutter, Dart, boilerplate, hướng dẫn, giúp đỡ cho chúng em tận tình cả những khó khăn trong công việc, đến những khó khăn việc làm quen với môi trường mới, … để có thể làm ra một sản phẩm trong thời gian qua

Cũng xin cảm ơn thầy cô trong khoa Công nghệ phần mềm đã nhiệt tình hỗ trợ, tạo điều kiện em làm bài báo cáo này

Trần Lê Bảo Châu

TP HCM, ngày 15 tháng 06 năm 2022

Trang 4

NHẬN XÉT CỦA KHOA

Trang 5

MỤC LỤC

Chương 1: Giới thiệu công ty thực tập 5

1 Giới thiệu công ty KiteMetric 5

2 Sản phẩm của công ty 5

Chương 2: Nội dung thực tập 7

1 Nghiên cứu kỹ thuật 7

1.1 Nghiên cứu công cụ, quy trình 7

1.2 Nghiên cứu ngôn ngữ, template 8

2 Thực hiện project 9

3 Lịch làm việc 9

Chương 3: Chi tiết về project 12

1 Giới thiệu về project 12

1.1 Yêu cầu chức năng 12

1.2 Yêu cầu phi chức năng 12

2 Thực hiện 12

3 Kế hoạch 12

TÀI LIỆU THAM KHẢO 15

Trang 6

Chương 1: Giới thiệu công ty thực tập

1 Giới thiệu công ty KiteMetric

KiteMetric là công ty tư vấn công nghệ được thành lập từ năm 2012 với sứ mệnh hỗ trợ các doanh nghiệp khởi nghiệp chuyển đổi ý tưởng thành sản phẩm chất lượng cao Công ty đã và đang hợp tác với khách hàng trên toàn thế giới để cung cấp các sản phẩm trong nhiều lĩnh vực khác nhau bao gồm: ứng dụng học máy, trực quan hóa dữ liệu, mạng xã hội, ứng dụng fintech, và nhiều lĩnh vực khác

các sản phẩm hiệu suất cao với trải nghiệm người dùng tuyệt vời trên tất cả các nền tảng

động hóa các hoạt động thủ công, cải thiện hoạt động kinh doanh với trí thông minh theo hướng dữ liệu

các khái niệm để xác thực ý tưởng và đưa ra thiết kế UI / UX sáng tạo mang lại tính độc đáo của bất kỳ sản phẩm nào

- Về Technology Consulting: cung cấp dịch vụ giúp định hình ý tưởng, xác định các rào cản kỹ thuật, đề xuất các giải pháp và công nghệ phù hợp

2 Sản phẩm của công ty

Hai trong số những sản phẩm nổi bật của công ty có thể kể đến là Blanket và FaceSwap

Trang 7

- Blanket: một ứng dụng dành cho thiết bị di động áp dụng nhiều thuật toán để thực hiện nhiệm vụ, đo lường và khen thưởng hiệu suất của nhân viên, đồng thời, giúp tăng cường hiệu quả trong quản lý nhà hàng và hoạt động hàng ngày của họ

Trang 8

- FaceSwap: ứng dụng thú vị cho phép người dùng thay thế khuôn mặt nhân vật nổi tiếng trong ảnh bằng khuôn mặt của họ bằng cách sử dụng một bức ảnh duy nhất

từ máy ảnh Ứng dụng này có sẵn trên cả Android và iOS với hơn một nửa triệu người dùng

Chương 2: Nội dung thực tập

Đợt thực tập với chủ đề “Lập trình Flutter trên Android” nhằm mục đích giúp sinh viên thực tập được đào tạo toàn diện về lập trình với framework Flutter để tạo ứng dụng di động, đồng thời rèn luyện những kỹ năng mềm như làm việc nhóm, thuyết trình, giao tiếp

1 Nghiên cứu kỹ thuật

1.1 Nghiên cứu công cụ, quy trình

Thời gian : 1 tuần

Nội dung : Tìm hiểu về các công cụ sẽ được sử dụng trong quá trình làm việc, mô

hình làm việc dự kiến

Trong thời gian này, supervisor đã hướng dẫn thực tập sinh tìm hiểu về các công

cụ sẽ giúp ích cho trong công việc sau này Một số phần mềm trong số đó như Jira -

sử dụng trong làm việc nhóm, Github – công cụ quản lý phiên bản code, Android

Trang 9

studio - IDE cho việc phát triển ứng dụng di động, Figma – công cụ thiết kế giao diện người dùng

Bên cạnh đó, thực tập sinh còn được tìm hiểu về mô hình làm việc Scrum

Tìm hiểu tổng quan về dự án ứng dụng kết nối camera IP

Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên và tìm hiểu về Scrum Kết quả :

các phần mềm nêu trên

1.2 Nghiên cứu ngôn ngữ, template

Thời gian : 2 tuần

Nội dung: Ngôn ngữ lập trình Dart, một số khái niệm trong Flutter, template

boilerplate

- Ngôn ngữ lập trình Dart:

Dart là ngôn ngữ lập trình mới, được phát triển bởi Google, hiện đã được chấp thuận bởi tổ chức Ecma Dart được sử dụng để xây dựng các loại ứng dụng: web, server, di động (IOS và Android với công cụ Flutter)

Dart là ngôn ngữ hỗ trợ lập trình hướng đối tượng, cú pháp kiểu C, mã code Dart có thể biên dịch thành JavaSript để chạy trên trình duyệt Nó hỗ trợ những khái niệm lập trình hiện đại như giao diện lớp, lớp trừu tượng

Cách khai báo biến, xây dựng hàm,

- Một số khái niệm trong Flutter:

Tìm hiểu một số khái niệm trong Flutter gồm:

• Widget (Stateless Widget, Statefull Widget, Accessibility, Inherited Widget)

• Assets

• Static User Interface

• 3rd Party Libraries

Trang 10

- Template boilerplate

được xây dựng sẵn kết hợp giữa MobX và Provider

Thực hiện :

- Tìm kiếm các tài liệu trên mạng

- Seminar lại với nhóm và tiếp thu ý kiến đóng góp từ các thành viên khác

- Nghe và góp ý seminar của các thành viên khác

Kết quả :

- Hiểu được những khái niệm cơ bản trong lập trình với framework Flutter và ngôn ngữ Dart

- Hiểu được cấu trúc template boilerplate

2 Thực hiện project

Sau gần một tháng được training và thực hành, thực tập sinh đã nắm được những kiến thực cơ bản về quy trình Scrum và ngôn ngữ Dart, framwork Flutter, template boilerplate Trong tháng thứ hai, trainer đã hướng dẫn thực tập sinh áp dụng những kiến thức đã học để thực hiện một ứng dụng di động trên Android

Chi tiết đồ án sẽ được nói ở phần sau

3 Lịch làm việc

Trang 11

Tuần Công việc Người hướng dẫn

Mức

độ hoàn thành

Nhận xét của người hướng dẫn

1

Sprint 1:

- Làm quen với các công cụ làm việc trong công ty như

Android Studio

- Học cách trao đổi, làm việc qua email

Thầy Phạm Hoàng Hải, Thầy Nguyễn Tấn Trần Minh Khang

2

Sprint 2:

- Tìm hiểu và báo cáo Flutter

- Tìm hiểu và báo cáo ngôn ngữ Dart

Thầy Phạm Hoàng Hải, Thầy Nguyễn Tấn Trần Minh Khang

3

Sprint 3:

- Tìm hiểu và báo cáo ngôn ngữ Dart (tiếp theo)

- Tìm hiểu và báo

boilerplate

Thầy Phạm Hoàng Hải, Thầy Nguyễn Tấn Trần Minh Khang

4

Sprint 4:

- Phân tích yêu cầu ứng dụng

Thầy Phạm Hoàng Hải, Thầy Nguyễn Tấn Trần Minh Khang

5

Sprint 5:

- Thiết kế UI/UX của ứng dụng (giao diện xem 1 camera, giao

camera, giao diện thêm camera và một

ứng)

Thầy Phạm Hoàng Hải, Thầy Nguyễn Tấn Trần Minh Khang

6

Sprint 6:

- Chỉnh sửa thiết kế UI/UX

- Khởi tạo project

Thầy Phạm Hoàng Hải, Thầy Nguyễn Tấn Trần Minh Khang

Trang 12

- Xây dựng giao diện (thêm camera)

Hải, Thầy Nguyễn Tấn Trần Minh Khang

8

Sprint 8:

- Kiểm thử và chỉnh sửa một số lỗi giao diện

- Thực hiện đa ngôn ngữ cho ứng dụng (tiếng Anh và tiếng Việt)

Thầy Phạm Hoàng Hải, Thầy Nguyễn Tấn Trần Minh Khang

9

Sprint 9:

- Xây dựng cơ sở dữ liệu theo template boilerplate

Thầy Phạm Hoàng Hải, Thầy Nguyễn Tấn Trần Minh Khang

10

Sprint 10:

năng thêm camera (chưa check thông tin camera)

Thầy Phạm Hoàng Hải, Thầy Nguyễn Tấn Trần Minh Khang

11

Sprint 11:

- Thực hiện check thông tin camera

camera

Thầy Phạm Hoàng Hải, Thầy Nguyễn Tấn Trần Minh Khang

12

Sprint 12:

thiện ứng dụng

Thầy Phạm Hoàng Hải, Thầy Nguyễn Tấn Trần Minh Khang

Trang 13

Chương 3: Chi tiết về project

1 Giới thiệu về project

Dự án thực tập của nhóm là thực hiện một ứng dụng di động có khả năng kết nối và stream hình ảnh từ camera IP ở xa

1.1 Yêu cầu chức năng

Ứng dụng cho phép người dùng nhập thông tin để liên kết với camera IP thông qua giao thức RTSP (giao thức thường dùng để stream video từ camera), sau đó ứng dụng sẽ lưu lại thông tin camera để người dùng có thể xem camera vào lần sau mà không cần phải nhập lại thông tin Ngoài ra, ứng dụng còn hỗ trợ người dùng xem nhiều camera một lúc (nhóm camera)

1.2 Yêu cầu phi chức năng

Sử dụng framework Flutter với template boilerplate, đảm bảo ứng dụng thích ứng được với tất cả các giao diện di động

2 Thực hiện

4 thành viên của team internship:

- Trần Lê Bảo Châu

- Phan Thị Hồng Cúc

- Đoàn Thị Thanh Hiếu

- Trần Văn Bảo

Và sự giúp đỡ tận tình của team trainer

3 Kế hoạch

Sprint 4:

Kết quả: Thông tin yêu cầu chức năng và phi chức năng

Sprint 5:

o Trang chủ

Trang 14

o Giao diện xem 1 camera

o Giao diện xem nhiều camera

o Giao diện danh sách

o Giao diện thêm camera

o Popup thông báo

o Popup điền thông tin

Kết quả: Hoàn thành sơ bộ thiết kế giao diện cho ứng dụng

Sprint 6:

- Khởi tạo project

Kết quả: Hoàn thành thiết kế giao diện

Sprint 7:

- Xây dựng các giao diện đã thiết kế

Kết quả: Hoàn thành sơ bộ các giao diện đã thiết kế

Sprint 8:

- Kiểm thử và chỉnh sửa một số lỗi giao diện

- Thiết kế cơ sở dữ liệu

Kết quả: Hoàn thành các giao diện như thiết kế và xây dựng được bản thiết kế cơ sở dữ liệu cho

ứng dụng

Sprint 9:

- Xây dựng cơ sở dữ liệu theo template boilerplate

Kết quả: Xây dựng được cơ sở dữ liệu trong project theo template boilerplate

Sprint 10:

Trang 15

- Thực hiện chức năng thêm/sửa/xóa camera và nhóm camera

Kết quả: Thực hiện liên kết cơ sở dữ liệu với các giao diện hiện có và các chức năng

thêm/sửa/xóa, cập nhật giao diện cho phù hợp, tuy nhiên vẫn còn tồn tại một số lỗi

Sprint 11:

- Thực hiện kiểm tra thông tin trước các thao tác thêm/sửa/xóa

- Thêm gợi ý tên cho các trường đặt tên

Kết quả: Thực hiện một số thao tác kiểm tra thông tin và một số hỗ trợ cho người dùng, tuy

nhiên vẫn còn tồn tại một số lỗi

Sprint 12:

Kết quả: Ứng dụng cơ bản hoàn thiện, tuy nhiên vẫn tồn tại một số lỗi

Trang 16

TÀI LIỆU THAM KHẢO

For Flutter:

https://flutter.dev/

For Dart:

https://xuanthulab.net/lap-trinh-dart-flutter/

https://dart.dev/

https://www.tutorialspoint.com/dart_programming/index.htm

For boilerplate:

https://github.com/zubairehman/flutter-boilerplate-project

Trang 17

TỔNG KẾT

Như vậy, chỉ trong vòng hai tháng ngắn ngủi, nhóm đã sơ bộ hoàn thành một ứng dụng android bằng framework Flutter Ứng dụng đã cơ bản đạt được những yêu cầu được đề ra ban đầu dù vẫn còn một vài sai sót

Chân thành cảm ơn sự giúp đỡ của các anh chị nhóm trainer KiteMetric, sự nỗ lực của các bạn cùng nhóm để có thể hoàn thành ứng dụng này Cảm ơn thầy Nguyễn Tấn Trần Minh Khang và thầy Phạm Hoàng Hải đã giúp em hoàn thành bài báo cáo này

Ngày đăng: 17/08/2022, 21:04

TỪ KHÓA LIÊN QUAN

w