1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài tập lớn tên học phần lập trình cho thiết bị di động đề tài xây dựng app xem phim

25 6 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

Tiêu đề Xây dựng App xem phim
Tác giả Hoàng Minh Thu, Âu Thị Quý, Nguyễn Văn Thành
Người hướng dẫn Trần Đức Minh
Trường học Trường Đại Học Phenikaa
Chuyên ngành Lập Trình Cho Thiết Bị Di Động
Thể loại Bài tập lớn
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 25
Dung lượng 2,12 MB

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

Nội dung

Tìm hiểu về ứng dụng di động 2.1 Định nghĩa và lợi ích của ứng dụng di động Ứng dụng di động là phần mềm được thiết kế và phát triển để hoạt động trêncác thiết bị di động như điện thoại

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC PHENIKAA

  BÀI TẬP LỚN TÊN HỌC PHẦN: LẬP TRÌNH CHO THIẾT BỊ DI ĐỘNG

LỚP: N01   HỌC KỲ II NĂM HỌC 2022 - 2023

ĐỀ TÀI: “Xây dựng App xem phim” 

  Giảng viên hướng dẫn: Trần Đức Minh

Trang 2

  MỤC LỤC1.Giới thiệu

  1.1 Đặt vấn đề1.2 Mục đích của báo cáo  1.3 Đối tượng, phương pháp tiếp cận  1.4 Đóng góp của đề tài

2.Tìm hiểu về ứng dụng di động  2.1 Định nghĩa và lợi ích của ứng dụng di động  2.2 Các nền tảng di động phổ biến

  2.3 Xu hướng và thị trường ứng dụng di động  2.4 Tổng quan về hệ điều hành Android3.Phân tích yêu cầu

  3.1 Mô tả yêu cầu dự án  3.2 Phân tích yêu cầu chức năng  3.3 Phân tích yêu cầu phi chức năng4.Thiết kế ứng dụng di động

  4.1 Thiết kế giao diện trang chủ  4.2 Kiến trúc ứng dụng

5.Triển khai và triển khai ứng dụng  5.1 Cài đặt môi trường phát triển  5.2 Xây dựng ứng dụng di động  5.3 Demo giao diện

6.Kết luậnTài liệu tham khảo

Trang 3

1 Giới Thiệu  1.1.Đặt vấn đề

Xã hội ngày càng phát triển, hiện đại, văn minh đã mang đến cho con ngườinhiều lợi ích Mức sống của con người ngày càng nâng cao, thu nhập cũng tăng lêntheo thống kê từng năm Tuy nhiên, sự phát triển nhanh chóng của xã hội với nhiềuthay đổi mang tính chất phi truyền thống đang tạo nên nhiều áp lực, mâu thuẫn,xung đột phức tạp đang gây tác động tiêu cực đến tâm lý con người, tạo nên nhiều

hệ lụy đáng lo ngại Nhiều người có nhu cầu về giải trí lựa chọn việc xem phim đểgiải tỏa những cảm xúc tiêu cực hay chỉ đơn giản để tận hưởng nó, bởi vì phim ảnhđược xem là nghệ thuật thứ bảy, là thế giới rộng lớn để con người thỏa sức bay bổng với cảm xúc Xem phim là cách giải trí hiệu quả sau những giờ làm việc vàhọc tập căng thẳng

Tại Việt Nam thì xem phim được xem như là một nét văn hóa, đời sống tinhthần của mỗi người Tuy nhiên, vẫn còn nhiều người có mức thu nhập còn chưacao, ít thời gian rảnh rỗi thì việc xem phim ở rạp chiếu phim còn hạn chế Mọingười đều muốn xem phim ngay trên các nền tảng Website, điện thoại thông minh,Smart TV,… Nhu cầu của mọi người về thể loại đa dạng, chất lượng phân giải vàtốc độ cao cũng được đặt lên hàng đầu Chính vì thế, mà hàng trăm, hàng ngàntrang web tổng hợp phim ra đời thu hút lượng lớn người xem truy cập mỗi ngày. Nhắm bắt được điều này, chúng tôi quyết định thiết kế ứng dụng android xem phim trực tuyến

Với mong muốn vận dụng kiến thức đã học vào thực tế, qua đó làm quen vàđúc kết kinh nghiệm để sau này có thể xây dựng nên các hệ thống ứng dụng côngnghệ thông tin vào cuộc sống, đáp ứng nhu cầu xã hội Đồng thời qua đó, chúng

em có thể hiểu sâu vào nội dung và nắm được ý nghĩa thực tiễn của môn học

  1.2.Mục tiêu, nhiệm vụ của đề tài

  1.2.1 Mục tiêu

  Củng cố và nắm chắc kiến thức về phân tích và thiết kế hệ thống thông tinTạo ra phần mềm có thể ứng dụng được trong thực tế

  1.2.2 Nhiệm vụ

Trang 4

  Thông qua việc nghiên cứu về thị trường, khách hàng để thiết kế ứng dụngmang lại hiệu quả nhất định.

  Áp dụng các kiến thức đã học về cơ sở dữ liệu, phân tích và thiết kế hệ thống

và lập trình hướng đối tượng để xây dựng ứng dụng đẹp,hiện đại và chuyên nghiệpnhất giúp cá nhân, doanh nghiệp triển khai xây dựng ứng dụng để phục vụ hoạtđộng kinh doanh

1.3.Đối tượng, phương pháp tiếp cận

  1.3.1 Đối tượng

- Tài liệu phân tích và thiết kế hệ thống

- IDE Android Studio, ngôn ngữ lập trình Dart

- App xem phim trực tuyến

Trang 5

2 Tìm hiểu về ứng dụng di động

  2.1 Định nghĩa và lợi ích của ứng dụng di động

Ứng dụng di động là phần mềm được thiết kế và phát triển để hoạt động trêncác thiết bị di động như điện thoại thông minh và máy tính bảng Chúng cho phépngười dùng thực hiện nhiều tác vụ và chức năng khác nhau trên thiết bị di động củamình, từ việc gửi tin nhắn và điện thoại đến truy cập vào mạng xã hội, nghe nhạc,xem video, mua sắm trực tuyến, và nhiều hơn nữa

Có nhiều lợi ích của ứng dụng di động, bao gồm:

- Tiện lợi: Người dùng có thể tiếp cận và sử dụng các dịch vụ trên di độngmọi lúc, mọi nơi mà không cần truy cập vào máy tính cá nhân

- Linh hoạt: Ứng dụng di động có thể được tải xuống và cài đặt trực tiếptrên thiết bị di động, cho phép người dùng tiếp cận dễ dàng và sử dụng cácchức năng một cách nhanh chóng

- Giao diện tương tác: Ứng dụng di động thường có giao diện tương tác vàthân thiện với người dùng, giúp người dùng tương tác và thao tác trựcquan hơn

- Tăng cường trải nghiệm người dùng: Với ứng dụng di động, người dùng

có thể trải nghiệm các tính năng độc đáo như định vị GPS, cảm biến diđộng, camera và trò chơi

- Tạo cơ hội kinh doanh: Ứng dụng di động đã mở ra một lĩnh vực mới chodoanh nghiệp và nhà phát triển, cho phép họ tiếp cận đến khách hàng mộtcách trực tiếp và tạo ra cơ hội kinh doanh mới

  2.2 Các nền tảng di động phổ biến

  Có nhiều nền tảng di động phổ biến trên thị trường hiện nay, bao gồm:

- iOS: Hệ điều hành của Apple dành cho các thiết bị di động như iPhone,iPad và iPod Touch Ứng dụng cho iOS được phát triển bằng ngôn ngữlập trình Swift hoặc Objective-C và chỉ có thể tải xuống từ App Storecủa Apple

- Android: Hệ điều hành của Google dành cho các thiết bị di động, baogồm điện thoại thông minh, máy tính bảng và các thiết bị khác Ứngdụng cho Android được phát triển bằng ngôn ngữ lập trình Java hoặcKotlin và có thể tải xuống từ Google Play Store hoặc các cửa hàng ứngdụng khác

- Windows Phone: Hệ điều hành của Microsoft dành cho điện thoại diđộng Tuy nhiên, Microsoft đã chính thức ngừng hỗ trợ và phát triển cho

Trang 6

Windows Phone từ năm 2017, do đó, sự phổ biến của nền tảng này đãgiảm đi đáng kể.

- BlackBerry OS: Hệ điều hành của BlackBerry dành cho điện thoại diđộng BlackBerry OS tập trung vào tính bảo mật cao và tính nănggửi/nhận email hiệu quả Tuy nhiên, sự phổ biến của nền tảng này đãgiảm đi và BlackBerry đã chuyển sang sử dụng hệ điều hành Androidcho các thiết bị mới

  Ngoài ra, còn có các nền tảng di động khác như KaiOS (dành cho điện thoại

di động cơ bản), Tizen (sử dụng trên một số thiết bị Samsung), và các nền tảngđiện thoại di động cổ điển khác

- Internet of Things (IoT): IoT đang mở ra nhiều cơ hội cho ứng dụng di động Người dùng có thể điều khiển các thiết bị thông qua ứng dụng di động, chẳng hạn như điều chỉnh nhiệt

độ, bật/tắt đèn, hay quản lý hệ thống an ninh.

- Thanh toán di động

- Trò chơi di động: Ngành công nghiệp trò chơi di động ngày càng phát triển mạnh mẽ, với các trò chơi có đồ họa tuyệt đẹp, gameplay sáng tạo và tích hợp tính năng xã hội Các trò chơi di động thu hút một lượng lớn người chơi và tạo ra doanh thu cao.

- Thị trường ứng dụng di động: Thị trường ứng dụng di động ngày càng đa dạng và cạnh tranh App Store của Apple và Google Play Store đang dẫn đầu về số lượng ứng dụng và doanh thu Các ứng dụng có tính năng độc đáo, trải nghiệm người dùng tốt và khả năng tiếp cận đến đối tượng khách hàng rộng lớn sẽ có lợi thế cạnh tranh.

Trang 7

- Phát triển ứng dụng di động: Quá trình phát triển ứng dụng di động thường sử dụng các công nghệ như ngôn ngữ lập trình Swift (cho iOS) và Java hoặc Kotlin (cho Android) Các nền tảng phát triển ứng dụng như React Native và Flutter cũng được sử dụng để xây dựng ứng dụng di động đa nền tảng.

- Bảo mật và quyền riêng tư: Bảo mật và quyền riêng tư là một yếu tố quan trọng trong ứng dụng di động Người dùng quan tâm đến việc bảo vệ thông tin cá nhân và dữ liệu của mình.

Do đó, việc phát triển ứng dụng di động an toàn và tuân thủ các quy định về bảo mật là rất quan trọng.

  Thị trường ứng dụng di động đã trở thành một lĩnh vực đầy tiềm năng vàđang tiếp tục phát triển Doanh thu từ ứng dụng di động đang gia tăng và nhiềudoanh nghiệp và nhà phát triển đang đầu tư để tận dụng tiềm năng của thị trườngnày Cùng với sự phổ biến của các nền tảng di động như iOS và Android, thịtrường ứng dụng di động được dự đoán sẽ tiếp tục tăng trưởng trong tương lai

  2.4 Tổng quan về hệ điều hành Android

  2.4.1 Giới thiệu về hệ điều hành Android

  Android là hệ điều hành trên nền tảng di động được phát triển dựa trên hệđiều hành Linux bởi Google, được sử dụng chủ yếu trong các thiết bị màn hìnhcảm ứng, điện thoại di động và máy tính bảng Nó cho phép người dùng thao tácvới các thiết bị một cách trực quan thông qua chuyển động của ngón tay như:chạm, vuốt Google cũng sử dụng phần mềm Android trên tivi, ô tô và đồng hồ đeotay Kể từ khi ra mắt, Android đã ngày càng trở nên phổ biến với lượng ngườidùng ngày một tăng

Trang 8

Tính đến tháng 1 năm 2020, Android là hệ điều hành phổ biến nhất được sửdụng trên các thiết bị di động, với 74,3% thị phần toàn cầu IOS của Apple đứngthứ hai với 24,8%.

- Tính ngang bằng của các ứng dụng: Với Android, không có sự khác nhaugiữa ứng dụng điện thoại cơ bản với ứng dụng bên thứ ba Chúng được xâydựng để truy cập như nhau tới các ứng dụng và dịch vụ của điện thoại

- Xây dựng ứng dụng dễ dàng và nhanh chóng: Android cung cấp bộ thư việngiao diện lập trình ứng dụng đồ sộ và các công cụ để viết các ứng dụng phứctạp

  2.4.4 Kiến trúc cơ bản của hệ điều hành Android

- Hệ điều hành Android là 1 ngăn xếp các thành phần phần mềm, được chiathành 5 phần như hình dưới

Trang 9

   Hình 1 Kiến trúc hệ điều hành

  2.4.5 Linux Kernel

  Linux Kernel là lớp thấp nhất Android sử dụng nhân Linux làm nhân chocác dịch vụ hệ thống như bảo mật, quản lý bộ nhớ, quản lý tiến trình, ngăn xếpmạng và điều khiển thiết bị (giao tiếp USB, giao tiếp hồng ngoại, không dây,…)

  2.4.6 Thư viện và các giao diện lập trình ứng dụng

Thư viện android khá phong phú, cung cấp sẵn cho người lập trình có thể sửdụng Android có một tập các thư viện nòng cốt để cung cấp hầu hết các chức năngsẵn có trong thư viện cốt lõi của ngôn ngữ lập trình Java

Trang 10

Danh sách các API cơ bản cho phát triển ứng dụng:

- Android.util: Gói tiện ích cơ bản gồm nhiều lớp cấp thấp như lớp quản lý,lớp xử lý chuỗi, lớp xử lý XML

- Android.os: Gói hệ điều hành cung cấp truy cập đến các dịch vụ cơ bản

- Android.graphics: Cung cấp các lớp đồ họa mức thấp thực hiện các chứcnăng đồ họa, vẽ, màu cơ bản

- Android.text: Hiển thị và xử lý văn bản

- Android.database: Cung cấp các lớp mức thấp bắt buộc cho việc điềukhiển cursor khi làm việc với các cơ sở dữ liệu

- Android.content: Các giao tiếp lập trình nội dung được dùng để quản lýtruy cập dữ liệu và xuất bản bằng cách cung cấp dịch vụ thao tác với tàinguyên và các gói

- Android.view: View là lớp giao diện người dung cơ bản nhất Tất cả giaodiện người dùng tạo ra đều phải sử dụng một tập các View để cung cấpcho các thành phần tương tác người dùng

- Android.widget: Xây dựng dựa trên gói View Những lớp Widget lànhững thành phần giao diện được tạo sẵn để xây dựng giao diện

- com.google.android.maps: Bộ API mức cao cung cấp truy cập đến điềukhiển bản đồ sẵn trong Android

- Android.app: Một gói thư viện bậc cao, cung cấp truy cập đến dữ liệu củaứng dụng Gói ứng dụng cũng bao gồm lớp Activity và Service là thành phần cơ bản của mọi ứng dụng Android

- Android.provider: Tạo thuận lợi cho người phát triển truy cập đến cácContent Provider tiêu chuẩn

- Android.telephony: Các API điện đàm cung cấp khả năng tương tác trựctiếp với tầng điện thoại trong các thiết bị, cho phép tạo, nhận, theo dõicác cuộc gọi và tin nhắn SMS

  2.4.7 Android Runtime

Trang 11

Đây là phần thứ 3 của kiến trúc và nằm ở lớp thứ 2 từ dưới lên Phần nàycung cấp 1 bộ phận quan trọng là Dalvik Virtual Machine – là 1 loại Java VirtualMachine được thiết kế đặc biệt để tối ưu cho Android.

DVM sử dụng các đặc trưng của nhân Linux như quản lý bộ nhớ và đaluồng, những thứ mà đã có sẵn trong Java DVM giúp mở ng dụng Android chạytrong tiến trình riêng của nó, với các thể hiện riêng của DVM

Android Runtime cũng cung cấp 1 tập các thư viện chính giúp các nhà pháttriển ứng dụng Android có thể viết ứng dụng Android bằng Java

  2.4.8 Khung ứng dụng (Application framework)

Kiến trúc của Android khuyến khích các khái niệm Thành phần sử dụng lại,cho phép công bố và chia sẻ các Activity, Service, dữ liệu với các ứng dụng khácvới quyền truy cập được quản lý bởi khai báo

Cơ chế đó cho phép người lập trình tạo ra một trình quản lý danh bạ hoặctrình quay số điện thoại mà có các thành phần người khác có thể tạo mới giao diện

và mở rộng chức năng thay vì viết lại chúng

 Những dịch vụ sau là dịch vụ kiến trúc cơ bản nhất của tất cả các ứng dụng,được cung cấp một framework cho mọi phần mềm được xây dựng:

- Activity Manager: Điều khiển vòng đời của các Activity

- Views: Được sử dụng để lập các giao diện người dùng của các Activity

-  Notification Manager: Cung cấp một cơ chế cố định và quy củ cho việcgửi các thông báo đến người dùng

- Content Provider: Cho phép chia sẻ dữ liệu giữa các ứng dụng

- Resource Manager: Hỗ các thành phần không thuộc mã nguồn như làchuỗi ký tự, đồ họa được đặt bên ngoài

3 Phân tích yêu cầu

 3.1 Mô tả yêu cầu dự án:

Trang 12

- Thiết kế một ứng dụng xem phim trực tuyến trên nền tảng điện thoại thôngminh, cho người dùng truy cập, tìm kiếm và xem được các bộ phim màngười dùng yêu thích.

 3.2 Phân tích yêu cầu chức năng  Xây dựng các chức năng của ứng dụng đối với ba kiểu người dùng:

-  Người dùng không có tài khoản trên ứng dụng

-  Người dùng có tài khoản trên ứng dụng

-  Người quản trị hệ thống

3.2.1. Người dùng không có tài khoản

- Đối với người dùng không có tài khoản trên ứng dụng sẽ được sử dụng cácchức năng trên ứng dụng sau:

-  Đăng ký: Người dùng đăng ký tài khoản để sử dụng các chức năng đối vớingười dùng có tài khoản

-  Tìm kiếm: Nội dung tìm kiếm sẽ bao gồm tìm kiếm theo tên phim hoặc gợi

ý dựa trên chữ cái đầu tiên của phim, tìm kiếm theo danh mục thể loại Sau

đó người dùng sẽ xem được bộ phim đã tìm kiếm

3.2.2. Người dùng có tài khoản

- Để trở thành khách hàng thành viên thì người dùng phải đăng ký tài khoản.Đối với kiểu người dùng có tài khoản trên ứng dụng, ngoài các chức năngcủa người dùng bình thường, khi đăng nhập vào ứng dụng thì họ còn cónhững chức năng như:

-  Đưa ra bình luận (comment) về những bộ phim, giao lưu trên diễn đàncủa ứng dụng

-  Đăng xuất: Người dùng đăng xuất khỏi tài khoản để sử dụng các chứcnăng như người dùng không có tài khoản

 3.3 Phân tích yêu cầu phi chức năng

- Giao diện: cần phải được trình bày đẹp mắt, dễ hiểu, thân thiện, giúp ngườidùng dễ sàng sử dụng, cung cấp những thông tin cần thiết của bộ phim giúptiết kiệm thời gian cho người dùng

- Bảo mật thông tin: ứng dụng phải bảo mật được các thông tin của khách

Trang 13

- Tiện dụng: thường xuyên nâng cấp, bảo trì, sửa chữa, cập nhập các chứcnăng mới tạo sự tiện lợi cho khách hàng và người quản trị.

- Tốc độ truy cập: đảm bảo tốc độ truy cập ứng dụng ngay khi có nhiều ngườitruy cập vào cùng lúc

3.4 Lập sơ đồ hệ thống

- Sơ đồ ngữ cảnh hệ thống:

- Sơ đồ chức năng:

Trang 14

   Hình 3 Sơ đồ chức năng 

- Sơ đồ luồng phân rã cấp 1:

- Sơ đồ luồng phân rã cấp 2:

 

 Hình 5 Sơ đồ luồng phân rã cấp 2

Mô hình use-case:

Trang 15

  use-case người dùng:

Trang 16

use-case admin:

Trang 17

  4.1.  Giao diện trang chủ:

- Trang chủ của ứng dụng sẽ được thiết kế để hiển thị logo ứng dụng, những

 bộ phim nổi bật Những bộ phim sẽ được xếp theo danh mục từng thể loại.Khi mở ứng dụng lên, giao diện trang chủ sẽ được hiển thị như sau

- Giao diện xem phim sẽ hiện ra khi người dùng bấm vào bộ phim bất kỳ

Trang 18

- Giao diện sẽ hiển thị poster, tên, nội dung, số tập, dàn diễn viên tham gianếu có của phim Người dùng bấm vào bộ phim lần nữa để xem phim.

 Sau khi người dùng nhấn vào xem phim, ứng dụng sẽ chuyển về giao diện

để xem phim Người dùng có thể tạm dừng, tua, xem phần trước hoặc phầnsau của bộ phim

 4.2 Kiến trúc ứng dụng

Model-View-Controller (MVC): Đây là một mô hình kiến trúc phổ biến trong phát triển ứng dụng di động Trong mô hình này, ứng dụng được chia thành ba phầnchính:

- Model: Đại diện cho dữ liệu và quản lý logic liên quan đến dữ liệu

- View: Đại diện cho giao diện người dùng, hiển thị dữ liệu và tương tác vớingười dùng

- Controller: Điều phối tương tác giữa Model và View, xử lý các sự kiện vàđiều khiển luồng dữ liệu

Model-View-ViewModel (MVVM): Đây là một mô hình kiến trúc phát triểnứng dụng di động phổ biến khác Trong MVVM, ứng dụng được chia thành ba phần chính:

- Model: Tương tự như trong mô hình MVC, đại diện cho dữ liệu và logic liênquan đến dữ liệu

- Đại diện cho giao diện người dùng, hiển thị dữ liệu và tương tác với ngườidùng

- ViewModel: Đóng vai trò trung gian giữa Model và View, cung cấp dữ liệucho View và xử lý các sự kiện từ View

Clean Architecture: Clean Architecture là một mô hình kiến trúc phát triểnứng dụng di động phát triển bởi Robert C Martin Mô hình này tách biệt các thành phần của ứng dụng thành các lớp độc lập để tăng tính độc lập, dễ bảo trì và kiểmthử Các thành phần chính trong Clean Architecture bao gồm:

- Entities: Đại diện cho các đối tượng và dữ liệu cốt lõi của ứng dụng

- Use Cases: Chứa các quy tắc kinh doanh và xử lý logic của ứng dụng

- Interfaces: Định nghĩa các giao diện cho các thành phần bên ngoài như giaodiện người dùng, dịch vụ mạng, cơ sở dữ liệu

- Frameworks & Drivers: Đại diện cho các thành phần liên quan đếnframework và driver như giao diện người dùng, cơ sở dữ liệu

Ngày đăng: 17/08/2023, 10:34

HÌNH ẢNH LIÊN QUAN

Hình 2. Sơ đồ ngữ cảnh hệ thống - Bài tập lớn tên học phần lập trình cho thiết bị di động đề tài xây dựng app xem phim
Hình 2. Sơ đồ ngữ cảnh hệ thống (Trang 13)
Hình 3. Sơ đồ chức năng - Bài tập lớn tên học phần lập trình cho thiết bị di động đề tài xây dựng app xem phim
Hình 3. Sơ đồ chức năng (Trang 14)

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w