1. Trang chủ
  2. » Giáo Dục - Đào Tạo

PHÁT TRIỂN ỨNG DỤNG GIẢI TRÍ TRÊN NỀN TẢNG ANDROID

104 1,2K 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 104
Dung lượng 13,18 MB

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

Nội dung

MỤC LỤC LỜI CẢM ƠN BẢNG TỪ VIẾT TẮT DANH MỤC HÌNH ẢNH LỜI CAM ĐOAN PHẦN MỞ ĐẦU 1. Đặt vấn đề 1 2. Tổng quan đề tài 1 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 3 1.1 Android và lịch sử phát triển 3 1.2 Kiến trúc của Android 4 1.2.1 Linux Kernel 4 1.2.2 Library và Android Runtime 5 1.2.3 Framework 7 1.2.4 Aplication 8 1.3 Các thành phần của Android 9 1.3.1 Thành phần của một chương trình Android 9 1.3.2 Các thành phần giao diện Widget 14 1.3.3 Bắt sự kiện trong Android 14 1.3.4 Menu 15 CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 16 2.1. Mô tả quy trình của mạng xã hội chia sẻ video My Vid 16 2.1.1. Quy trình xem video 16 2.1.2. Quy trình nhận xét video 16 2.1.3. Quy trình chia sẻ video 16 2.1.4. Quy trình yêu thích video 16 2.1.5. Quy trình quay video 16 2.1.6. Quy trình lưu video 16 2.2. Sơ đồ usecase 17 2.2.1. Usecase tổng quát 17 2.2.2. Sơ đồ usecase phân rã tương tác đăng nhập 17 2.2.3. Sơ đồ usecase phân rã tương tác với video 19 2.2.4. Sơ đồ usecase phân rã tương tác với User 21 2.1.5. Sơ đồ usecase phân rã quản lý user 24 2.1.6. Sơ đồ usecase phân rã quản lý video 26 2.1.7. Sơ đồ usecase phân rã quản lý nhạc 28 2.1.8. Sơ đồ usecase phân rã quản lý nhạc 30 2.3. Sơ đồ lớp 38 2.3.1. Sơ đồ lớp tổng quan 38 2.3.2. Sơ đồ lớp user 39 2.3.3. Sơ đồ lớp device 40 2.3.4. Sơ đồ lớp video 40 2.3.5. Sơ đồ lớp category 41 2.5.7. Sơ đồ lớp lyric 41 2.5.8. Sơ đồ lớp thư viện nhạc 42 2.6. Cấu trúc dữ liệu Real Time database 42 2.6.1. Cấu trúc dữ liệu class User 42 2.6.2. Cấu trúc dữ liệu class ListMedia 44 2.6.3. Cấu trúc dữ liệu class ListVideo 46 2.6.4. Cấu trúc dữ liệu class Messenger 48 2.6.5. Cấu trúc dữ liệu class NotifyPrivate 49 CHƯƠNG 3 XÂY DỰNG ỨNG DỤNG 50 3.1. Mô hình hệ thống My Vid 50 3.1.1. Server My Vid 50 3.1.2. Server Firebase 50 3.1.3. Android client 51 3.2. Mô hình MVP 51 3.2.1. Khác nhau giữa MVP và MVC 52 3.2.2. Các điểm quan trọng khi sử dụng mô hình VMP 53 3.2.3. Lợi ích của mô hình MVP 53 KẾT LUẬN VÀ KIẾN NGHỊ PHỤ LỤC

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

PHÁT TRIỂN ỨNG DỤNG GIẢI TRÍ

TRÊN NỀN TẢNG ANDROID

HÀ NỘI - 2017

Trang 2

KHOA CÔNG NGHỆ THÔNG TIN

Trang 3

Trên thực tế không có sự thành công nào mà không gắn liền với những sự giúp

đỡ mọi người dù ít hay nhiều, dù trực tiếp hay gián tiếp Trong suốt thời gian họctập nhất là trong quá trình thực tập, em đã nhận được rất nhiều sự quan tâm giúp đỡnhiệt tình của các thầy cô, bạn bè và gia đình

Đầu tiên em xin gửi lời cảm ơn sâu sắc đến côLê Lan Anh, đã trực tiếp hướngdẫn và giúp đỡ em rất nhiều trong thời gian làm đồ án

Em cũng xin gửi lời cảm ơn đến các thầy cô trong khoa Công nghệ thông tinđồng thời cũng là giáo viên hướng dẫn cố Lê Lan Anh đã nhiệt tình giúp đỡ tạo điềukiện giúp em thuận lợi trong quá trình xây dựng đồ án

Cuối cùng, em xin gửi lời cảm ơn chân thành tới gia đình và bạn bè đã luôngiúp đỡ, động viên và tạo điều kiện tốt nhất cho em trong suốt quá trình học tậpcũng như trong cuộc sống

Em xin chân thành cảm ơn!

Sinh viên thực hiện

Trang 4

LỜI CẢM ƠN

BẢNG TỪ VIẾT TẮT

DANH MỤC HÌNH ẢNH

LỜI CAM ĐOAN

PHẦN MỞ ĐẦU

1.Đặt vấn đề 1

2.Tổng quan đề tài 1

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 3

1.1 Android và lịch sử phát triển 3

1.2 Kiến trúc của Android 4

1.2.1 Linux Kernel 4

1.2.2 Library và Android Runtime 5

1.2.3 Framework 7

Trang 5

1.3 Các thành phần của Android 9

1.3.1 Thành phần của một chương trình Android 9

1.3.2 Các thành phần giao diện Widget 14

1.3.3 Bắt sự kiện trong Android 14

1.3.4 Menu 15

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 16

2.1 Mô tả quy trình của mạng xã hội chia sẻ video My Vid 16

2.1.1 Quy trình xem video 16

2.1.2 Quy trình nhận xét video 16

2.1.3 Quy trình chia sẻ video 16

2.1.4 Quy trình yêu thích video 16

2.1.5 Quy trình quay video 16

2.1.6 Quy trình lưu video 16

2.2 Sơ đồ usecase 17

2.2.1 Usecase tổng quát 17

2.2.2 Sơ đồ usecase phân rã tương tác đăng nhập 17

2.2.3 Sơ đồ usecase phân rã tương tác với video 19

2.2.4 Sơ đồ usecase phân rã tương tác với User 21

2.1.5 Sơ đồ usecase phân rã quản lý user 24

2.1.6 Sơ đồ usecase phân rã quản lý video 26

Trang 6

2.1.8 Sơ đồ usecase phân rã quản lý nhạc 30

2.3 Sơ đồ lớp 38

2.3.1 Sơ đồ lớp tổng quan 38

2.3.2 Sơ đồ lớp user 39

2.3.3 Sơ đồ lớp device 40

2.3.4 Sơ đồ lớp video 40

2.3.5 Sơ đồ lớp category 41

2.5.7 Sơ đồ lớp lyric 41

2.5.8 Sơ đồ lớp thư viện nhạc 42

2.6 Cấu trúc dữ liệu Real Time database 42

2.6.1 Cấu trúc dữ liệu class User 42

2.6.2 Cấu trúc dữ liệu class ListMedia 44

2.6.3 Cấu trúc dữ liệu class ListVideo 46

2.6.4 Cấu trúc dữ liệu class Messenger 48

2.6.5 Cấu trúc dữ liệu class NotifyPrivate 49

CHƯƠNG 3 XÂY DỰNG ỨNG DỤNG 50

3.1 Mô hình hệ thống My Vid 50

3.1.1 Server My Vid 50

3.1.2 Server Firebase 50

3.1.3 Android client 51

Trang 7

3.2.1 Khác nhau giữa MVP và MVC 523.2.2 Các điểm quan trọng khi sử dụng mô hình VMP 533.2.3 Lợi ích của mô hình MVP 53KẾT LUẬN VÀ KIẾN NGHỊ

PHỤ LỤC

BẢNG TỪ VIẾT TẮT

Từ viết tắt Cụm từ đầy đủ IDC International Data Group

SDK Software Development Kit

CDMA Code Division Multiple Access

GSM Global System for Mobile ommunication

E EDGE

CSS Cascading Style Sheets

HTML HyperText Markup Language

AJAX Asynchronous JavaScript and XML

DOM Document Object Model

SQL Structured Query Language

OPEN GL Open Graphics Library

API Application Programming Interface

GPS Global positioning system

APK Android application package

CPU Central Processing Unit

XML eXtensible Markup Language

MVC Model - View - Controller

Trang 8

Hình 1.1: Mô hình tổng quát các thành phần trong Android 4

Hình 1.3: Library and Runtime 5

Hình 1.4: Framework 7

Hình 1.5: Activity life cycler 10

Hình 1.6: Intent 11

Hình 1.7: Service life cycler 12

Hình 2.1 Sơ đồ usecase tổng quát 17

Hình 2.2 Sơ đồ usecase phân rã login 17

Hình 2.3 Sơ đồ usecase phân rã tương tác video 19

Hình 2.4 Sơ đồ usecase phân rã tương tác user 21

Hình 2.5 Sơ đồ usecase quản lý user 24

Hình 2.6 Sơ đồ usecase quản lý video 26

Hình 2.7 Sơ đồ usecase quản lý nhạc 28

Hình 2.8 Sơ đồ usecase quản lý nhạc 30

Hình 2.9 sơ đồ cộng tác đăng nhập 32

Hình 2.10 sơ đồ cộng tác xem video 33

Hình 2.11 sơ đồ cộng tác bình luận video 34

Hình 2.12 sơ đồ cộng tác quay video 35

Hình 2.13 sơ đồ cộng tác lưu video 36

Hình 2.14 Biểu đồ cộng tác upload video 36

Hình 2.15 sơ đồ cộng tác xóa video 37

Hình 2.16 sơ đồ lớp tổng quan 38

Hình 2.17 class user 43

Hình 2.18 chi tiết class user 44

Hình 2.19 class media 45

Hình 2.20 chi tiết class media 46

Hình 2.21 class video 47

Hình 2.22 chi tiết class video 47

Trang 9

Hình 2.24 chi tiết class conversation 48

Hình 2.25 chi tiết class listconversion 49

Hình 2.26 class notifyPrivate 49

Hình 3.1 mô hình hệ thống My Vid 50

Hình 3.2 Mô hình MVP 51

Trang 10

Sinh viên: Trương Minh Phúc cam đoan đây là ứng dụng độc lập của riêng

cá nhân sinh viên Các dữ liệu được sử dụng trong đồ án có nguồn gốc rõ ràng, đãcông bố theo đúng quy định

Nếu có bất kỳ sự gian lận nào tôi xin chịu hoàn toàn trách nhiệm về nộidung đồ án của mình Khoa công nghệ thông tin - trường đại học Tài Nguyên vàMôi Trường Hà Nội không liên quan đến bất kỳ vi phạm tác quyền, bản quyền dotôi gây ra trong quá trình thực hiện

Trang 12

PHẦN MỞ ĐẦU

1 Đặt vấn đề

Mạng điện thoại di độngxuất hiện tại Việt Nam từ đầu những năm 1990 và theothời gian số lượng các thuê bao cũng như các nhà cung cấp dịch vụ đi động tại ViệtNam ngày càng tăng Do nhu cầu trao đổi thông tin ngày càng tăng và nhu cầu sửdụng sản phẩm công nghệ cao nhiều tính năng, cấu hình cao, chất lượng tốt, kiểudáng mẫu mà đẹp, phong phú nên nhà cung cấp phải luôn luôn cải thiện, nâng caonhững sản phẩm của mình Do đó việc xây dựng các ứng dụng cho điện thoại diđộng đang là một ngành công nghiệp mới đầy tiềm năng và hứa hẹn nhiều sự pháttriển vượt bậc của ngành khoa học kĩ thuật

Cùng với sự phát triển của thị trường điện thoại di động là sự phát triển mạnh

mẽ của xu hướng lập trình phần mềmứng dụng cho các thiết bị di động Phần mềm,ứng dụng cho điện thoại di động hiện nay rất đa dạng và phong phú trên các hệ điềuhành di động cũng phát triển mạnh mẽ và đang thay đổi từ ngày Các hệ điều hànhJ2ME, Android, IOS, Hybrid, Web Based Mobile Application đã có rất phát triểntrên thị trường truyền thông di động

Trong vài năm trở lại đây, hệ điều hành Android ra đời với sự kế thừa những ưuviệt của các hệ điều hành ra đời trước và sự kết hợp của nhiều công nghệ tiên tiếnnhất hiện nay, đã được nhà phát triển công nghệ rất nổi tiếng hiện nay là Google.Android đã nhanh chóng là đối thủ cạnh tranh mạnh mẽ với các hệ điều hành trước

đó và đang là hệ điều hành di động của tương lai và được nhiều người ưa chuộngnhất Ngày nay, với sự phát triển nhanh chóng của xã hội, nhu cầu cập nhật tin tức

xã hội mọi lúc mọi nơi là rất cần thiết, vì vậy em đã chọn đề tài “Phát triển ứng

dụng giải trí trên nền tảng Android” với mục đích phục vụ nhu cầu giải trí tìm hiểu

của con người một cách nhanh chóng và tiện lợi

2 Tổng quan đề tài

Ứng dụng giải trí có tên là: My Vid

Trang 13

My Vid là mạng xã hội chia sẻ video, khác với các mạng xã hội khác nhưyoutube,1news…… My Vid cho phép bạn quay những đoạn video được ghép vớimột đoạn nhạc của một bài hát rồi đăng chia sẻ đoạn video đó Nghĩa là ứng dụng sẽcung cấp cho người dùng một danh sách các bài hát hay đoạn nhạc và người dùng

sẽ thể hiện sao cho phù hợp với nội dung của bài hát Có thể dùng ngôn ngữhay cóthể dùng phi ngôn ngữ để thể hiện bài hát hay một đoạn nhạc bất kỳ

My Vid cho phép người dùng quay trực tiếp khi đang ở ứng dụng, My Vid hộ trợtrình xem video, chỉnh hiệu ứng video để người dùng có thể chọn ra video ưng ýnhất sau khi sử dụng bộ lọc hình ảnh Ngoài việc quay video và chỉnh sửa video,

My Vid cho phép bạn upload, chia sẻ hay có thể lưu lại video với bạn bè, tính năngbình luận và trò chuyện cũng được tích hợp trong My Vid

My Vid là một thế giới năng động dành riêng cho việc xả stress Nếu biết cách tậndụng My Vid còn có thể tạo ra thu nhập cho người dùng

Trang 14

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Android và lịch sử phát triển

Android là một nền tảng phần mềm dựa trên mã nguồn mở Linux OS (Kernel 2.6)cho máy di động, máy tính bảng và những phần mềm trung gian (middleware) Nókhông đơn thuần là một hệ điều hành, một công cụ lập trình hay một phần mềmtrung gian mà nó gồm tất cả

Ban đầu, Android là hệ điều hành cho các thiết bị cầm tay dựa trên lõi Linux

do công ty Android Inc (California, Mỹ) thiết kế Công ty này sau đó được Googlemua lại vào năm 2005 và bắt đầu xây dựng Android Platform

Và sau tiếp, vào cuối năm 2007, thuộc về Liên minh thiết bị cầm tay mã nguồnmở(Open Handset Alliance) Mục tiêu của liên minh này là nhanh chóng đổi mới đểđáp ứng tốt hơn cho nhu cầu người tiêu dùng và kết quả đầu tiên của nó chính là

Trang 15

nền tảng Android Android được thiết kế để phục vụ nhu cầu của các nhà sản xuấtthiết, các nhà khai thác và các lập trình viên thiết bị cầm tay

Phiên bản SDK lần đầu tiên phát hành vào tháng 11 năm 2007, hãng T-Mobilecũng công bố chiếc điện thoại Android đầu tiên đó là chiếc T-Mobile G1, chiếcsmartphone đầu tiên dựa trên nền tảng Android Một vài ngày sau đó, Google lạitiếp tục công bố sự ra mắt phiên bản Android SDK release Candidate 1.0.Trongtháng 10 năm 2008, Google được cấp giấy phép mã nguồn mở cho AndroidPlatform

Khi Android được phát hành thì một trong số các mục tiêu trong kiến trúc của nó

là cho phép các ứng dụng có thể tương tác được với nhau và có thể sử dụng lại cácthành phần từ những ứng dụng khác Việc tái sử dụng không chỉ được áp dụng chocho các dịch vụ mà nó còn được áp dụng cho cả các thành phần dữ liệu và giao diệnngười dùng

Vào cuối năm 2008, Google cho phát hành một thiết bị cầm tay được gọi làAndroid Dev Phone 1 có thể chạy được các ứng dụng Android mà không bị ràngbuộc vào các 6 nhà cung cấp mạng điện thoại di động Mục tiêu của thiết bị này làcho phép các nhà phát triển thực hiện các cuộc thí nghiệm trên một thiết bị thực cóthể chạy hệ điều hành Android mà không phải ký một bản hợp đồng nào Vàokhoảng cùng thời gian đó thì Google cũng cho phát hành một phiên vản vá lỗi 1.1của hệ điều hành này.Ở cảhai phiên bản 1.0 và 1.1 Android chưa hỗ trợ soft-keyboard mà đòi hỏi các thiết bịphải sử dụng bàn phím vật lý Android cố định vấn

đề này bằng cách phát hành SDK 1.5 vào tháng Tư năm 2009, cùng với một số tínhnăng khác Chẳng hạn như nâng cao khả năng ghi âm truyền thông, vật dụng, và cáclive folder

1.2 Kiến trúc của Android

Mô hình tổng quát các thành phầncủa hệ điều hành Android

Trang 16

Hình 1.1: Mô hình tổng quát các thành phần trong Android

1.2.1 Linux Kernel

Hệ điều hành Android được phát trển dựa trên hạt nhân linux, cụ thể là hạtnhân linux phiên bản 2.6, điều đó được thể hiện ở lớp dưới cùng này Tất cả mọihoạt động của điện thoại muốn thi hành được thì đều được thực hiện ở mức cấp thấp

Trang 17

dây

Các thành phần của nhân Linux:

- Display Driver: điều khiển việc hiển thị lên màn hình cũng như thu nhậnnhững điều khiển của người dùng lên màn hình (di chuyển, cảmứng )

- Camera Driver: điều kiển hoạt động của camera, nhận luồng dữ liệu từcameratrả về

- Bluetooth Driver: điều khiển thiết bị phát và thu sóng Bluetooth

- USB driver: quản lý hoạt động của các cổng giao tiếp USB

- Keypad driver: điều khiển bàn phím

- Wifi Driver: chịu trách nhiệm về việc thu phát sóng wifi

- Audio Driver: điều khiển các bộ thu phát âm thanh, giải mã các tính hiệudạng audio thành tín hiệu số và ngược lại

- Power Madagement: giámsát việc tiêu thụ điện năng

- M-System Driver: quản lý việc đọc ghi lên các thiết bị nhớ như thẻ SD,flash

- Binder IPC Driver : Chịu trách nhiệm về việc kết nối và liên lạc với mạng vôtuyến như CDMA, GSM, 3G, 4G, E để đảm bảo những chức năngtruyềnthôngđược thực hiện

1.2.2 Library và Android Runtime

Phần này có 2 thành phần là phần Library và Android Runtime

Hình 1.3: Library and Runtime

Trang 18

1.2.2.1 Library

Thành phần này có nhiều thư viện được viết bằng C/C++ để các phần mềm

có thể sử dụng, các thư viện đó được tập hợp thành một số nhóm như:

- Thư viện hệ thống (System C library) (Libc): thư viện dựa trên chuẩn C,được sử dụng chỉ bởi hệ điều hành

- Thư viện Media (Media Libraries): có nhiều code để hỗ trợ việc phát và ghicác loại định dạng âm thanh, hình ảnh, video thông dụng

- Thư viện web (LibWebCore): đây là thành phần để xem nội dung trên web,được sử dụng để xây dựng phần mềm duyệt web (Android Browse) cũng như

để các ứng dụng khác có thể nhúng vào Nó cực kỳ mạnh, hỗ trợ được nhiềucông nghệ mạnh mẽ như HTML5, JavaScript, CSS, DOM, AJAX…

- Surface Manage: quản lý hiển thị 2D và 3D

- SGL công nghệ 2D

- SQLite : quản lý database của ứng dụng

- Free Type : dùng cho hiển thị ảnh, font

- SSL(Secure Socket Layer): Tầng thiết lập giao dịch an toàn trên 2 ứng dụngtrên 1 cổng (socket)

- Open GL/EL: hỗ trợ thư viện tùy chọn 3D tĩnh và động

1.2.2.2 Android Runtime

Phần này chứa cácthư viện mà một chươngtrình viết bằng ngôn ngữ Java cóthể hoạt động Phần này có 2 bộ phậntươngtự như mô hình chạy Java trên máy tínhthường Thứ nhất là cácthư viện lõi (Core Library), chứa các lớp nhưJAVAIO,Collections, File Access Thứ hai là một máy ảo java (Dalvik Virtual Machine).Mặc dù cũng được viết từ ngôn ngữ Java nhưng một ứng dụng Java của hệ điềuhành Android không được chạy bằng JRE(Java Runtime Environment) củaSun (nay

là Oracle) (JVM)mà là chạy bằng máy ảo Dalvik (máy ảo dalvik đc đặt tên sau khi 1nhà phát triển phần mềm của google tạo ra nó sau khi đi thăm 1 ngôi làngở nơi tổtiên ông sinh sống) do Google phát triển máy ảo davik thực thi cái tập tin

Trang 19

davik(dex), khác với java là chuyển sang dạng bytecode Định dạng này được tối ưuhóa cho bộnhớ tối thiểu.

1.2.3 Framework

Bằng cách cung cấp một nền tảng phát triển mở, Android cung cấp cho cácnhà phát triển khả năng xây dựng các ứng dụng cực kỳ phong phú và sáng tạo Nhàphát triển được tự do tận dụng các thiết bị phần cứng, thông tin địa điểm truy cập,các dịch vụchạy nền, thiết lập hệ thống báo động, thêm các thông báo để các thanhtrạng thái, và nhiều, nhiều hơn nữa

Hình 1.4: Framework

Nhà phát triển có thể truy cập vào các API cùng một khuôn khổ được sử dụngbởi các ứng dụng lõi Các kiến trúc ứng dụng được thiết kế để đơn giản hóa việc sửdụng lại các thành phần Cơ bản tất cả các ứng dụng là một bộ các dịch vụ và các hệthống, bao gồm:

- Package Manage:Một tập hợp rất nhiều các View có khả năng kế thừa lẫnnhau dùng để thiết kế phần giao diện ứng dụng như: gridview, tableview,linearlayout…

- Activity Manager: Quản lý các chu kỳ sống của một ứng dụng cũng nhưcung cấp công cụ điều khiển các Activity

Trang 20

- Telephony Manager: Cung cấp công cụ để thực hiện việc liên lạc như gọiđiện thoại

- Location Manager: Chophépxácđịnh vị trí củađiện thoại thoại dựa vào hệthống định vị toàn cầu GPS và Google Maps

- Window Manager: Quản lý việc xây dựng và hiển thị các giao diện ngườidùng cũng như tổ chức quản lý các giao diện giữa các ứng dụng

- Notication Manager : Quản lý việc hiển thị các thông báo (như báo có tinnhắn, có e-mail mới)

- Resource Manager: Quản lý tài nguyên tĩnh của các ứng dụng bao gồm cácfile hình ảnh, âm thanh, layout, string (Những thành phần không được viếtbởi ngôn ngữ lập trình)

- Content Provider: cho phép các ứng dụng có thể truy xuất dữ liệu từ các ứngdụng khác (chẳng hạn như Contacts) hoặc là chia sẻ dữ liệu giữa các ứngdụng đó

Các ứng dụng viết sẽ có những đặc tính sau:

-Viết bằng Java, phần mở rộng là apk

-Khi mỗi ứng dụng được chạy, nó có một phiên bản Virtual Machine đượcdựng lên để phục vụ cho nó Nó có thể là một Active Program: Chương trình cógiao diện với người sử dụng hoặc là một background: chương trình chạy nền hay làdịch vụ

-Android là hệ điều hành đa nhiệm, điều đó có nghĩa là trong cùng một thờiđiểm, có thể có nhiều chương trình cùng chạy một lúc, tuy nhiên, với mỗi ứng dụng

Trang 21

thì có duy nhất một thực thể (instance)được phép chạy mà thôi Điều đócótác dụnghạn chế sự lạm dụng tài nguyên, giúp hệ thống hoạt động tốt hơn Các ứng dụngđược phân quyền và tự hệ thống sẽ kill nếu mức ưu tiên thấp

-Các ứng dụng được gán số ID của người sử dụng nhằn phân định quyền hạnkhi sử dụng tài nguyên, cấu hình phần cứng và hệ thống

-Android là một hệ điều hành có tính mở, khác với nhiều hệ điều hành di độngkhác, android cho phép một ứng dụng của bên thứ ba được phép chạy nền Các ứngdụng đóchỉ có một hạn chế nhỏ đólànókhông được phép sử dung quá 5~10% côngsuất CPU,điềuđónhằnđể tránhđộc quyền trong việc sử dụng CPU

là viết tin nhắn tới liên hệ được chọn, các hoạt động khác nữa là xem lại tin nhắn cũhay thay đổi cài đặt Mặc dù chúng làm việc cùng nhau để tạo thành một giao diệnngười dùng, mỗi activity độc lập với những cái khác Mỗi activity là một lớp concủa lớp cơ sở Activity Một ứng dụng có thể gồm chỉ một activity hay nhiềuactivity Thông thường, một trong số các activity được đánh dấu như là activity đầutiên phải được trình diễn tới người dùng khi ứng dụng được khởi động Chuyển từmột activity sang activity khác được hoàn thành bằng cách cho activity hiện thờikhởi động activity kế tiếp

Mỗi activity được đưa ra một cửa sổ mặc định để vẽ vào Thông thường, cửa

sổ sẽ lấp đầy màn hình, nhưng nó có thể nhỏ hơn màn hình và nằm trên các cửa sổkhác Một activity có thể sử dụng cửa sổ bổ sung- ví dụ như một pop-up dialog gọi

Trang 22

cho một đáp ứng người dùng ở giữa của activity, hay một cửa sổ biểu diễn nhữngcho người dùng với thông tin quan trọng khi họ chọn một item cụ thể trên màn hình.

Nội dung trực quan của cửa sổ được cung cấp bởi một cây phân cấp các đốitượng view dẫn xuất từ lớp View Mỗi view điều khiển một khoảng hình chữ nhật

cụ thể bên trong cửa sổ View cha chứa và tổ chức bố cục các view con Các view lá

vẽ trong hình chữ nhật mà chúng điều khiển và đáp ứng lại các hành động ngườidùng trực tiếp ở khoảng trống này Do đó, các view là nơi mà các tương tác củaactivity với người dùng diễn ra Ví dụ một view có thể hiển thị một hình ảnh nhỏ vàkhởi tạo một hoạt động khi người dùng nhấn vào hình ảnh đó Android có một sốview đã xây dựng sẵn mà bạn có thể sử dụng – gồm có các buttons, text fields,scroll bars, menu items, check boxes…

Một cây phân cấp view được đặt trong một cửa sổ của activity bằng phươngthức Activity.setContentView() Content view là đối tượng View ở gốc của câyphân cấp Class cơ sở Activity định nghĩa một loạt các sự kiện mà điều chỉnh vòngđời của một hoạt động

Class Activity định nghĩa các sự kiện sau đây:

-onCreate():Được gọi khi hoạt động được tạo ra lần đầu tiên

-onStart(): Được gọi khi hoạt động trở nên hữu hình so với người dùng

-onResume(): Được gọi khi hoạt động bắt đầu tương tác với người sử dụng.-onPause(): Được gọi để dừng các hoạt động hiện tại và nối lại các hoạt độngtrước đó

-onStop(): Được gọi khi hoạt động không còn hiển thị với người dùng

-onDestroy(): Được gọi trước khi hoạt động bị phá hủy bởi hệ thống (bằng tayhoặc bằng hệ thống để bảo tồn bộ nhớ)

-onRestart(): Được gọi khi hệ thống đã được dừng lại và khởi động lại một lầnnữa

Trang 23

Hình 1.5: Activity life cycler

Intent:

Là một cấu trúc dữ liệu mô tả cách thức, đối tượng thực hiện của mộtActivity Là cầu nối giữa các Activity: ứng dụng Android thường bao gồm nhiềuActivity, mỗi Activity hoạt động độc lập với nhau và thực hiện những công việckhác nhau Intent chính là người đưa thư, giúp các Activity có thể triệu gọi cũngnhư truyền các dữ liệu cần thiết tới một Activity khác Điều này cũng giống nhưviệc di chuyển qua lại giữa các Forms trong lập trình Windows Form

Trang 24

Hình 1.6: Intent

1.3.1.2 Service

Một service không có giao diện trực quan, nó chạy trên nền trong mộtkhoảng thời gian không xác định Ví dụ một service có thể chơi nhạc nền, hay nónạp dữ liệu trên mạng hay tính toán cái gì đó và cung cấp kết quả cho activity cầnđến nó Mỗi service mở rộng từ lớp cơ sở Service

Một ví dụ cổ điển là media player chơi các bài hát từ một danh sách Ứngdụng player có thể có một hayhai activity cho phép người dùng chọn bài hát và bắtđầu chơi Tuy nhiên, music playback không tự nó được xử lý bởi một activity bởi vìngười dùng sẽmong muốn chơi tiếp nhạc khi họ rời khỏi player và làm cái gì đókhác Để tiếp tục chơi nhạc, media player activity có thể khởi động một servicechạy trên nền Hệ thống sẽ giữ cho music playback service chạy thậm chí khiactivity khởi động nó rời khỏi màn hình.15 Trong khi kết nối, bạn có thể giao tiếpvới dịch vụ thông qua giao diện mà service đó trưng ra Ví dụ như trong musicservice, giao diện này có thể cho phép người dùng pause, rewind, stop và restart lạiplayback Giống như các activity và các thành phần khác khác, service chạy trongthread chính của tiến trình ứng dụng Vì thế chúng không thể chặn những thànhphần khác hay giao diện người dùng, chúng thường tạo ra các thead khác cho cácnhiệm vụ hao tốn thời gian

Trang 25

Hình 1.7: Service life cycler

1.3.1.3 Broadcast Receive

Một Broadcast Rreceiver là một thành phần không làm gì ngoài việc nhận vàđáp lại các thông báo broadcast Nhiều broadcast khởi đầu trong mã hệ thống - ví dụnhư thông báo múi giờ thay đổi, pin yếu, ảnh đã được chụp, hay người dùng đã thayđổi ngôn ngữ … Các ứng dụng có thể tạo ra các broadcast, chẳng hạn để ứng dụngkhác biết được một số dữ liệu đã được tải về thiết bịvà sẵn sàng cho việc sử dụngchúng Một ứng dụng có thể có một số Broadcast Receiver để đáp lại bất cứ thôngbáo nào mà nó cho là quan trọng Tất cả các receiver mở rộng từ lớp cơ sởBroadcastReceiver Broadcast Receiver không hiển thị một giao diện người dùng.Tuy nhiên chúng có thểbắt đầu một activity để đáp lại thông tin mà chúng nhận, haychúng có thể sử dụng NotificationManager để cảnh báo người dùng Notifications

có thể lấy sự chú ý của

16 người dùng bằng nhiều cách, lóe sáng đèn sau, rung, tạo ra âm thah, vân vân.Chúng thường lấy một biểu tượng bền vững trong thanh trạng thái, cái mà ngườidùng có thểmở để lấy thông điệp

Trang 26

1.3.1.4 Content Provider

Một content provider tạo ra một tập cụ thể các dữ liệu của ứng dụng khảdụng cho các ứng dụng khác Dữ liệu có thể được lưu trữ trong hệ thống file, trongmột cơ sở dữliệu SQLite, hay trong một cách khác nào đó Content provider mởrộng lớp cơ sởContentProvider để cài đặt một tập các chuẩn các phương thức chophép các ứng dụng khác đạt được và lưu trữ dữ liệu của kiểu mà nó điều khiển Tuynhiên, các ứng dụng không gọi trực tiếp các phương thức này, chúng sử dụng mộtđối tượng ContentResolver và gọi các phương thức của nó Một ContentResolver cóthể nói chuyện với bất cứ content provider nào, chúng cộng tác với provider đểquản lý giao tiếp liên tiến trình

1.3.1.5 Mainifest File

Trước khi Android có thể khởi động một thành phần ứng dụng, nó phải biếtrằng thành phần đó tồn tại Vì vậy, ứng dụng khai báo những thành phần của mìnhtrong một manifest file được gắn vào Android package, file apk này cũng giữ chứa

mã của ứng dụng và các tài nguyên Manifest file là một file XML có cấu trúc vàthường được đặt tên là AndroidManifest.xml cho mọi ứng dụng Nó thực hiện một

số bổ sung để khai báo các thành phần của ứng dụng, như là nêu tên các thư việnứng dụng cần đến, và xác định các quyền hạn của ứng dụng muốn được cấp

Ví dụ như nó khai báo các Activity trong chương trình của chúng ta, khi khởiđộng chương trình thì Activity nào sẽ được thực hiện đầu tiên, các quyền truy cậpInternet, SDCard, hay các vấn đề về gửi nhận tin nhắn, cuộc gọi

1.3.1.6 Giao diện người dùng trong Android

Trong một ứng dụng Android, giao diện người dùng được xây dựng bằngcách sử dụng View và ViewGroup đối tượng Có nhiều loại quan điểm và các nhómview, mỗi một trong số đó là hậu duệ của lớp View View objects là các đơn vị cơbản của biểu hiện giao diện người dùng trên nền tảng Android Các class xem như

là cơ sở phục vụcho class con được gọi là "widget", trong đó cung cấp đầy đủ cácđối tượng thực hiện giao diện, giống như các lĩnh vực văn bản và nút Class

Trang 27

ViewGroup phục vụ như là cơ sở cho lớp con được gọi là " layouts", cung cấp cácloại khác nhau của kiến trúc bốtrí, như linear, tabular và relative.

1.3.2 Các thành phần giao diện Widget

Có rất nhiều cách bố trí giao diện Sử dụng nhiều hơn và các loại khác nhaucủa các view group, bạn có thể cấu trúc views con và view groups trong vô số cách.Xác định các nhóm xem được cung cấp bởi Android (gọi là layouts) bao gồmLinearLayout,RelativeLayout, TableLayout, GridLayout và khác Mỗi cung cấp một

bộ duy nhất của các thông số bố trí được sử dụng để xác định vị trí của views con

và cơ cấu layout Để tìm hiểu về một số các loại khác nhau của các view group được

sử dụng cho một layout, đọc Giao diện đối tượng thường gặp

Widget là một object View phục vụ như một giao diện để tương tác vớingười dùng

Android cung cấp một tập các widgets thực hiện đầy đủ, giống như cácbutton, Checkbox, và text-entry , do đó bạn có thể nhanh chóng xây dựng giao diệnngười dùng của bạn Một số widgets được cung cấp bởi Android phức tạp hơn,giống như một date picker, clock, và zoom controls Nhưng nó không giới hạn trongcác loại widgets được cung cấp bởi các nền tảng Android

1.3.3 Bắt sự kiện trong Android

Khi đã thêm một số Views/widgets đến giao diện Để được thông báo về UIevents người dùng, cần phải làm một trong hai điều: Xác định một sự kiện nghe vàđăng ký nó với các View Đây là cách lắng nghe sự kiện Các class View có mộtphương pháp gọi là On<something>()

Ví dụ: View.OnClickListener (để xử lý "nhấp chuột" trên một View),View.OnTouchListener (để xử lý các sự kiện màn hình cảm ứng trong một View),

và View.OnKeyListener (để xử lý thiết bị ép quan trọng trong một View) Vì vậynếu muốn View được thông báo khi nó là "clicked" (chẳng hạn như khi một nút

Trang 28

được chọn), thực hiện và xác định OnClickListener của nó gọi method onClick()(nơi thực hiện các hành động sau khi nhấp chuột), và đăng ký nó vào Xem vớisetOnClickListener() Ghi đè một callback method hiện cho View Đây là những gìnên làm gì khi đã thực hiện lớp View của riêng bạn và muốn lắng nghe cho các sựkiện cụ thể xảy ra trong nó Ví dụ về các sự kiện có thể xử lý bao gồm màn hình làtouched onTouchEvent() khi trackball là di chuyển onTrack ballEvent() hoặc khimột phím trên thiết bị được nhấn onKeyDown() Điều này cho phép xác định cáchành vi mặc định cho từng sự kiện bên trong tuỳ chỉnh View và xác định xem sựkiện này cần được thông qua ngày để View con khác Một lần nữa, đây là nhữngcallbacks View class, do đó, cơ hội duy nhất của bạn để xác định đó là khi bạn xâydựng một phần tùy chỉnh.

1.3.4 Menu

Menu đơn có một phần quan trọng của giao diện người dùng trong một ứngdụng Menus cung cấp một giao diện đáng tin cậy cho thấy rằng các chức năng ứngdụng và cài đặt Trong trình đơn ứng dụng phổ biến nhất là tiết lộ bằng cách bấmphím MENU trên thiết bị Tuy nhiên, cũng có thể thêm Context Menus, có thể hiểnthị khi người sửdụng máy nhấn và nắm giữ phím trên một mục Thực đơn cũngđược hệ thống phân cấp cấu trúc bằng cách sử dụng một xem, nhưng bạn không xácđịnh cấu trúc này cho mình Thay vào đó, xác định onCreateOptionsMenu() oronCreateContext Menu() gọi method cho hoạt động của mình và tuyên bố các mục

mà mình muốn bao gồm trongmenu của mình Trong một thời gian thích hợp,Android sẽ tự động tạo ra hệ thống View phân cấp cần thiết cho menu, và rút ra mỗitrong mỗi menu items đó

Trang 29

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

2.1 Mô tả quy trình của mạng xã hội chia sẻ video My Vid

2.1.1 Quy trình xem video

Khi người dùng muốn xem một video, yêu cầu người sử dụng phải tìm kiếmvới từ khóa, từ đố hệ thống sẽ phân tích từ khóa và đưa ra các video cho người dùngxem, hoặc người dùng cũng có thể xem trực tiếp với các video gợi ý ban đầu Nếu

từ khóa không hơp lệ sẽ không có kết quả trả về

2.1.2 Quy trình nhận xét video

Khi người dùng muốn đưa ra ý kiến cá nhân về một video thì bắt buộc ngườidùng phải đăng nhập dưới tài khoản của mình Từ đó người dùng đưa ra các nhậnxét hoặc chỉnh sửa nhận xét của mình nếu có trước Người dùng còn có thể trả lờicác bình luận của người dùng khác

2.1.3 Quy trình chia sẻ video

Người dùng muốn chia sẻ một video mà mình đang xem thì hệ thống phải lấyđược một đường link của video đó Từ đây người dùng có thể chia sẻ video

2.1.4 Quy trình yêu thích video

Điều kiện để thêm video vào danh sách video yêu thích của người dùng thì yêucầu người dùng đó đã phải được đăng nhập trước Hệ thống sẽ bắt đầu kiểm ngườidùng này đã thích video này chưa? Nếu video chưa được yêu thích thì hệ thống sẽ

xử lý yêu thích còn ngược lại video đã được yêu thích rồi thì sẽ bị bỏ thích

2.1.5 Quy trình quay video

Người dùng sẽ phải chọn một bài hát nào đó để quay video Trong màn hìnhquay video người dùng có thể chọn các khung hình để quay và các chế độ hiệu ứngquay Ví dụ: chọn hiệu ứng làm mịn da, chọn các khung hình.Thời lượng videođược quay phụ thuộc vào thời lượng của nhạc Sau khi quay xong video hệ thống sẽgợi ý cho người dùng các hiệu ứng và bộ lọc

Cuối cùng hệ thống sẽ hỏi chọn tải lên hay lưu video

Trang 30

2.1.6 Quy trình lưu video

Để lưu được video thì cần phải qua bước quay video Người dùng yêu cầu lưuvideo hệ thống sẽ tạo ra một thư mục để chứ video đó, sau khi quá trình tạo và lưuvideo tại thư mục hoàn tất., hệ thống sẽ tự sinh ra một bảng trong cơ sở dữ liệu cóchứa các thuộc tính sau: id, hình ảnh, đường dẫn file, tên, tên ca sĩ, id của nhạc

2.2 Sơ đồ usecase

2.2.1 Usecase tổng quát

Hình 2.1 Sơ đồ usecase tổng quát

2.2.2 Sơ đồ usecase phân rã tương tác đăng nhập

Trang 31

Hình 2.2 Sơ đồ usecase phân rã login

a Facebook login

Tên Use Case Facebook login

Tiền điều kiện User chưa đăng nhập vào hệ thống

Project được liên kết với FirebaseĐảm bảo tối thiểu Cấu hình hệ thống cho phép liên kết Firebase với

FacebookĐảm bảo thành công Login đúng username và password của FacebookKích hoạt Nhấn vào nút login

Chuỗi sự kiến chính:

1 Người dùng nhập username và password nếu chưa có appFacebook trên thiết bị

2 Hệ thống kiểm tra thông tin nếu đúng thì hỏi quyền

3 Người dung xác nhận đồng ý với điều khoản sử dụng app My VidNgoại lệ:

Không có mạng

b API login

Trang 32

Tên Use Case API login

Tiền điều kiện User đã được facebook xác minh

Project được liên kết với FirebaseĐảm bảo tối thiểu Đồng ý quyền chia sẻ thông tin cá nhân cho

app My VidĐảm bảo thành công Update tài khoản

Ngoại lệ:

Không có mạng

2.2.3 Sơ đồ usecase phân rã tương tác với video

Hình 2.3 Sơ đồ usecase phân rã tương tác video

Trang 33

a Xem video

Tác nhân chính Người dùng

Tiền điều kiện Người dùng đã đăng nhập vào hệ thống

Đảm bảo tối thiểu Hệ thống thoát khỏi video đang xem và quay lui

lại bước trướcĐảm bảo thành công Xem được video

Tiền điều kiện Người dùng đã đăng nhập vào hệ thống

Đảm bảo tối thiểu Hệ thống thoát khỏi hộp thoại chia sẻ video và

quay lui lại bước trướcĐảm bảo thành công Chia sẻ được video

Kích hoạt Nhấn vào nút chia sẻ video

Trang 34

Tiền điều kiện Người dùng đã đăng nhập vào hệ thống

Đảm bảo tối thiểu Hệ thống thoát khỏi hộp thoại chia sẻ video và

quay lui lại bước trướcĐảm bảo thành công Yêu thích video

Chuỗi sự kiến chính:

1 Nhấn vào nút yêu thích video

2 Hệ thống xác minh, trả về trạng thái: thành công hoặc thất bạiNgoại lệ:

Không có mạng

d Bình luận video

Tên Use Case Bình luận video

Tác nhân chính Người dùng

Tiền điều kiện Người dùng đã đăng nhập vào hệ thống

Đảm bảo tối thiểu Nội dung không rỗng

Đảm bảo thành công Bình luận video

Kích hoạt Nhập nội dung và submit

Chuỗi sự kiến chính:

1 Nhập nội dung nhấn gửi

2 Hệ thống kiếm tra kết quả nhập liệu có phù hợp hay không

3 Hệ thống trả về trạng thái thành công hay thất bại

Ngoại lệ:

Không có mạng

2.2.4 Sơ đồ usecase phân rã tương tác với User

Trang 35

Hình 2.4 Sơ đồ usecase phân rã tương tác user

a Theo dõi người dùng

Tên Use Case Theo dõi user

Tác nhân chính Người dùng

Tiền điều kiện Người dùng phải đăng nhậpĐảm bảo tối thiểu Chưa theo dõi

Đảm bảo thành công Theo dõi hoạt động của user

Chuỗi sự kiến chính:

1 Người dùng nhấn nút follow

2 Hệ thống kiểm tra người dùng đã được theo dõi chưa

3 Hệ thông trả về thành công hay thất bại

Ngoại lệ:

Không có mạng

b Chat

Trang 36

Tên Use Case Trò truyện cùng bạn bè

Tác nhân chính User và mộtUser khác

Tiền điều kiện Cả hai User phải đăng nhập

Đảm bảo tối thiểu User A hoặc User B nhắn tin trước

Đảm bảo thành công User A và B có thể liên kết với nhau để tạo thành

một cuộc hội thoại giữa hai người (conversaion)Kích hoạt Bấm vào sự kiện chat với hai User khác

Chuỗi sự kiến chính:

1 Nhấn vào các sự kiện để vào được inbox

2 User A có thể gửi được tin nhắn sang User B

3 User B có thể nhận được tin nhắn từ User A

4 User B có thể gửi tin nhắn cho User A

5 User A có thể nhận được tin nhắn từ User B

Ngoại lệ:

Không có mạng

c Trả lời bình luận

Tên Use Case Trả lời bình luận của user khác

Tác nhân chính Trả lời bình luận, Bấm yêu thích nội dung bình luận

của ai đóTiền điều kiện User phải đăng nhập

Đảm bảo tối thiểu Không để comment trống không có nội dung

Đảm bảo thành công Phản hồibình luận được xem ở phía bên dưới nội

dung comment hoặc trong phần chi tiết commentKích hoạt Bấm vào nút OK để gửi nội dung comment request

cho hệ thống xử lýChuỗi sự kiến chính:

1 Người dùngn hập nội dung

2 Hệ thống kiểm tra nội dung sai phạm

3 Hệ thống trả về thành công hay thất bại

Ngoại lệ:

Không có mạng

d Xem trang cá nhân

Tên Use Case Xem trang cá nhân

Trang 37

Tác nhân chính Người dùng

Tiền điều kiện User đã đăng nhập vào hệ thống

Đảm bảo tối thiểu

Đảm bảo thành công Người dùng xem trang cá nhân của User khác

Xem video của User

Xem video yêu thích của UserXem thần tượng của UserXem những User thần tượng lại User nàyKích hoạt Bấm vào Avatar để di chuyển sang màn hình xem trang cá

nhânChuỗi sự kiến chính:

1 Click vào avatar

2 Xem được thông tin của user

Ngoại lệ:

Không có mạng

2.1.5 Sơ đồ usecase phân rã quản lý user

Hình 2.5 Sơ đồ usecase quản lý user

a Thêm user

Trang 38

Tên Use Case Thêm user

Tiền điều kiện Admin đã đăng nhập

Đảm bảo tối thiểu Được phân quyền adminĐảm bảo thành công Thêm User thành công

Kích hoạt Thêm User vào bảng userChuỗi sự kiến chính:

1 Nhập đầy đủ thông tin của user

2 Hệ thống kiểm nội dung vi phạm

3 Hệ thống trả về them user thành công hay thất bạiNgoại lệ:

Không có mạng

b Sửa user

Tiền điều kiện Admin đã đăng nhập

Đảm bảo tối thiểu Được phân quyền adminĐảm bảo thành công Sửa User thành công

Kích hoạt Update User vào bảng userChuỗi sự kiến chính:

1 Nhập đầy đủ thông tin của user

2 Hệ thống kiểm tra sai phạm

3 Hệ thống trả về thành công hay thất bại

Tiền điều kiện Admin đã đăng nhập

Đảm bảo tối thiểu Được phân quyền xóa UserĐảm bảo thành công Xóa User thành công

Kích hoạt Xóa User khỏi bảng user

Trang 39

Chuỗi sự kiến chính:

1 Chọn User cần xóa

2 Hệ thống kiểm tra quyền

3 Hệ thống trả về thành công thay thất bại

Tiền điều kiện Admin đã đăng nhập

Đảm bảo tối thiểu User tồn tại trong hệ thống

Đảm bảo thành công Trả về thông tin của user

Kích hoạt Tìm kiếm theo các thông tin mà user có

Chuỗi sự kiến chính:

1 Nhập nội dung tìm kiếm

2 Kiểm tra thông tin có từ khóa tìm kiếm

3 Trả về kết quả hay thông báo không tìm thấy người dùng với từkhóa tìm kiếm đó

Ngoại lệ: không tìm thấy user theo ký tự

Không có mạng

2.1.6 Sơ đồ usecase phân rã quản lý video

Trang 40

Hình 2.6 Sơ đồ usecase quản lý video

a Xem video

Tác nhân chính Người dùng

Tiền điều kiện Người dùng đã đăng nhập vào hệ thống

Đảm bảo tối thiểu Hệ thống thoát khỏi video đang xem và quay lui

lại bước trướcĐảm bảo thành công Xem được video

Tiền điều kiện Admin đã đăng nhập vào hệ thống

Đảm bảo tối thiểu Hệ thống thoát khỏi video đang xem và quay lui

lại bước trướcĐảm bảo thành công Xóa video khỏi cơ sở dữ liệu

Ngoại lệ:

Ngày đăng: 03/07/2017, 13:34

HÌNH ẢNH LIÊN QUAN

Hình 1.5: Activity life cycler - PHÁT TRIỂN ỨNG DỤNG GIẢI TRÍ TRÊN NỀN TẢNG ANDROID
Hình 1.5 Activity life cycler (Trang 16)
2.2.3. Sơ đồ usecase phân rã tương tác với video - PHÁT TRIỂN ỨNG DỤNG GIẢI TRÍ TRÊN NỀN TẢNG ANDROID
2.2.3. Sơ đồ usecase phân rã tương tác với video (Trang 23)
Hình 2.3 Sơ đồ usecase phân rã tương tác video - PHÁT TRIỂN ỨNG DỤNG GIẢI TRÍ TRÊN NỀN TẢNG ANDROID
Hình 2.3 Sơ đồ usecase phân rã tương tác video (Trang 24)
2.2.4. Sơ đồ usecase phân rã tương tác với User - PHÁT TRIỂN ỨNG DỤNG GIẢI TRÍ TRÊN NỀN TẢNG ANDROID
2.2.4. Sơ đồ usecase phân rã tương tác với User (Trang 25)
2.1.6. Sơ đồ usecase phân rã quản lý video - PHÁT TRIỂN ỨNG DỤNG GIẢI TRÍ TRÊN NỀN TẢNG ANDROID
2.1.6. Sơ đồ usecase phân rã quản lý video (Trang 30)
Hình 2.7 Sơ đồ usecase quản lý nhạc - PHÁT TRIỂN ỨNG DỤNG GIẢI TRÍ TRÊN NỀN TẢNG ANDROID
Hình 2.7 Sơ đồ usecase quản lý nhạc (Trang 32)
Hình 2.12 sơ đồ cộng tác quay video - PHÁT TRIỂN ỨNG DỤNG GIẢI TRÍ TRÊN NỀN TẢNG ANDROID
Hình 2.12 sơ đồ cộng tác quay video (Trang 38)
Hình 2.16sơ đồ lớp tổng quan - PHÁT TRIỂN ỨNG DỤNG GIẢI TRÍ TRÊN NỀN TẢNG ANDROID
Hình 2.16s ơ đồ lớp tổng quan (Trang 41)
Hình 2.23 class messenger - PHÁT TRIỂN ỨNG DỤNG GIẢI TRÍ TRÊN NỀN TẢNG ANDROID
Hình 2.23 class messenger (Trang 51)
Hình 3.1 mô hình hệ thống My Vid - PHÁT TRIỂN ỨNG DỤNG GIẢI TRÍ TRÊN NỀN TẢNG ANDROID
Hình 3.1 mô hình hệ thống My Vid (Trang 53)
Hình 3.2 Mô hình MVP - PHÁT TRIỂN ỨNG DỤNG GIẢI TRÍ TRÊN NỀN TẢNG ANDROID
Hình 3.2 Mô hình MVP (Trang 54)
Hình Màn hình sliding menu - PHÁT TRIỂN ỨNG DỤNG GIẢI TRÍ TRÊN NỀN TẢNG ANDROID
nh Màn hình sliding menu (Trang 59)
Hình Màn hình home - PHÁT TRIỂN ỨNG DỤNG GIẢI TRÍ TRÊN NỀN TẢNG ANDROID
nh Màn hình home (Trang 60)
Hình Màn hình thông báo - PHÁT TRIỂN ỨNG DỤNG GIẢI TRÍ TRÊN NỀN TẢNG ANDROID
nh Màn hình thông báo (Trang 61)
Hình chi tiết bình luận - PHÁT TRIỂN ỨNG DỤNG GIẢI TRÍ TRÊN NỀN TẢNG ANDROID
Hình chi tiết bình luận (Trang 67)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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