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
XÂY DỰNG ỨNG DỤNG QR & BARCODE
SCANNER
Công ty thực tập
: Himintech
Người phụ trách
: Nguyễn Tiến Đạt
Thực tập sinh
: Trương Bá Cường
TP. Hồ Chí Minh, tháng 06 năm 2022
LỜI MỞ ĐẦU
Với sự phát triển mạnh mẽ của công nghệ đi kèm sự bao phủ Internet trên toàn cầu
hiện nay, các thiết bị di động đang nắm giữ vai trị quan trọng đối với con người trong học
tập, cơng việc cũng như giải trí. Cùng với đó ngành lập trình ứng dụng di động cũng đang có
những bước phát triển tăng vọt trong những năm gần đây.
Với định hướng theo đuổi ngành nghề Lập trình viên di động, trong q trình học tập
tại trường, em đã khơng ngừng tìm hiểu về các công cụ, xu hướng công nghệ trong lập trình
di động.
Sau ba năm học tập trên trường, với mong muốn có thêm kinh nghiệm, cũng như
muốn được tham gia các dự án xây dựng ứng dụng di động thực tế, em có dự định là sẽ thực
tập vào học kì một năm thứ tư. Vì vậy, em quyết định chọn Himintech - một môi trường lý
tưởng, hiện đại, chuyên nghiệp - là nơi sẽ giúp em thực hiện được dự định này.
LỜI CẢM ƠN
Trước hết, em xin gửi lời chân thành đến cơng ty Himintech đã 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, em
đã tiếp thu được những kiến thức quan trọng để có thể làm được ứng dụng scan mã Qrcode
và Barcode. 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 anh Nguyễn Tiến Đạt, đã training Android, hướng dẫn, giúp đỡ cho
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.
Em 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ương Bá Cường
Tp. Hồ Chí Minh, 17/06/2022
NHẬN XÉT CỦA KHOA
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
MỤC LỤC
Chương 1.
Giới thiệu công ty thực tập ............................................................................. 1
1.1. Giới thiệu công ty Himintech ................................................................................... 1
1.2. Sản phẩm của công ty .............................................................................................. 1
Chương 2.
Nội dung thực tập .......................................................................................... 2
2.1. Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty ............................................. 2
2.2. Nghiên cứu kỹ thuật ................................................................................................. 2
2.2.1.
Các cơng cụ làm việc ..................................................................................... 2
2.2.2.
Tìm hiểu ngơn ngữ lập trình Java và Kotlin ................................................... 3
2.2.3.
Tìm hiểu mơ hình kiến trúc phần mềm MVC, MVVM ................................... 3
2.2.4.
Tìm hiểu về thư viện ZXing Android Embedded............................................ 3
2.3. Thực hiện project ..................................................................................................... 4
2.4. Lịch làm việc ........................................................................................................... 4
Chương 3.
Chi tiết về project ........................................................................................... 7
3.1. Giới thiệu về ứng dụng ............................................................................................ 7
3.1.1.
Chức năng quét mã vạch ................................................................................ 7
3.1.2.
Chức năng tạo mã vạch .................................................................................. 8
3.1.3.
Chức năng lưu, chỉnh sửa, yêu thích mã vạch ............................................... 10
3.2. Thực hiện............................................................................................................... 10
1
Chương 1.
Giới thiệu công ty thực tập
1.1. Giới thiệu công ty Himintech
Himintech được thành lập vào tháng 2 năm 2021, là một công ty outsource tập trung
vào xây dựng sản phẩm cho các cơng ty khác. Himintech có văn phịng đặt tại thành
phố Thủ Đức, thành phố Hồ Chí Minh, Việt Nam
1.2. Sản phẩm của công ty
ShareX – File Transfer là sản phẩm ứng dụng di động do công ty phát triển và ra
mắt vào tháng 8/2021. Sản phẩm chạy được trên 2 nền tảng Android và IoS, giúp
người dùng trao đổi các tệp tin, tin nhắn, đoạn ghi âm và video một cách dễ dàng và
nhanh chóng. Người dùng có thể trao đổi nhiều tệp tin với dung lượng lớn chỉ trong
một lần chuyển. Sản phẩm không yêu cầu kết nối Internet để có thể sử dụng.
Hiện nay ShareX – File Transfer đang có hơn 1000 lượt tải trên Play Store và Apple
Store.
Trương Bá Cường
2
Chương 2. Nội dung thực tập
2.1. Tìm hiểu 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 nghe người phụ trách giới thiệu về cơng ty, q trình thành lập và phát
triên (như đã nhắc đến ở trên), quy trình làm việc, các thành viên trong cơng ty.
Ngồi ra, thực tập sinh còn được giới thiệu về cách thức làm việc trong công
ty như thời gian đi làm, các quy định cần phải tuân thủ, cách sử dụng email trong
công việc…
Kết quả : Hiểu thêm về cơng ty Himintech, q trình thành lập và phát triển. Có
thêm các kỹ năng về việc sử dụng email trong cơng việc, làm việc có kế hoạch, có
kỷ luật, có trách nhiệm hơn.
2.2. Nghiên cứu kỹ thuật
2.2.1.
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ụ sẽ được sử dụng trong quá trình làm việc.
Trong thời gian này, supervisor đã hướng dẫn sinh viên tìm hiểu về các cơng
cụ sẽ giúp ích cho trong cơng việc như:
-
Skype
-
Trello
-
Sourcetree
-
Android Studio
-
Git
-
Gitlab
Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên.
Trương Bá Cường
3
Kết quả : Sử dụng thành thạo các công cụ đã nêu trên.
2.2.2.
Tìm hiểu ngơn ngữ lập trình Java và Kotlin
Thời gian : 3 ngày
Nội dung : Sinh viên được giới thiệu ngôn ngữ Java và Kotlin về các câu lệnh, cú
pháp, tính ổn định. Qua đó sinh viên tự xây dựng ứng dụng android cơ bản bằng 2
ngôn ngữ.
Thực hiện :
-
Tham gia đầy đủ các buổi training của công ty
-
Làm các bài thực hành, kiểm tra về kiến thức đã học
Kết quả : Sinh viên xây dựng được ứng dụng android cơ bản bằng ngơn ngữ lập
trình Java và Kotlin
2.2.3.
Tìm hiểu mơ hình kiến trúc phần mềm MVC, MVVM
Thời gian : 5 ngày
Nội dung : Sinh viên tìm hiểu, so sánh hai mơ hình MVC, MVVM. Qua đó đưa ra
ý kiến về việc nên áp dụng mơ hình nào trong quá trình phát triển ứng dụng theo
yêu cầu của cơng ty.
Thực hiện :
-
Tìm hiểu, đọc tài liệu về hai mơ hình MVC, MVVM
-
Xây dựng slide
-
Cài đặt demo
-
Thuyết trình trước các thành viên của cơng ty về 2 mơ hình
Kết quả : Sinh viên hiểu và áp dụng được 2 mơ hình kiến trúc phần mềm MVC,
MVVM trong lập trình ứng dụng di động Android.
2.2.4.
Tìm hiểu về thư viện ZXing Android Embedded
Thời gian : 2 ngày
Nội dung :
Trương Bá Cường
4
-
ZXing Android Embedded là một thư viện là một thư viện giúp lập trình
viên cài đặt tính năng scan mã vạch.
-
Có thể được khởi tạo thơng qua Intents
-
Có thể được nhúng vào 1 Activity, thuận tiện cho việc chỉnh sửa lại giao
diện, logic xử lý
-
Chế độ scan có thể thay đổi theo chiều ngang/dọc
Thực hiện :
-
Tìm hiểu, đọc tài liệu về thư viện ZXing Android Embedded
-
Cài đặt thư viện
Kết quả : Sinh viên hiểu và cài đặt được thư viện ZXing Android Embedded
2.3. Thực hiện project
Sau 2 tuần được training và thực hành, sinh viên đã nắm được những kiến thức cơ
bản về Java, Kotlin, MVC, MVVM, ZXing Android Embedded. Trong thời gian
tiếp theo, trainer đã hướng dẫn sinh viên áp dụng những kiến thức đã học để xây
dựng ứng dụng di động Scan Qrcode và Barcode chạy trên nền tảng Android.
Chi tiết đồ án sẽ được nói ở phần sau.
2.4. Lịch làm việc
Tuần
Cơng việc
Người hướng
dẫn
- Tìm hiểu về cơng ty, cách
Anh
tổ chức của cơng ty.
Tiến Đạt
Mức
độ
hồn
thành
Nhận xét của
người hướng
dẫn
Nguyễn
- Làm quen với các công cụ
1
làm việc trong công ty.
- Tìm hiểu ngơn ngữ lập
trình Java, Kotlin
2
- Tìm hiểu mơ hình MVC,
Anh
Nguyễn
Trương Bá Cường
5
MVVM
Tiến Đạt
- Thuyết trình về mơ hình
MVC, MVVM
- Tìm hiểu thư viện ZXing
Android Embedded
3
- Cài đặt màn hình Home
Anh
- Cài đặt thư viện ZXing
Tiến Đạt
Nguyễn
Android Embedded
- Ứng dụng scan được
Qrcode, Barcode
4
- Cài đặt màn hình hiển thị
Anh
kết quả scan
Tiến Đạt
Nguyễn
- Cài đặt tính năng tạo mã
Qrcode, Barcode
5
- Cài đặt tính năng lưu lịch
Anh
sử scan Qrcode, Barcode
Tiến Đạt
Nguyễn
- Cài đặt tính năng yêu
thích Qrcode, Barcode
được scan hoặc tạo bởi ứng
dụng
6
- Cài đặt màn hình settings
Anh
cho phép người dùng tùy
Tiến Đạt
Nguyễn
chỉnh các lựa chọn khi
scan, thay đổi ngôn ngữ,
giao diện ứng dụng
7
- Fix các bug xuất hiện
Anh
Nguyễn
Trương Bá Cường
6
8
trong tuần 3 và 4
Tiến Đạt
- Fix các bug xuất hiện
Anh
trong tuần 5 và 6
Tiến Đạt
Nguyễn
Trương Bá Cường
7
Chương 3. Chi tiết về project
3.1. Giới thiệu về ứng dụng
Ứng dụng QR & Barcode Scanner chạy trên nền tảng android với các tính năng
chính:
-
Quét mã vạch Qrcode, Barcode
-
Tạo mã vạch Qrcode, Barcode dựa trên thông tin người dùng nhập
-
Lưu, chỉnh sửa thơng tin, u thích các mã vạch Qrcode, Barcode quét
được hoặc được người dùng tạo.
3.1.1.
Chức năng quét mã vạch
Mơ tả: Sau khi mở ứng dụng người dùng có thể ngay lập tức sử dụng tính năng
quét mã vạch. Người dùng tiến hàng đưa camera vào khung chứa mã vạch để tiến
hành quét.
Trương Bá Cường
8
Sau khi quét được mã vạch, ứng dụng sẽ hiển thị thông tin mã vạch vừa quét
được cho người dùng.
3.1.2.
Chức năng tạo mã vạch
Mô tả: Người dùng chọn loại Qrcode, Barcode mà mình muốn tạo.
Trương Bá Cường
9
Sau đó người dùng nhập thơng tin được hiển thị trên màn hình và tiến hành tạo
mã. Dưới đây là một số màn hình tạo mã Qrcode, Barcode:
Trương Bá Cường
10
3.1.3.
Chức năng lưu, chỉnh sửa, yêu thích mã vạch
Người dùng có thể lưu mã vạch về máy dưới dạng file .txt hoặc .csv. Ngồi ra,
người dùng có thể sửa thơng tin về tên, nội dụng của mã vạch.
3.2. Thực hiện
Sau khi trải qua q trình training, sinh viên đã hồn thành dự án trong 6 tuần cùng
với sự hướng dẫn của mentor.
Trương Bá Cường
11
TÀI LIỆU THAM KHẢO
[1] />[2] a/p/scan-qrbarcode-voi-zxing-android-embeddedjourneyappszxing-android-embedded-trong-android-924lJqWWZPM
[3] />[4] a/p/mot-chut-ve-mvc-mvp-va-mvvm-3P0lPyMv5ox
Trương Bá Cường
12
TỔNG KẾT
Như vậy, trải qua 2 tháng thực tập tại cơng ty, sinh viên đã hồn thành dự án
xây dựng ứng dụng QR & Barcode Scanner chạy trên nền tảng Android. Sinh viên
nắm và sử dụng được các công cụ hữu ích trong kỹ năng lập trình ứng dụng di động
cũng như quản lý cơng việc, có thêm kinh nghiệm trong việc tham gia vào dự án
thực tế.
Chân thành cảm ơn sự giúp đỡ của các anh chị công ty Himintech đã giúp
em hoàn thành dự án trong thời gian thực tập tại công ty.
Trương Bá Cường