Tải bản đầy đủ (.docx) (14 trang)

Lập Trình Ứng Dụng Di Động Trên Android (Android Developer).Docx

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 (278.68 KB, 14 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
KHOA CƠNG NGHỆ PHẦN MỀM

BÁO CÁO THỰC TẬP DOANH NGHIỆP
LẬP TRÌNH ỨNG DỤNG DI ĐỘNG TRÊN ANDROID
(ANDROID DEVELOPER)

Công ty thực tập: Công ty Cổ phần TVT Group
Người phụ trách: Nguyễn Ngọc Tú (Project Manager)
Thực tập sinh: Trần Quốc Khánh

Tp. Hồ Chí Minh, tháng 12 năm 2022


LỜI MỞ ĐẦU
Khi cuộc cách mạng công nghiệp 4.0 đang diễn ra mạnh mẽ trên toàn thế giới, sự phát triển của
ngành Cơng nghệ thơng tin chính là “chìa khố” cho sự thay đổi, đóng góp vào sự lớn mạnh của
đất nước trong nhiều lĩnh vực.
Công nghệ thông tin là một trong những ngành có chuyển biến tích cực nhất trong những năm
qua khi đã triển khai ứng dụng công nghệ thông tin trong đời sống, xã hội và doanh nghiệp. Việt
Nam trở thành quốc gia có số lượng người dùng internet thuộc top cao nhất thế giới. Chính cơng
nghệ thông tin đã len lỏi vào trong đời sống và sinh hoạt của từng người dân, giúp nâng cao và
cải thiện chất lượng cuộc sống.
Trong đó phải kể đến sự đóng góp vơ cùng to lớn của ứng dụng di động nói riêng và các thiết bị
di động nói chung. Nhờ có sự phát triển của khoa học cơng nghệ, chưa bao giờ người sử dụng
điện thoại thông minh lại có nhiều tiện ích phục vụ cuộc sống như bây giờ. Theo thống kê, hiện
nay, trên cửa hàng ứng dụng của Google (Google Play Store) đang có khoảng 2,87 triệu ứng
dụng miễn phí mà người dung có thể tải về và sử dụng. Phần lớn trong số đó mang lại lợi ích
đáng kể cho người dung, giúp người dung cải thiện cuộc sống, gia tăng năng xuất và hiệu quả
trong cơng việc.


Bên cạnh đó, ngành Kỹ thuật phần mềm cũng là một ngành có đóng góp vơ cùng to lớn cho nền
kinh tế tồn cầu hiện tại. Với đặc tính làm việc linh động, dễ dàng và có thể làm việc ở bất cứ
đâu cùng với việc các thiệt bị điện tử như laptop, điện thoại thông minh (smartphone) ngành
càng trở nên phổ biến. Nhờ vào những đặc tính đặc biệt đó, ngành Kỹ thuật phần mềm nói chung
và ngành Lập trình trên thiết bị di động nói riêng đã vượt qua đại dịch một cách thần kỳ và tang
trưởng cực kỳ mạnh mẽ. Tính đến năm 2023, nền tảng ứng dụng trên thiết bị di động đã thu về
gần 935 tỷ đô (theo BuildFire).
Nhận thấy được sự thú vị và tầm quan trọng của ứng dụng di động ở thời điểm hiện tại cũng như
trong tương lai vẫn sẽ tiếp tục góp phần to lớn vào việc cải thiện cuộc sống của con người. Em
đã chọn định hướng cho mình theo hướng lập trình viên phát triển phần mềm trên ứng dụng di
động và nền tảng mà em chọn để tiếp cận với ngành này là Android, một hệ điều hành vô cùng
nổi tiếng và phổ biến được phát triển bởi Google.

Trần Quốc Khánh - 19521686

2


LỜI CẢM ƠN
Đầu tiên, em xin gửi lời cảm ơn đến Công ty Cổ phần TVT Group – chi nhánh Hồ Chí
Minh đã tạo điều kiện và cơ hội cho em có thể thực tập tại doanh nghiệp và trao dồi thêm kiến
thực cũng như kinh nghiệm thực tế.
Trong khoàng thời gian 3 tháng thực tập, em được sự hướng dẫn tận tình từ anh Phạm
Hồng Thơng, em đã học được rất nhiều về quy trình phát triển phầm mềm, cách tiếp nhận, xử lý
thông tin từ khách hang và đặc biệt là kỹ năng phát triển phầm mềm và kỹ năng làm việc nhóm.
Bên cạnh đó, em cũng học hỏi được từ các anh chị trong công ty về cách thức giao tiếp,
vận hành trong một dự án thực tế. Chân thành cảm ơn các anh chị đã giúp đỡ, hướng dẫn và cũng
như chia sẻ các kỹ năng, kinh nghiệm trong suốt thời gian thực tập.
Cũng xin cảm ơn khoa Công nghệ phầm mềm và các thầy cô trong khoa đã tạo điều kiện,
và hỗ trợ em trong bài báo cáo thực tập, cũng mong em sẽ nhận được những lời đóng góp của

q thầy, cơ để em có thể hồn thiện tốt hơn.

Tp. Hồ Chí Minh, ngày 27 tháng 12 năm 2022
Trần Quốc Khánh

Trần Quốc Khánh - 19521686

3


NHẬN XÉT CỦA KHOA
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………

Trần Quốc Khánh - 19521686

4



MỤC LỤC

LỜI MỞ ĐẦU............................................................................................................................................2
LỜI CẢM ƠN............................................................................................................................................3
NHẬN XÉT CỦA KHOA.........................................................................................................................4
CHƯƠNG 1: GIỚI THIỆU CƠNG TY...................................................................................................6
1.1

Giới thiệu về Cơng ty Covisoft.................................................................................................6

1.2

Sản phẩm của cơng ty..............................................................................................................6

CHƯƠNG 2: NỘI DUNG THỰC TẬP....................................................................................................7
2.1

Tìm hiểu về công ty và các kỹ năng cơ bản trong công ty.....................................................7

2.2

Làm quen với dự án.................................................................................................................7

2.3

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

2.3.1

Các công cụ làm việc................................................................................................................8


2.3.2

Tìm hiểu về quy trình làm việc của cơng ty............................................................................9

2.3.3

Tìm hiểu về Android Studio....................................................................................................9

2.3.4

Tìm hiểu về Kotlin và MVVM.................................................................................................9

2.4

Thực hiện dự án......................................................................................................................10

2.5

Lịch làm việc...........................................................................................................................10

CHƯƠNG 3: CHI TIẾT DỰ ÁN............................................................................................................12
3.1

Giới thiệu về Handheld POS..................................................................................................12

3.1.1

Giới thiệu dự án......................................................................................................................12


3.1.2

Thực hiện................................................................................................................................12

3.1.3

Kết quả....................................................................................................................................13

CHƯƠNG 4: TỔNG KẾT......................................................................................................................14

Trần Quốc Khánh - 19521686

5


CHƯƠNG 1: GIỚI THIỆU CƠNG TY
1. Giới thiệu về Cơng ty cổ phần TVT Group

TVT Group là công ty chuyên về lập trình phần mềm ở thị trường Việt Nam, Hàn Quốc,
Singapore, Thái Lan và Châu Âu. Cùng với đội ngũ nhân sự trẻ và nhiệt huyết, công ty đang phát
triển sản phẩm phần mềm cho các thị trường châu Âu, Mỹ, Úc, Singapore, Nhật Bản theo 2
hướng cơ bản là out-source và hợp tác cùng phát triển sản phẩm.
Chiến lược phát triển
-

TVT Group đang từng bước hoàn thiện các giải pháp và nâng cao trình độ kĩ thuật qua
từng sản phẩm để ngày càng trở nên hoàn thiện và có thể đáp ứng được nhu cầu cao của
thị trường trong và ngồi nước.
Chính sách chất lượng:


-

Ln cung cấp sản phẩm dịch vụ tốt nhất, đảm bảo thi công đúng tiến độ, chất lượng,
hiệu quả như đã thoả thuận với khách hàng
Không ngừng cải tiến về mọi mặt để đạt được sự hoàn hảo về sản phẩm và dịch vụ cung
cấp về mối quan hệ với khách hàng và khả năng cạnh tranh.
Liên tục đào tạo nhằm phát triển nguồn nhân lực, tăng cường đầu tư trang thiết bị kỹ
thuật và công nghệ thi công hiện đại, nghiên cứu và ứng dụng các phương thức quản lý
hiệu quả, chuyên nghiệp, tiên tiến nhất nhằm đám ứng yêu cầu của khách hàng, đối tác.

2. Sản phẩm của công ty
Những lĩnh vực công ty đang tập trung phát triển:
 Mobile application (iOS, Android, Window Phone)
 Embeded System, Navigation/Blackbox System
 IoT System
 Server/Web solution
 Các phần mềm chuyên về trí tuệ nhân tạo (AI), xử lý bigdata và chuyển đổi số.

Trần Quốc Khánh - 19521686

6


CHƯƠNG 2: NỘI DUNG THỰC TẬP
Trong quá trình thực tập với chủ đề “Lập trình trên thiết bị di động Android”, em ứng tuyển ở
công ty cổ phần TVT Group với vị trí thực tập sinh phát triển phần mềm ứng dụng di động trên
nền tảng Android (Android Developer Intern). Trong thời gian thực tập vừa qua, em được các
anh chị tạo điều kiện để tiếp xúc với toàn bộ quy trình phát triển và hồn thiện một ứng dụng di
động, cùng với đó là giải pháp tối ưu và bảo trì các ứng dụng về mobile có trong cơng ty. Đồng
thời, phát triển cho bản thân của mình các kỹ năng mềm cần thiết như làm việc nhóm, đặt vấn và

giải quyết vấn đề, giao tiếp, phân công trong cơng việc, dự tính tiến độ cơng việc và thời gian
hồn thành. Em có cơ hội làm việc, học hỏi và trải nghiệm, khám phá trong môi trường doanh
nghiệp chuyên nghiệp.

2.1Tìm hiểu về cơng ty và các kỹ năng cơ bản trong công ty
Thời gian: 1 ngày
Nội dung: Giới thiệu về công ty, cách tổ chức của công ty




Được thêm vào trong Trello (Phần mềm quản lý công việc dành cho các doanh nghiệp)
để tìm hiểu về quy trình, nội quy, và các quy định, cách thức làm việc của công ty: thời
gian làm việc, các quy định về việc báo cáo cuối ngày, email thông tin liên lạc, trao đổi
thơng tin cơng việc qua Skype.
Ngồi ra, thực tập sinh còn được giới thiệu về các thành viên trong team, chức vụ của
từng người và người sẽ hướng dẫn thực tập sinh, trao đổi và làm quen với các thành viên
trong team.

Kết quả: Hiểu thêm về văn hóa và về Cơng ty, q trình thành lập, quy trình vận hành và phát
triển của cơng ty. Có thêm các kỹ năng về việc sử dụng Email, giao tiếp trong công việc, làm
việc có kế hoạch, trách nhiệm, kỹ luật hơn.

1. Làm quen với dự án
Thời gian: 2 ngày
Nội dung: Giới thiệu về thông tin dự án, số lượng thành viên tham gia, quy trình phát triển và
các cơng nghệ được sử dụng để phát triển dự án. Tiến hành thêm thực tập sinh vào group hướng
dẫn và cấp quyền cho thực tập sinh truy cập tới source của dự án để tham khảo qua về nền móng
của dự án. Đồng thời phổ biến cho thực tập sinh sơ qua về business logic của dự án hiện tại và
những module đã và đang triển khai


Trần Quốc Khánh - 19521686

7





Tìm hiểu về Bitbucket, tham khảo về source code của dự án và base project
Tìm hiểu về Business Logic của dự án, hiểu về những flow chính của dự án và giá trị cốt
lõi của sản phẩm.

Kết quả: Có thể truy cập vào source code của dự án, có thể đọc hiểu về architecture của dự án
và design pattern của dự án hiện tại đang áp dụng. Qua đó thực tập sinh có thể nắm rõ về
convention cũng như cách tổ chức code của dự án

2. Nghiên cứu kỹ thuật
Các cơng cụ làm việc
Thời gian: 2 ngày
Nội dung: Tìm hiểu về các cơng cụ được sử dụng trong q trình làm việc.
Trong thời gian này, leader và mentor đã hướng dẫn thực tập sinh tìm hiểu về các cơng cụ sẽ
giúp ích trong q trình thực hiện cơng việc. Một số phần mềm đó như là:


Trello: cơng cụ quản lý cơng việc trực quan hỗ trợ các nhóm lên ý tưởng, lập kế hoạch,
quản lý và ăn mừng thành tựu cùng nhau một cách hợp tác, hiệu quả và có tổ chức. Được
sử dụng để chia task (công việc) và quản lý tiến độ, tính hình của dự án theo mơ hình
Agile.




Bitbucket: một dịch vụ lưu trữ trên web dành cho các dự án có sử dụng hệ thống kiểm
sốt Git/Mercurial revision. Bitbucket được viết bằng ngơn ngữ lập trình Python và được
xây dựng trên nền tảng Django Framework.Là công cụ quản lý source code các dự án
trong công ty, với sự trực quan và nhiều tính năng.



Android Studio: IDE thơng dụng và phổ biến cho một lập trình viên phát triển ứng dụng
Mobile. Là mơi trường phát triển tích hợp (IDE) chính thức để phát triển ứng dụng
Android, dựa trên IntelliJ IDEA. Ngồi các trình soạn thảo mã và cơng cụ phát triển
mạnh mẽ của IntelliJ, Android Studio cịn cung cấp thêm nhiều tính năng giúp bạn nâng
cao năng suất khi xây dựng ứng dụng Android

Trần Quốc Khánh - 19521686

8




Figma: Công cụ thiết kế giao diện



Skype: Công cụ chat nội bộ, giao tiếp với các thành viên trong team và các teams liên
quan.
Postman: Công cụ dùng để setup môi trường để test api từ phía Backend.




Thực hiện: Tìm hiểu và sử dụng các công cụ kể trên.
Kết quả: Hiểu được về quy trình làm việc và các cơng cụ cần thiết trong quy trình của cơng ty.

3. Tìm hiểu về quy trình làm việc của cơng ty
Thời gian: 1 ngày
Nội dung: Tìm hiểu về các quy trình làm việc theo mơ hình Scrum – Agile. Được các anh chị ở
các team liên quan hướng dẫn, chỉ dạy và thử tham gia vào quy trình làm việc của cơng ty.
Thực hiện: Thực hành tham gia vào các giai đoạn của mơ hình.
Kết quả: Có thêm kiến thức và thực hành nhuần nhuyễn các cơng đoạn trong 1 quy trình phát
triển ứng dụng.

4. Tìm hiểu về Android Studio
Thời gian: 1 ngày
Nội dung: Tìm hiểu về các tính năng cơ bản và cách sử dụng Android Studio, những extensions
và tiện ích mà Android Studio hỗ trợ. Học cách quản lí source code trên Bitbucket thơng qua Git
GUI tích hợp sẵn trong Android Studio.
Thực hiện: Thực hành tìm hiểu, và liệt kê cơng dụng, nội dung của những tính năng thường
xuyên sử dụng trong Android Studio.
Kết quả: Có thêm kiến thức bổ ích về Android Studio và cách sử dụng trong phát triển phầm
mềm trên ứng dụng di động.

5. Tìm hiểu về Kotlin và MVVM
Thời gian: 7 ngày
Nội dung: Tìm hiểu về lập trình Mobile với Kotlin
Thực hiện:






Các cú pháp, câu lệnh cở bản của Kotlin
Các kiến thức cơ bản của một ứng dụng Android
Tìm hiểu về các View, Life Circle, Method và các base component, library trong Android
Tìm hiểu về MVVM pattern:

Trần Quốc Khánh - 19521686

9


o Mơ hình MVVM là một trong những mơ hình kiến trúc được rất nhiều lập trình
viên u thích sử dụng. Mơ hình này sinh ra dành cho các ứng dụng sử dụng ngôn
ngữ XML để định nghĩa giao diện ứng dụng như: Windows Phone 8.0, 8.1,
Silverlight, Windows RT.
 View
Tương tự như trong mơ hình MVC, View là phần giao diện của ứng dụng
để hiển thị dữ liệu và nhận tương tác của người dùng. Một điểm khác biệt
so với các ứng dụng truyền thống là View trong mơ hình này tích cực hơn,
nó có khả năng thực hiện các hành vi và phản hồi lại người dùng thơng
qua tính năng binding, command
 Model
Cũng tương tự như trong mơ hình MVC, Model là các đối tượng giúp truy
xuất và thao tác trên dữ liệu thực sự
 ViewModel
Là lớp trung gian giữa View và Model. View Model có thể được xem là
thành phần thay thế cho Controller trong mơ hình MVC. Nó chứa các mã
lệnh thực hiện Data Binding, Command. Một điểm cần lưu ý là trong mơ
hình MVVM, các tầng bên dưới sẽ khơng biết được các thơng tin gì về các

tầng trên của nó.
Kết quả: Nắm vững được kiến thức và trả lời các câu hỏi của Mentor. Bên cạnh đó, hiểu cách
thức lập trình cơ bản bằng Kotlin trong Android và cách tổ chức code theo mơ hình MVVM.

6. Thực hiện dự án
Trong 2 tuần thực tập đầu tiên, dưới sự hướng dẫn nhiệt tính của anh, chị Mentor và bằng sự cố
gắng, không ngừng học hỏi, em đã trang bị được các kiến thức nền tảng để có thể xây dựng và
phát triển một ứng dụng mobile như thế nào. Trong thời gian tiếp theo, em được cơng ty cho
phép tham gia vào q trình xây dựng và hỗ trợ cải tiến project của công ty.

7. Lịch làm việc
Tuần

Cơng việc

1

+ Tìm hiểu về cơng
ty
+ Học hỏi trao đổi
qua Skype và
Email
+ Sử dụng công cụ
Trello để kiểm tra
tiến độ trong cơng
việc

Trần Quốc Khánh - 19521686

Người hướng

dẫn

Mức độ hồn
thành

Nhận xét

Anh Nguyễn
Ngọc Tú, Anh Đỗ
Văn Được, Anh
Phạm Hồng
Thơng

100%

Đạt

10


2

Từ tuần 3

+ Học cách quản lý
source code thông
qua Git GUI trong
Android Studio
+ Tìm hiểu về các
kiến thức cơ bản và

nâng cao của
Kotlin trong
Android
+ Tìm hiểu về các
base component cơ
bản của dự án
+ Tìm hiểu về
MVVM Pattern
Thực hiện các Task
theo Sprint của
team

Trần Quốc Khánh - 19521686

Anh Phạm Hồng
Thơng

100%

Đạt

Anh Phạm Hồng
Thơng

100%

Đạt

11



CHƯƠNG 3: CHI TIẾT DỰ ÁN
3.1Giới thiệu về Handheld POS
3.1.1 Giới thiệu dự án

Handheld POS là một phần mềm Point Of Sale giúp quản lý, bán hàng và thanh toán trực tiếp
trên thiết bị với tích hợp các module đọc thẻ NFC, RFID, EMV, quét mã QR, kết nối máy in
nhiệt tích hợp sẵn trên thiết bị POS và hỗ trợ thanh toán một chạm, thống kế, sao lưu đơn hàng.

3.1.2 Thực hiện
Vai trị: Android Developer
Cơng việc:








Làm việc theo nhóm cùng các thành viên trong team
Tìm hiểu tài liệu, nhận sự giúp đỡ và hỏi đáp từ các anh chị Mentor trong team
Chỉnh sửa phần View trong XML, thiết kế những giao diện đơn giản và cơ bản để làm
quen với các components, convention trong dự án
Chỉnh sửa, thay đổi, tách file trong thư mực cho hợp lý theo structure của dự án
Tạo những Activity, Fragment mới từ các base component trong dự án.
Tạo những Adapter cho phần View theo dạng List, kết nối giữa Fragment và View theo
mơ hình MVVM, tạo interface để khai báo các hàm gọi từ Fragment, tạo ViewModel để
xử lí logic, sự dụng binding data để giao tiếp giữa View và Fragment, Activity
Tìm hiểu cách đọc những requirement trong tài liệu của dự án, về những quy định trong

xây dựng View trong file XML để phù hợp với design do bên khách hang cung cấp.

Trần Quốc Khánh - 19521686

12




Báo cáo kết quả và tiến độ công việc hang ngày, tiến hành trong đổi với những anh chị
BA để hiểu hơn về Business Logic, trao đổi với team QC để giải quyết những lỗi phát
sinh trong quá trình phát triển module hiện tại.

3.1.3 Kết quả
Hồn thành các cơng việc được giao theo tiến độ.

Trần Quốc Khánh - 19521686

13


CHƯƠNG 4: TỔNG KẾT
Chỉ sau vòng vài tháng ngắn ngủi, em đã được hoàn thành thời gian thực tập tại cơng ty,
được học hỏi và tìm hiểu được nhiều kiến thức bổ ích trong q trình thực tập, biết thêm về
những kiến thức, kinh nghiệm trong dự án thực tế. Ngồi ra, em được tiếp xúc với mơi trường
làm việc chuyên nghiệp, học hỏi và cọ xác với các dự án khác nhau, phát triển kỹ năng của bản
thân trong việc lập trình, làm việc nhóm và đặc biệt là các xử lý cơng việc chun nghiệp. Bên
cạnh đó, em đã hoàn thành tốt, theo yêu cầu của cấp trên giao cho và có cơ hội trở thành nhân
viên chính thức.
Một lần nữa, xin chân thành cảm ơn đến các anh chị trong Team Mobile của công ty cổ

phần TVT Group đã tận tình hỗ trợ, giúp đỡ em trong suốt q trình thực tập, cũng như bên
ngồi. Em cũng xin cảm ơn khoa Công Nghệ Phần Mềm đã tạo cơ hội cho em được thực tập, cọ
xát, nâng cao trình độ và học hỏi các kiến thức ở mơi trường doanh nghiệp.

Trần Quốc Khánh - 19521686

14



×