1. Trang chủ
  2. » Công Nghệ Thông Tin

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

18 143 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 895,02 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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.. Đồng thời em xin cảm ơn các thầy c

Trang 1

ĐẠ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: cntt@dut.udn.vn

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

Trang 2

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

Trang 3

M C L C Ụ Ụ

CHƯƠNG 1: GIỚI THIỆU CƠ QUAN THỰC TẬP 5

1.1 Giới thiệu công ty Sun-asterisk Đà Nẵng 5

1.2 Lịch sử hình thành và phát triển 5

1.3 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 Kết quả triển khai 11

3.2 Kết chương 14

Trang 4

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

Trang 5

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

IT Information Technology

API Application Programming Interface

Trang 6

CHƯƠ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

Trang 7

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

Trang 8

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

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

Trang 9

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

Trang 10

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

Trang 11

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: https://developers.themoviedb.org/3/

- 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

Trang 12

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

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

Trang 13

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

Trang 14

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

Trang 15

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

Trang 16

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

Trang 17

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

Trang 18

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

TÀI LIỆU THAM KHẢO

Internet

[1] https://viblo.asia

[3] https://www.mysql.com/

17

SVTH: Mai Văn Anh

Ngày đăng: 31/07/2019, 10:47

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w