Tải bản đầy đủ (.pdf) (17 trang)

BÁO CÁO THỰC TẬP LẬP TRÌNH ỨNG DỤNG ANDROID VỚI FLUTTER Công

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (637.79 KB, 17 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 ỨNG DỤNG ANDROID
VỚI FLUTTER

Cơng ty thực tập

: Công ty CP Kite Metric

Người phụ trách

: Phạm Hồng Hải

Thực tập sinh

: Phan Thị Hồng Cúc

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

Phạm Hoàng Hải

Phan Thị Hồng Cúc


2


LỜI MỞ ĐẦU

Ngày nay nhu cầu phát triển ứng dụng di động ngày càng tăng. Vì nó giúp tìm ra giải
pháp mới trong các lĩnh vực khác nhau. Phát triển ứng dụng di động cung cấp các tính năng tốt
nhất quan trọng cho doanh nghiệp, giúp thu hút khách hàng như: tăng cường sự hợp tác tốt hơn
và hợp lý hóa quy trình làm việc, cung cấp nền tảng tốt hơn cho hoạt động tiếp thị của doanh
nghiệp. Đã có vô số phần mềm ứng dụng được tải xuống để đáp ứng các yêu cầu khác nhau của
doanh nghiệp, cá nhân, …
Sau gần 4 năm học tại trường, do mong muốn có thêm kinh nghiệm làm việc tại mơi
trường chun nghiệp nên em đã lựa chọn thực tập tại Công ty cổ phần Kite Metric.

Phạm Hoàng Hải

Phan Thị Hồng Cúc


3

LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn Công ty cổ phần Kite Metric đã 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 trên Android 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 hồ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 Dart, Flutter, 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ảm ơn bạn Nguyễn Trọng Thuận đã chỉ dẫn chúng em về cách làm báo cáo,
lên kế hoạch, những kỹ năng khơng thể thiếu trong q trình làm việc để 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.
Phan Thị Hồng Cúc
TP.HCM, ngày 15 tháng 06 năm 2022

Phạm Hoàng Hải

Phan Thị Hồng Cúc


4

NHẬN XÉT CỦA KHOA

..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................

..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................

Phạm Hoàng Hải

Phan Thị Hồng Cúc


5

MỤC LỤC
MỤC LỤC .................................................................................................................................................. 5
Chương 1: Giới thiệu công ty thực tập ................................................................................................... 6
1. Giới thiệu công ty cổ phần Kite Metric ....................................................................................... 6
2. Sản phẩm của công ty ................................................................................................................... 6
Chương 2: Nội dung thực tập .................................................................................................................. 8
1. Nghiên cứu kỹ thuật ...................................................................................................................... 8
1.1.

Nghiên cứu cơng cụ, quy trình ............................................................................................... 8

1.2.

Tìm hiểu ngơn ngữ Dart, Flutter, Boilerplate template ........................................................ 8

2. Thực hiện project ........................................................................................................................ 10
3. Lịch làm việc ................................................................................................................................ 10
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................................................................................................................ 13

1.2.

Yêu cầu phi chức năng ......................................................................................................... 13

2. Thực hiện...................................................................................................................................... 13
3. Kế hoạch ....................................................................................................................................... 14
TÀI LIỆU THAM KHẢO ........................................................................................................................ 16
TỔNG KẾT ............................................................................................................................................. 17

Phạm Hoàng Hải

Phan Thị Hồng Cúc


6

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

1. Giới thiệu công ty cổ phần Kite Metric
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.
- Về dịch vụ Web & Mobile development: cung cấp dịch vụ thiết kế và xây dựng
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.
- Về dịch vụ Machine Learning: cung cấp dịch vụ xây dựng các ứng dụng AI để tự
độ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.
- Về User Experience: cung cấp dịch vụ thiết kế mơ hình thử nghiệm, thử nghiệm
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
Kite Metric cung cấp nhiều ứng dụng trong nhiều lĩnh vực cho các nền tảng khác
nhau như: Hệ thống phân phối taxi thông minh (tương tự như Uber) cho Vinasun,
Mạng xã hội trên di động Capshare, Ứng dụng cho công ty Blanket, Ứng dụng di
động Face Swap…

Phạm Hoàng Hải

Phan Thị Hồng Cúc


7

Phạm Hoàng Hải

Phan Thị Hồng Cúc


8


Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình ứng dụng Android với Flutter” nhằm mục đích giúp
sinh viên thực tập được đào tạo tồn diện về lập trình trên Android bằng Flutter, đồ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. Tại cơng ty, sinh viên có
cơ hội được học tập, khám phá và làm việc trong một môi trường phát triển ứng dụng di động
chuyên nghiệp.

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

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

1.2.

Thời gian : 1 tuần
Nội dung : Giới thiệu về công ty, các công cụ sẽ được sử dụng, mơ hình làm việc dự
kiến.
Ngày đầu tiên, người phụ trách đã giới thiệu về công ty, quy trình làm việc, thời
gian đi làm, các quy định của cơng ty và cách sử dụng email. Ngồi ra, người phụ
trách cũng giới thiệu về các thành viên trong team, cũng như tổng quan về các công
cụ, phần mềm sẽ sử dụng.
Ngày thứ hai, người phụ trách giới thiệu về mơ hình làm việc Scrum của cơng ty
và tổng quan về project ứng dụng kết nối camera IP mà sẽ thực hiện sau quá trình
nghiên cứu.
Các ngày sau đó, người phụ trách cung cấp tài liệu và hướng dẫn thực tập sinh tìm
hiểu về các cơng cụ, phần mềm sẽ sử dụng. Cuối cùng, thực tập sinh làm Slide
PowerPoint theo quy định của cơng ty và thuyết trình cho người phụ trách và cả team.
Một số phần mềm, công cụ gồm Jira (sử dụng trong quản lý project và làm việc
nhóm), Github (quản lý source code), Figma (thiết kế UI/UX), Android Studio (IDE
cho việc phát triển ứng dụng di động).

Kết quả :
Có cái nhìn tổng quan về cơng ty.
Có cái nhìn tổng quan về Scrum và cách thức cơng ty làm việc theo Scrum.
Có cái nhìn tổng quan về project ứng dụng kết nối camera IP sẽ thực hiện sau q
trình nghiên cứu.
Cài đặt thành cơng và biết sử dụng cơ bản các chức năng của các công cụ, phần
mềm nêu trên.
Tìm hiểu ngơn ngữ Dart, Flutter, Boilerplate template

Phạm Hoàng Hải

Phan Thị Hồng Cúc


9

Thời gian : 2 tuần
Nội dung: Tìm hiểu ngơn ngữ Dart, một số khái niệm trong Flutter, Boilerplate
template.
Trong thời gian này, được training về ngôn ngữ Dart, một số khái niệm trong Flutter,
được giới thiệu và hướng dẫn áp dụng Boilerplate template.
-

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 ...
Từ ngơn ngữ lập trình Dart, Google giới thiệu SDK Futter để sử dụng ngôn ngữ Dart
phát triển ứng dụng di động chạy đa nền tảng (Một lần viết code build ra ứng dụng
cho ISO và Android).
- Một số khái niệm trong Flutter: Tìm hiểu về các nội dung:
o Widget gồm Stateful Widget, Stateless Widget, Inherited Widget,
Accessibility và Style.
o Asset gồm Font, Image, SVG, Audio, Video.
o Static & Dynamic User Interface.
o Storage.
o State management: setState, Provider, BloC, MobX.
o 3rd Party Libraries.
-

Template boilerplate:
Tìm hiểu về Boilerplate Template trên Flutter, được cung cấp tại:
/>Đây là template được xây dựng bằng Flutter sử dụng kết hợp giữa MobX và
Provider. Template này hỗ trợ cả web và di động.

Kết quả :

Phạm Hoàng Hải

Phan Thị Hồng Cúc


10

-


Có cái nhìn tổng qt về lập trình ngơn ngữ Dart.
Hiểu được những khái niệm cơ bản trong lập trình với Flutter SDK.
Hiểu được cấu trúc Boilerplate template.

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 của cơng ty và ngơn ngữ Dart, Flutter SDK, Boilerplate
template. Kể từ tháng thứ hai, trainer hướng dẫn thực tập sinh áp dụng những kiến thức
đã tìm hiểu để thực hiện phát triển ứng dụng kết nối camera IP trên Android.
Chi tiết dự án sẽ được nói ở phần sau.
3. Lịch làm việc

Tuần

1

2

3

4

Phạm Hồng Hải

Cơng việc
Sprint 1:
- Làm quen với các
công cụ làm việc
trong công ty như
Jira,

Figma,
Android Studio.
- Học cách trao đổi,
làm việc qua email.
Sprint 2:
- Tìm hiểu và báo cáo
về ngơn ngữ Dart
- Tìm hiểu và báo cáo
về Flutter.
Sprint 3:
- Tìm hiểu và báo
cáo về Flutter (tiếp
theo).
- Tìm hiểu và báo
cáo về Boilerplate
template.
Sprint 4:
- Phân tích yêu cầu
ứng dụng.

Người hướng dẫn

Mức
độ
hoàn
thành

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


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

100%

Đạt yêu cầu

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

100%

Đạt yêu cầu

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

100%

Đạt yêu cầu

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

Khang

100%

Đạt yêu cầu

Phan Thị Hồng Cúc


11

5

6

7

8

9

10

11

12

Phạm Hoàng Hải

Sprint 5:

- Thiết kế UI/UX của
ứng dụng.
Sprint 6:
- Thiết kế cơ sở dữ
liệu.
Sprint 7:
- Tìm
hiểu
cách
stream camera IP
bằng Flutter
Sprint 8:
- Lập trình các giao
diện.
Sprint 9:
- Lập trình chức năng
phát video stream
của 1 camera.
Sprint 10:
- Lập trình chức năng
phát stream video
của nhiều camera.
- Lập trình chức năng
thêm, xóa, sửa.
Sprint 11:
- Lập trình các chức
năng validate.
Sprint 12:
Kiểm thử và hồn
thiện ứng dụng.


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

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

100%

Đạt yêu cầu

100%

Đạt yêu cầu

100%

Đạt yêu cầu

100%

Đạt yêu cầu

100%

Đạt yêu cầu

100%

Đạt yêu cầu

100%


Đạt yêu cầu

100%

Đạt yêu cầu

Phan Thị Hồng Cúc


12

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

1. Giới thiệu về project
Dự án thực tập của team là phát triển một ứng dụng di động Android có khả năng kết
nối và phát video stream của camera IP từ xa.

Phạm Hoàng Hải

Phan Thị Hồng Cúc


13

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 của camera IP để phát video
stream của camera đó. Đồng thời, để người dùng khơng phải nhập lại thông tin
vào mỗi lần truy cập, ứng dụng cung cấp các chức năng để quản lý danh sách
camera. Ngoài ra, ứng dụng cũng cung cấp chức năng để người dùng nhóm nhiều
camera và phát video stream của nhiều camera cùng một lúc.

1.2. Yêu cầu phi chức năng
Ứng dụng phải được xây dựng dựa trên Boilerplate template.
Ứng dụng phải có khả năng chạy trên nhiều thiết bị Android khác nhau.
Ứng dụng phải có ngơn ngữ tiếng Anh và tiếng Việt.

2. Thực hiện
4 thành viên của team internship:
-

Trần Văn Bảo
Trần Lê Bảo Châu

Phạm Hoàng Hải

Phan Thị Hồng Cúc


14

-

Phan Thị Hồng Cúc
Đoàn Thị Thanh Hiếu

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

3. Kế hoạch
Giai đoạn Phân tích:
-


Phân tích yêu cầu của ứng dụng.
Thiết kế sơ đồ use case, user flow.

Kết quả :
-

Báo cáo về yêu cầu chức năng và phi chức năng.
Báo cáo mô tả use case, user flow.

Giai đoạn Thiết kế:
-

-

Thiết kế UI/UX cho ứng dụng gồm các màn hình
o Trang chủ
o Màn hình phát stream video của 1 camera
o Màn hình phát stream video của nhiều camera
o Màn hình danh sách camera
o Màn hình danh sách nhóm camera
o Các popup nhập thơng tin
o Các popup thông báo
Thiết kế cơ sở dữ liệu cho ứng dụng

Kết quả : Hoàn thành báo cáo thiết kế giao diện và cơ sở dữ liệu của ứng dụng.
Giai đoạn Phát triển – Phát triển các tính năng cho ứng dụng:
- Lập trình giao diện: lập trình các màn hình ở giai đoạn Thiết kế.
- Lập trình chức năng phát stream video của 1 camera.
- Lập trình nhóm chức năng quản lý danh sách camera.
- Lập trình chức năng phát stream video của nhiều camera.

- Lập trình các chức năng phụ còn lại.
- Bổ sung các validation cho ứng dụng
Kết quả : Ứng dụng có đầy đủ màn hình và chức năng tương ứng.

Phạm Hoàng Hải

Phan Thị Hồng Cúc


15

Giai đoạn Kiểm thử:
- Kiểm thử và sửa lỗi phát sinh.
- Viết bản hướng dẫn sử dụng
Kết quả : Hoàn thành ứng dụng cùng với tài liệu hướng dẫn sử dụng.

Phạm Hoàng Hải

Phan Thị Hồng Cúc


16

TÀI LIỆU THAM KHẢO

For Dart
/> /> />For Flutter
/>For Boilerplate Template
/>For Understanding Camera IP
/>

Phạm Hoàng Hải

Phan Thị Hồng Cúc


17

TỔNG KẾT

Như vậy, chỉ trong vòng một tháng ngắn ngủi, nhóm đã kịp hồn thành phát triển một
ứng dụng chạy trên nền tảng Android bằng Flutter. Ứng dụng đã có đầy đủ các tính năng đề ra
ban đầu. Do thời gian có hạn nên giao diện, tính năng cịn đơn giản. Nhưng do ứng dụng được
phát triển theo framework có tính kế thừa nên sau này khi có thời gian sẽ có thể phát triển lên
mức cao hơn.
Chân thành cảm ơn sự giúp đỡ của các anh chị nhóm trainer Kite Metric, sự nỗ lực của
nhóm thực tập sinh để có thể hồn thành ứng dụng này. Cảm ơn thầy Phạm Hoàng Hải và thầy
Nguyễn Tấn Trần Minh Khang đã giúp em hoàn thành bài báo cáo này.

Phạm Hoàng Hải

Phan Thị Hồng Cúc



×