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

Xây dựng ứng dụng di động xem trailer phim

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 (692.47 KB, 18 trang )

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA CÔNG NGHỆ THÔNG TIN
Tel. (+84.0236) 3736949, Fax. (+84.0236) 3842771
Website: itf.dut.udn.vn, E-mail:

BÁO CÁO
THỰC TẬP TỐT NGHIỆP
NGÀNH CÔNG NGHỆ THÔNG TIN
Đề tài:

Xây dựng ứng dụng di động xem trailer phim
CÔNG TY THỰC TẬP:
SUN-ASTERISK ĐÀ NẴNG

Đà Nẵng, 06/2019


LỜI CẢM ƠN
Để hoàn thành chuyên đề báo cáo thực tập này trước hết em xin gửi
đến quý thầy,cô giáo trong khoa công nghệ thông tin lời cảm ơn chân
thành.
Đặc biệt, em xin chân thành cảm anh Lê Vũ Tấn Tuấn. Người đã
từng bước hướng dẫn, giúp đỡ em trong quá trình thực tập tại công ty.
Em xin chân thành cảm ơn Ban lãnh đạo cũng như các anh/chị nhân
viên công ty TNHH Sun-asterisk Việt Nam chi nhánh Đà Nẵng đã tạo điều
kiện tốt nhất cho em có cơ hội được học hỏi thêm kiến thức cũng như hoàn
thành đợt thực tập tốt nghiệp của mình.
Đồng thời em xin cảm ơn các thầy cô giáo khoa Công nghệ thông tin


của trường Đại học Bách khoa – Đại học Đà Nẵng đã tạo điều kiện cho
em có cơ hội được thực tập tại một môi trường chuyên nghiệp, được áp
dụng những kiến thức mà các thầy cô giáo đã giảng dạy vào dự án thực tế.
Qua đợt thực tập này em tiếp thu được nhiều kiến thức và kỹ năng lập
trình để giúp ích cho công việc sau này của bản thân.
Vì kiến thức bản thân còn hạn chế, trong quá trình thực tập, hoàn
thiện chuyên đề này em không tránh khỏi những sai sót, kính mong nhận
được những ý kiến đóng góp từ thầy cô cũng như quý công ty.
Mai Văn Anh


MỤC LỤC
CHƯƠNG 1: GIỚI THIỆU CƠ QUAN THỰC TẬP..............................................5
1.1.
1.2.
1.3.

Giới thiệu công ty Sun-asterisk Đà Nẵng......................................................5
Lịch sử hình thành và phát triển....................................................................5
Kết chương...................................................................................................6

CHƯƠNG 2: PHÂN TÍCH, THIẾT KẾ VÀ TRIỂN KHAI...................................7
2.1.

Cơ sở lý thuyết..............................................................................................7
2.1.1. Ngôn ngữ lập trình Kotlin....................................................................7
2.1.2. Mô hình MVVM:.................................................................................7
2.1.3. Retrofit:................................................................................................8
2.1.4. Quản lý mã nguồn Git..........................................................................9
2.2. Phân tích đề tài..............................................................................................9

2.2.1. Giới thiệu đề tài....................................................................................9
2.2.2. Mục đích đề tài.....................................................................................9
2.3. Thiết kế và triển khai hệ thống....................................................................10
2.3.1. Phân tích dữ liệu.................................................................................10
2.3.2. Xây dựng giao diện người dùng.........................................................10
2.3.3. Tiến hình code theo các chức năng.....................................................10
CHƯƠNG 3: TỔNG KẾT.......................................................................................11
3.1.
3.2.

Kết quả triển khai........................................................................................11
Kết chương.................................................................................................14


DANH SÁCH HÌNH
Hình 1: Màn hình chính.......................................................................................................11
Hình 2: Màn hình xem theo thể loại.....................................................................................12
Hình 3: Màn hình trailer phim ưu thích...............................................................................12
Hình 4: Màn hình tìm kiếm..................................................................................................13
Hình 5: Màn hình xem những trailer của diễn viên.............................................................13
Hình 6: Màn hình xem những trailer của nhà sản xuất.......................................................14


DANH SÁCH TỪ VIẾT TẮT
Từ viết tắt

Diễn giải

MVVM


Model View View Model

CNTT

Công nghệ thông tin

CSDL

Cơ sở dữ liệu

IT

Information Technology

API

Application Programming Interface


NG 1:

GIỚI THIỆU CƠ QUAN THỰC TẬP
1.1. Giới thiệu công ty Sun-asterisk Đà Nẵng
Sun-asterisk tiền thân của Framgia là tập đoàn CNTT Nhật Bản hoạt động trong
lĩnh vực thiết kế, phát triển ứng dụng (web, app, game), thiết kế UI/UX, xây dựng
cơ sở hạ tầng, thúc đẩy phát triển các doanh nghiệp start-up, đào tạo và nuôi dưỡng
nguồn nhân lực về công nghệ thông tin. Với sứ mệnh “Make awesome things that
matter”, dùng IT làm nên những bước tiến đột phá, cho đến nay, Sun-asterisk đã
thành lập chi nhánh ở 5 quốc gia trên toàn Châu Á, trong đó có một chi nhánh hoạt
động tại Đà Nẵng.

Làm việc theo mô hình Offshore Development Center (ODC), Sun-asterisk
cung cấp những đội ngũ phát triển làm việc trực tiếp với khách hàng. Đồng thời áp
dụng quy trình phát triển phần mềm mới nhất theo mô hình Agile – quy trình Scrum
Sun-asterisk đảm bảo đem lại chất lượng dịch vụ tốt nhất cho khách hàng.

1.2. Lịch sử hình thành và phát triển
Ngày thành lập: 29/10/2012. Tổng giám đốc: Ông Kazunari Fujimoto.
Trụ sở chính: tầng 13, Keangnam Hanoi Landmark Tower, khu E6 khu đô thị
mới Cầu Giấy, phường Mễ Trì, quận Nam Từ Liêm, Hà Nội.
Công ty TNHH Framgia (tên cũ) Việt Nam là một công ty con thuộc công ty
Framgia Nhật Bản , công ty Framgia có mặt tại 5 quốc gia và 9 thành phố lớn trên
thế giới với hơn 800 nhân lực.
Được thành lập năm 2012 tại Hà Nội, Framgia Việt Nam là công ty IT Nhật Bản
họat động trong lĩnh vực thiết kế, phát triển ứng dụng, games chạy trên nền tảng
smartphone, nền tảng mạng xã hội, sản xuất và phát triển ứng dụng website.
Framgia Đà Nẵng là một chi nhánh của công ty tại Đà Nẵng. Địa chỉ: Tòa nhà
Fhome Đà Nẵng, 16 Lý Thường Kiệt, Hải Châu, Đà Nẵng.
Từ ngày 3/3/2019, Công ty cổ phần Framgia (trụ sở chính tại Tokyo, Nhật Bản)
đổi tên thành “Công ty cổ phần Sun Asterisk” (Sun* Inc. viết tắt là “Sun*”). Song
5
SVTH: Mai Văn Anh


Báo cáo thực tập tốt nghiệp

song với việc thay đổi tên, công ty cũng đã tiến hành thay đổi toàn diện thiết kế
thương hiệu cũng như logo đi kèm.

1.3. Kết chương
Chương này trình bày cái nhìn tổng quát về công ty, cơ cấu tổ chức và các mảng

hoạt động của công ty.

6
SVTH: Mai Văn Anh


NG 2:

Báo cáo thực tập tốt nghiệp

PHÂN TÍCH, THIẾT KẾ VÀ TRIỂN KHAI
2.1. Cơ sở lý thuyết
2.1.1.

Ngôn ngữ lập trình Kotlin
Kotlin là một ngôn ngữ lập trình mới từ JetBrains. Nó xuất hiện lần đầu tiên vào

năm 2011 khi JetBrains công bố một dự án mới có tên là "Kotlin". Giống như Swift,
Kotlin là một ngôn ngữ mã nguồn mở.
Giống như Java, C, và C++, Kotlin cũng là một ngôn ngữ kiểu tĩnh, "statically
typed programming language". Ngôn ngữ kiểu tĩnh là những ngôn ngữ mà các
variable cần phải định danh trước khi được sử dụng. Có nghĩa là variable cần phải
khai báo và khởi tạo trước.
Về cơ bản thì kiểu Static typing không có nghĩa là chúng ta cần phải khai báo
toàn bộ variable trước tiên. Chúng có thể được khởi tạo ở bất cứ đâu trong ứng dụng
và các lập trình viên phải làm việc đó, để sử dụng những variable ở nơi mà mình
cần.

2.1.2.


Mô hình MVVM:
MVVM là một mô hình mới được sử dụng để phát triển phần mềm cho cả ứng

dụng web lẫn mobile. Việc áp dụng mô hình vào quản lý mã nguồn giúp cho mã
nguồn được trong sáng, dễ dàng quản lý, phát triển và bảo trì sau này.
Những yếu tố chính trong mô hình MVVM:
 View: Mang chức năng thông báo cho ViewModel về những hành động
của người dùng.
 ViewModel: Hiển thị streams của những data liên quan đến View.
 Model: Thành phần chứa dữ liệu lấy từ nhiều nguồn khác nhau: REST
API, SQLite DB, Shared Prefrences, Firebase…
Điểm khác biệt giữa mô hình MVVM và những mô hình khác trong Android.
7
SVTH: Mai Văn Anh


Báo cáo thực tập tốt nghiệp

 Tránh liên kết chặt
Với mỗi Activity hoặc Fragment chúng ta cần một Presenter. Đây là
một sự ràng buộc cứng nhắc. Presenter giữ tham chiếu của Activity và
Activity giữ tham chiếu của Presenter. Mối quan hệ 1:1 là vấn đề lớn
nhất.
Độ phức tạp của View tăng lên, tương tự với sự phức tạp của việc bảo
trì và xử lý quan hệ này cũng tăng lên. Điều này dẫn đến những vấn đề
giống như trước đó chúng ta đã gặp phải. Nếu thay đổi thiết kế thì chúng
ta sẽ phải chỉnh sửa cả quan hệ của chúng.
Để tránh được quan hệ chặt chẽ đó, ViewModel được giới thiệu.
ViewModel là một lớp đơn giản tương tác với lớp logic/model và đưa
trạng thái/ dữ liệu ra bên ngoài, và thực sự không biết dữ liệu đó sử dụng

như thế nào và bởi thành phần nào. Chỉ có View giữ tham chiếu đến
ViewModel, điều này giải quyết được vấn đề liên kết chặt. một View có
thể giữ tham chiếu của nhiều ViewModel.
 Khả năng Testing:
Do presenter bị trói buộc chặt vào View, nếu viết unit test trở nên khá
khó khăn do nó phụ thuộc vào View.
ViewModel dễ dàng hơn cho việc test vì chúng chỉ đưa trạng thái ra
bên ngoài và có thể test độc lập mà không phụ thuộc vào cách dữ liệu
được hiển thị, nghĩa là hoàn toàn không phụ thuộc vào View.

2.1.3.

Retrofit:
Retrofit là một HTTP client type-safe cho Android và Java. Retrofit là một thư

viện giúp dễ dàng kết nối đến một dịch vụ REST trên Web bằng cách chuyển đổi
API thành Java Interface.

8
SVTH: Mai Văn Anh


Báo cáo thực tập tốt nghiệp

Thư viện mạnh mẽ này giúp bạn dễ dàng xử lý dữ liệu JSON và XML sau đó
phân tích cú pháo thành Plain Old Java Object (POJOs). Tất cả các yêu cầu GET,
POST, PUT, PATCH, và DELETE đều có thể thực thi.
Giống như hầu hết các phần mềm mã nguồn mở khác, Retrofit được xây dựng
dựa trên một số thư viện mạnh mẽ và công cụ khác. Đằng sau đó, Retrofit làm cho
việc sử dụng OKHttp (từ cùng một nhà phát triển) để xử lý các yêu cầu trên mạng.

Ngoài ra, Retrofit không tích hợp bất kỳ một bộ chuyển đổi JSON nào để phân tích
từ JSON thành các đối tượng Java. Thay vào đó đi kèm với các thư viện chuyển đổi
JSON.

2.1.4.

Quản lý mã nguồn Git
Git một trong những Hệ thống Quản lý Phiên bản Phân tán, vốn được phát triển

nhằm quản lý mã nguồn (source code) của Linux. Trên Git, ta có thể lưu trạng thái
của file dưới dạng lịch sử cập nhật. Vì thế, có thể đưa file đã chỉnh sửa một lần về
trạng thái cũ hay có thể biết được file đã được chỉnh sửa chỗ nào.

2.2. Phân tích đề tài
Đề tài: Xây dựng ứng dụng di động xem trailer phim.

2.2.1.

Giới thiệu đề tài
Ứng dụng giúp xem trailer phim của những bộ phim nổi tiếng trên thế dưới, giúp

người dùng có cảm nhận ban đầu về phim, xem đánh giá của người đã xem, đồng
thời còn có thể xem những diễn viên góp mặt trong bộ phim.
Ứng dụng cho phép xem truyện theo từng chủ đề và phân mục giúp cho người
dùng dễ dàng tìm thấy những bộ phim yêu thích nhất cho mình.
Những bộ phim được người dùng đánh giá ưu thích sẽ được lưu lại.

2.2.2.

Mục đích đề tài

-

Hiểu thêm về kiến thức lập trình mobile.

-

Tìm hiểu ngôn ngữ Kotlin, mô hình quản lý mã nguồn, học được những công
nghệ mới.
9

SVTH: Mai Văn Anh


Báo cáo thực tập tốt nghiệp

-

Xây dựng ứng dụng xem trailer phim nhằm đưa vào đời sống thực tiễn.

2.3. Thiết kế và triển khai hệ thống
2.3.1.

Phân tích dữ liệu
-

Dữ liệu được lấy từ web REST API: />
-

Sử dụng phần mềm Post Man để kiểm tra dữ liệu json trả về. Tiến hành phân
tích đưa ra những yêu cầu chức năng phù hợp với ứng dụng di động.


2.3.2.

Xây dựng giao diện người dùng
Phần giao diện thường rất được quan tâm bởi khách hàng khi yêu cầu cho một

ứng dụng di động. Với kích thước giới hạn và hình dáng khác biệt của các màn hình
điện thoại di động nên việc thiết kế giao diện hết sức quan trọng. Thiết kế phải hài
hòa và sao cho ứng dụng chạy trên nhiều loại màn hình khác nhau nhưng cảm nhận
của người dùng vẫn không thay đổi.
Về cơ bản quy trình thiết kế giao diện gồm các bước:
-

Thiết kế giao diện bằng photoshop hoặc các phần mềm chỉnh sửa ảnh chuyên
nghiệp theo yêu cầu.

-

Cắt các mảnh của file design ra các phần riêng lẻ.

-

Dùng phần mềm chuyên dụng để biểu diễn UI của ứng dụng. Thực hiện
chỉnh sửa một số giao diện để hoàn thiện giao diện. Và đây cũng là bước
cuối cùng trong thiết kế giao diện.

2.3.3.

Tiến hình code theo các chức năng
Tiến hành code xử lý dữ liệu trả về và làm giao diện song song với nhau.


Quy trình code có các bước cơ bản như sau:
-

Code hoàn thiện các chức năng cơ bản và cần thiết nhất.

-

Test song song khi code

-

Đẩy code lên github để các thành viên khác trong nhóm review, nếu
chưa hợp lý thì cần phải chỉnh sửa.

-

Gộp các chức năng lại nhánh chính trên git đến khi hoàn thiện.
10

SVTH: Mai Văn Anh


NG 3:

Báo cáo thực tập tốt nghiệp

TỔNG KẾT
3.1. Kết quả triển khai
-


Trang chủ: Khi mở ứng dụng lên người dùng có thể xem:
o Danh mục trailer của phim
o Xem movie theo từng chủ đề.
o Xem movie ưu thích của người dùng.

Hình 1: Màn hình trang chủ

11
SVTH: Mai Văn Anh


Báo cáo thực tập tốt nghiệp

Hình 2: Màn hình xem trailer phime theo thể loại

Hình 3: Màn hình xem trailer phim ưu thích
12
SVTH: Mai Văn Anh


Báo cáo thực tập tốt nghiệp

Hình 4: Màn hình tìm kiếm

Hình 5: Màn hình xem những trailer của diễn viên
13
SVTH: Mai Văn Anh



Báo cáo thực tập tốt nghiệp

Hình 6: Màn hình xem những trailer của nhà sản xuất

3.2. Kết chương
Chương này về kết quả triển khai hệ thống thông qua các hình ảnh chụp lại
ứng dụng di động.

14
SVTH: Mai Văn Anh


Báo cáo thực tập tốt nghiệp

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
1. KẾT QUẢ ĐẠT ĐƯỢC

Về mặt lý thuyết, trong thời gian thực tập đã đạt được:
 Ứng dụng được những nội dung học ở trường:
-

Thiết kế hệ thống.

-

Phân tích và thiết kế cơ sở dữ liệu

-

Lập trình Mobile Android


-

Cấu trúc giải thuật

 Về mặt thực tiễn ứng dụng:
-

Tìm hiểu thêm được một số công nghệ mới.

-

Có sự hiểu biết thêm về mảng di động.

-

Nắm bắt được quy trình làm và phát triển ứng dụng.

 Những điểm mạnh và hạn chế của vấn đề thực tập tại công ty:
-

Môi trường thực tập thoải mái.

-

Nhận được sự hỗ trợ nhiệt tình từ bên phía công ty

-

Thời gian thực tập quá ngắn nên một số chức năng của chưa hành

thành.

15
SVTH: Mai Văn Anh


Báo cáo thực tập tốt nghiệp

2. KIẾN NGHỊ VÀ HƯỚNG PHÁT TRIỂN

Sau khi thực tập tại công ty và hoàn thành báo cáo thực tập tốt nghiệp. Bản
thân em đã học hỏi được được nhiều điều, được sự giúp đỡ tận tình của các anh chị
trong công ty, và có một môi trường thực tập chuyên nghiệp.
Một số định hướng phát triển của đề tài như sau:
-

Tiến hành nâng cấp hệ thông thêm nhiều tính năng nổi bật hơn

-

Chỉnh sửa giao diện để thân thiện với người sử dụng nhất có thể.

-

Đưa ứng dụng lên cửa hang CH play.

16
SVTH: Mai Văn Anh



Báo cáo thực tập tốt nghiệp

TÀI LIỆU THAM KHẢO
Internet

[1] a
[2] />[3] />
17
SVTH: Mai Văn Anh



×