HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA ĐA PHƯƠNG TIỆN
----------
BÁO CÁO THỰC TẬP TỐT NGHIỆP
ĐỀ TÀI:
PHÁT TRIỂN ỨNG DỤNG TRANG TIN TỨC
CHO TRUNG TÂM ĐÀO TẠO
QUỐC TẾ TRÊN NỀN TẢNG ANDROID
Sinh
viên
thực
: Lê Thị Linh
hiện
Mã sinh viên
Giảng viên hướng
: B17DCPT117
: ThS. Nguyễn Thị Thanh Tâm
Nơi thực tập
Quản lí dự án
Hệ
: Trung tâm Đào tạo Quốc tế
: ThS.Phạm Vũ Minh Tú
: Đại học Chính quy
dẫn
Nội,
2021
TRUNG TÂM ĐÀO TẠO QUỐC TẾ
HỌC VIỆN CƠNG NGHỆ
BƯU CHÍNH VIỄN THƠNG
09
–
CỘNG HỒ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
PHIẾU NHẬN XÉT ĐÁNH GIÁ THỰC TẬP TỐT NGHIỆP
Họ và tên sinh viên thực tâp : Lê Thị Linh
Mã sinh viên
: B17DCPT117
Đơn vị thực tập
: Trung tâm Đào tạo Quốc tế
Trang 1
Hà
Thời gian thực tập
: Từ ngày 19/7/2021 đến ngày 31/8/2021
NHẬN XÉT CỦA CƠ SỞ THỰC TẬP
1. Chấp hành nội quy và quy định của cơ quan:
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………
2. Ý thức học tập:
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………
3. Quan hệ, giao tiếp tại đơn vị:
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………
4. Điểm: ….. (Bằng chữ:…)
Xác nhận của cơ quan thực tập
(Ký, ghi rõ họ tên và đóng dấu)
Hà nội, ngày
tháng
năm 2021
Người đánh giá
(Ký và ghi rõ họ tên)
HỌC VIỆN CƠNG NGHỆ BƯU
CHÍNH VIỄN THƠNG
KHOA ĐA PHƯƠNG TIỆN
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA
VIỆT NAM
Độc lập Tự do Hanh phúc
ĐÁNH GIÁ KẾT QUẢ THỰC TẬP TỐT NGHIỆP
(Thời gian thực tập: Từ ngày 19/07/2021 đến ngày 31/08/2021)
2
Họ và tên sinh viên: Lê Thị Linh
Lớp: D17PTDPT1
NỘI DUNG ĐÁNH GIÁ
1 Chấp hành kỷ luật: (Tốt, Trung bình, hoặc Yếu)
2 Ý thức học tập: (Tốt, Trung bình, hoặc Yếu)
3 Quan hệ, giao tiếp: (Tốt, Trung bình, hoặc Yếu)
4 Điểm (Thang điểm 10)
Các ý kiến khác (nếu có):
Ngày tháng năm 20….
Giáo viên hướng dẫn thực tập
(Ký và ghi rõ họ tên)
3
LỜI CẢM ƠN
Em xin chân thành cảm ơn và gửi lời tri ân sâu sắc đối với các Thầy Cô của
Học viện Cơng nghệ Bưu chính Viễn thơng nói chung và Thầy Cơ khoa Đa phương
tiện nói riêng đã tạo điều kiện cho em hồn thành q trình thực tập. Em xin chân
thành cảm ơn cô giáo Nguyễn Thị Thanh Tâm đã tận tình chỉ bảo, hướng dẫn em
trong suốt q trình thực tập và hồn thiện báo cáo.
Trong thời gian đó, em đã được thực tập tại Trung tâm Đào tạo Quốc tế Học
viện Cơng nghệ Bưu chính Viễn thơng. Với sự hướng dẫn nhiệt tình của các anh,
các thầy trong Trung tâm em đã rút ra nhiều bài học kinh nghiệm quý giá, những
hiểu biết về nghề nghiệp cũng như công việc sau khi ra trường. Qua đợt thực tập
này, em thấy mình cần phải cố gắng nhiều hơn nữa trong công việc học tập, trau
dồi các kĩ năng cần thiết cho bản thân. Em xin gửi lời cảm ơn chân thành đến các
thầy cô trong khoa cũng như các anh, các thầy trong Trung tâm đã tạo điều kiện
cho em trong đợt thực tập bổ ích này.
Trong q trình thực tập và làm báo cáo khơng tránh khỏi nhiều sai sót. Em
mong các thầy cơ chỉ bảo thêm giúp em hoàn thành và đạt kết quả tốt hơn.
Em xin chân thành cảm ơn!
4
MỤC LỤC
5
CHƯƠNG 1: GIỚI THIỆU ĐƠN VỊ THỰC TẬP
Trung tâm Đào tạo Quốc tế Học viện - Cơng nghệ Bưu chính Viễn thông
Trung tâm Đào tạo Quốc tế là tổ chức cung cấp dịch vụ đào tạo trực thuộc
Học viện Công nghệ Bưu chính Viễn thơng được xác định trong Quy chế tổ chức
và hoạt động của Học viện, ban hành kèm theo Quyết định số 879/QĐ-BTTTT
ngày 25/5/2016 của Bộ trưởng Bộ Thơng tin và Truyền thơng.
Hình 1.1. Logo Trung tâm.
Trung tâm có chức năng phát triển, tổ chức và quản lý các hoạt động, các
chương trình: đào tạo liên kết quốc tế; đào tạo tiên tiến; đào tạo chất lượng cao;
trao đổi học viên, sinh viên quốc tế; đào tạo hướng nghiệp, ngôn ngữ và kỹ năng
sống cho học sinh, sinh viên đi du học.
Hình 1.2. Các chương trình của trung tâm.
6
1.1.
Cơ cấu, tổ chức
-
Giám đốc: PGS.TS. Hồng Hữu Hạnh.
-
Phó Giám đốc: ThS.Nguyễn Minh Phượng.
-
Ban Quản lí chương trình: ThS. Phạm Trần Cẩm Vân - Quản lí Chương
trình.
-
Bộ Phận Phát triển dự án: ThS. Phạm Vũ Minh Tú - Quản lí Dự án.
1.2.
Các lĩnh vực hoạt động
CIE cung cấp cho sinh Viên Học viện Cơng nghệ Bưu chính Viễn thơng
các chương trình theo học định hướng Quốc tế và cơ hội làm việc ở nước ngồi.
Ngồi ra cịn cung cấp chương trình trao đổi, chương trình phát triển
nghề nghiệp cho sinh viên trong nước và quốc tế. Là cầu nối giúp sinh viên
trong nước và Quốc tế tại PTIT có cơ hội tiếp cận giáo dục Quốc tế rộng rãi
nhất.
CIE còn cung cấp chương trình thuận lợi và sự liên kết hội nhập mạnh
mẽ với các đối tác quốc tế bao gồm phương pháp giảng dạy, lấy sinh viên làm
trung tâm. Các chương trình dành cho các cấp độ khác nhau, các khóa đào tạo
nghiệp vụ cơ bản – nâng cao giúp sinh viên sẵn sàng cho thế giới làm việc.
Quản lí và lưu trữ hồ sơ tuyển sinh, hồ sơ sinh viên, kết quả học tập, cơng
văn giấy tờ có liên quan đến công tác đào tạo quốc tế. Là đầu mối quản lý về
mặt hành chính đối với sinh viên, học viên nước ngoài học tập tại Học viện.
Dưới đây là một trong những chương trình đang diễn ra tại Trung tâm:
7
Hình 1.3. Chương trình liên kết với đại học La Trobe dành cho Cơng nghệ Thơng tin.
Hình 1.4. Chương trình học bổng toàn bộ đại học Tứ Xuyên.
8
Hình 1.4. Chương trình giới thiệu việc làm dành cho sinh viên Học viện Cơng nghệ Bưu
chính viễn thơng.
CHƯƠNG 2: NỘI DUNG THỰC TẬP
2.1.
Giới thiệu chung
ĐỀ TÀI: Phát triển ứng dụng trang Tin tức cho Trung tâm Đào tạo Quốc tế
9
Hình 2.1. Giao diện ứng dụng.
10
2.1.1. Cơng việc được giao
-
Tìm hiểu các kiến thức cơ bản về lập trình ứng dụng android.
-
Tạo các lay out bằng XML và bắt sự kiện.
-
Sử dụng các thư viện trong lập trình ứng dụng.
-
Custome giao diện hồn chỉnh dựa trên giao diện có sẵn của team thiết
kế.
-
Tìm hiểu cơng cụ quản lí mã nguồn.
2.1.2. Giải pháp thực hiện
-
Tìm hiểu các thành phần và môi trường trong android.
-
Dùng XML tạo các layout cơ bản cho ứng dụng.
-
Custom các ListView, NavigationBottom cho phù hợp với giao diện của
team thiết kế.
-
Sử dụng github để làm việc theo nhóm.
-
Code và xử lí logic để hoàn thiện sản phẩm.
TT
1
Nội dung thực tập
Thời gian
Làm quen với mơi trường làm việc, tìm hiểu về cơng Từ ngày 19/7 đến ngày 21/7
ty: cơ cấu tổ chức, chức năng, nhiệm vụ...
2
Tìm hiểu Quy trình phát triển ứng dụng trên nền tảng Từ ngày 22/7 đến ngày 26/7
3
android
Tìm hiểu về các kỹ thuật phát triển ứng dụng android Từ ngày 27/7 đến ngày 31/7
(ngơn ngữ, kĩ thuật,…)
4
Tìm hiểu u cầu dự án
Từ ngày 01/8 đến ngày 14/8
5
Tiến hành lập trình và hồn thiện sản phẩm
Từ ngày 15/8 đến ngày 25/8
6
Hoàn thiện báo cáo.
Từ ngày 26/8 đến ngày 31/8
2.1.3. Kết quả cần đạt được
-
Hiểu và tham gia vào quy trình phát triển mobile app;
11
-
Custom, sử dụng thành thạo các view trong android;
-
Hoàn thành tốt các nhiệm vụ được giao;
-
Làm việc, trao đổi với các thành viên trong nhóm, thích nghi với mơi
trường chun nghiệp;
-
Đúc kết những kinh nghiệm bản thân học hỏi được để phục vụ công việc
sau này;
-
2.2.
Rút ra được bài học kinh nghiệm cho bản thân.
Nội dung thực tập
2.2.1. Tổng quan
-
IDE sử dụng: “Android Studio”
Version: 4.0.1
Hình 2.2. IDE sử dụng trong ứng dụng.
Dưới sự hỗ trợ và chỉ bảo của các anh ở Trung Tâm CIE, em được học việc sắp xếp
các package, các class cho phù hợp với môi trường làm việc chuyển nghiệp:
12
Hình 2.3. Các package được tạo trong ứng dụng
Việc chia thành các package giúp em quản lí và tái sử dụng các class một
cách dễ dàng.
Trong đó, Activity chứa các class Activity (kế thừa các AppCompatActivity)
Hình 2.4. Activity trong android.
13
Fragment chứa các class Thơng thường xử lí logic tương tự như activity
dành cho các Fragment, để xử lí giao diện:
Hình 2.5. Fragment trong android.
Model chứa các class Model (ví dụ như class Events)
Hình 2.6. Code xử lý trong Events.
14
Adapter: Xử lí ItemView và các mảng chứa listItem cho
RecyclerView
Hình 2.7. Class Diagram của AdapterEvents và AdapterNews.
-
Để sử dụng, chỉ cần import các package vào:
Hình
2.8.
Các
package
được
import trong một
class.
Và tái
sử dụng:
15
Hình 2.9. Code xử lí thuộc tính, phương thức sau khi import package.
2.2.2. Cơng cụ quản lí mã nguồn Github.
-
Dưới môi trường làm việc chuyên nghiệp, dưới sự hỗ trợ của các anh, các
bạn, em học hỏi cho bản thân các kĩ năng cơ bản sử dụng github – em thấy
đây là điều vô cùng cần thiết và quan trọng mang tính thực tiễn cho cơng
việc sau này.
-
Github khơng chỉ là cơng cụ giúp quản lí sourcecode, đồng bộ sourcecode
của team lên Server. Ngồi ra cịn hỗ trợ kiểm tra sourcecode trong q trình
làm việc.
-
Git có khá nhiều lệnh, Trong thời gian thực tập ngắn, em đá áp dụng và thực
hành các lệnh cơ bản đủ dùng để phục vụ cơng việc của mình như add,
16
commit, push, init, log…. Và github cũng là 1 kĩ năng mà em nghĩ là mình
cần học hỏi và trau dồi thêm để phục vụ công việc sau này của bản thân.
Dưới đây là 1 số lệnh git cơ bản được sử dụng:
Hình 2.10. Lệnh git cơ bản và chức năng.
Để push thành công sourcecode lên Git, sử dụng đơn giản các lệnh add ->
Commit -> Push thao tác trực tiếp trên IDE đang sử dụng (Ở đây em sử dụng IDE
Version: 4.0.1.
Ví dụ về lệnh “push” sau khi thực hiện thành cơng sẽ được cập nhật:
Hình 2.11. Giao diện git tại branch “master”.
2.2.3. Về dự án được giao
-
Dự án: Ứng dụng Trang Tin tức cho Trung tâm Đào tạo Quốc tế
17
Hình 2.12. Class Diagram được sử dụng.
-
Tạo giao diện LogIn bằng các view đơn giản trong XML và xử lí sự kiện
click cho button:
Hình 2.13. XML và giao diện Login được xử lí.
18
Hình 2.14. Giao diện login sau khi build.
-
Custom giao diện chính với các chứng năng chính cho ứng dụng bằng ngôn
ngữ java.
-
Giao diện sau khi build của trang “Home”
19
Hình 2.15. Giao diện trang Home.
Đầu tiên, Tạo và xử lí Bottom navigation:
Hình 2.16. Code xử lí Bottomnavigation.
Và kết quả sau khi buil được:
20
Hình 2.15. Giao diện Bottomnavigation.
Sau khi tạo đươc giao diện, việc xử lí clickListen cho các button được thực
hiện trong “LoadFragment” để tương tác navigation giữa các trang.
Hình 2.16. Class Diagram”Bottom Home”.
-
Dùng các View cơ bản để tạo layout trong XML như ImageView, edittext,
…, Dùng LinearLayout để custom các View một cách dễ dàng:
Hình 2.17. Phần cắt giao diện trang “Home”.
21
-
Custom các ItemList: Listview chỉ hỗ trợ các Item Scoll theo chiều dọc nên
không phù hợp để sử dụng trong ứng dụng. Ứng dụng được thay thế bằng
RecyclerView với nhiều ưu điểm vượt trội hơn (Có thể scroll theo chiều
ngang, animation cho các item dễ dàng và mượt hơn so với Listview) – đây
cũng là kiến thức và kinh nghiệm từ các anh mà em học hỏi được trong kì
thực tập này.
-
Để sử dụng RecyclerView, tạo các model và adapter tương ứng. Ví dụ sau
đây được hiển thị ở list “News”.
Hình 2.18. Class Diagram khi custom list RecyclerView cho list”News”.
-
Class “New” thể hiện các thuộc tính có trong “News” các biến img, name…
là các thuộc tính có tồn tại trong mỗi item của list hiển thị trong danh sách
của “News”.
-
Tương tự, “AdapterNews” để custom các thuộc tính của từng RecyclerView
(kế thừa RecyclerView trong android). Tại đây, tạo mảng lưu trữ những
thuộc tính mà từng item có và addItem xử lí trong Fragment chính.
Và List ”news” sau khi build :
22
Hình 2.19: Giao diện list ”News” sau khi build trang”Home”
Các RecyclerView xử lí tương tự.
-
Một số dạng Itemlist có trong ứng dụng sau khi build ở “Home_navigation”:
Hình 2.20: Scroll item theo chiều ngang(horizontal) và sroll item kết hợp
2 list theo chiều ngang trong một frame.
23
Hình 2.21: Scroll item theo chiều dọc(vertical).
Trong quá trình custom các list item bằng listview, em gặp phải một
số khó khăn, thử tạo một sự so sánh nhỏ giữa listview và RecyclerView như
dưới đây:
Hình 2.22: So sánh RecyclerView và ListView.
24
-
Với những yêu cầu về giao diện và chức năng của ứng dụng, việc lựa chọn
RecyclerView để xây dựng các ItemList là lựa chọn phù hợp giúp cho việc
custom, code xử lí trở nên thuận tiện và dễ dàng.
-
Khơng chỉ vậy, RecyclerView còn hỗ trợ các scroll item theo chiều ngang
(Horizontal) – điều này ở listView không thể hỗ trợ được.
-
Ngồi các chức năng như listview thì việc custom adapter khá đơn giản, giao
diện của các item đẹp, animation mượt và ổn định:
Hình 2.23: Ví dụ về Giao diện RecyclerView trong android.
-
Về tổng quan của ứng dụng, áp dụng các layout được android hỗ trợ và
custom cho phù hợp với giao diện và chức năng của ứng dụng, cụ thể là ở
mỗi trang Fragment của giao diện.
-
Class Diagram được sử dụng ở “Home” như sau:
25