Với định hướng theo đuổi ngành nghề Lập trình viên di động, trong quá 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.. Tì
Trang 1TRƯỜ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
TP Hồ Chí Minh, tháng 06 năm 2022
Trang 2LỜ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 quá 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
Trang 3LỜ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
Trang 4NHẬ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 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
Trang 61
Trương Bá Cường
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
Trang 72
Trương Bá Cường
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, quá 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
Ngoà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, quá 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
Trang 83
Trương Bá Cường
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 :
Trang 94
Trương Bá Cường
- 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
dẫn
Mức
độ hoàn thành
Nhận xét của người hướng dẫn
1
- Tìm hiểu về công ty, cách
tổ chức của công ty
- Làm quen với các công cụ
làm việc trong công ty
- Tìm hiểu ngôn ngữ lập
trình Java, Kotlin
Anh Nguyễn Tiến Đạt
2 - Tìm hiểu mô hình MVC, Anh Nguyễn
Trang 105
Trương Bá Cường
MVVM
- Thuyết trình về mô hình
MVC, MVVM
- Tìm hiểu thư viện ZXing
Android Embedded
Tiến Đạt
3
- Cài đặt màn hình Home
- Cài đặt thư viện ZXing
Android Embedded
- Ứng dụng scan được
Qrcode, Barcode
Anh Nguyễn Tiến Đạt
4
- Cài đặt màn hình hiển thị
kết quả scan
- Cài đặt tính năng tạo mã
Qrcode, Barcode
Anh Nguyễn Tiến Đạt
5
- Cài đặt tính năng lưu lịch
sử scan Qrcode, Barcode
- Cài đặt tính năng yêu
thích Qrcode, Barcode
được scan hoặc tạo bởi ứng
dụng
Anh Nguyễn Tiến Đạt
6
- Cài đặt màn hình settings
cho phép người dùng tùy
chỉnh các lựa chọn khi
scan, thay đổi ngôn ngữ,
giao diện ứng dụng
Anh Nguyễn Tiến Đạt
7 - Fix các bug xuất hiện Anh Nguyễn
Trang 116
Trương Bá Cường
trong tuần 3 và 4 Tiến Đạt
8
- Fix các bug xuất hiện
trong tuần 5 và 6
Anh Nguyễn Tiến Đạt
Trang 127
Trương Bá Cường
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, yê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
Trang 138
Trương Bá Cường
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
Trang 149
Trương Bá Cường
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:
Trang 1510
Trương Bá Cường
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 Ngoà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 quá trình training, sinh viên đã hoàn thành dự án trong 6 tuần cùng với sự hướng dẫn của mentor
Trang 1611
Trương Bá Cường
TÀI LIỆU THAM KHẢO
https://www.raywenderlich.com/3595916-clean-architecture-tutorial-for-android-getting-started
https://viblo.asia/p/scan-qrbarcode-voi-zxing-android-embedded-journeyappszxing-android-embedded-trong-android-924lJqWWZPM
Trang 1712
Trương Bá Cường
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 đã hoà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