BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
——————————-
ISO 9001:2015
ĐỒ ÁN TỐT NGHIỆP
NGÀNH: CÔNG NGHỆ THÔNG TIN
Sinh viên : Cao Tuấn Nghĩa
Giảng viên hướng dẫn: ThS. Phùng Anh Tuấn
HẢI PHÒNG – 2019
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
———————————–
XÂY DỰNG ỨNG DỤNG ANDROID XEM VIDEO
TRỰC TUYẾN
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
NGÀNH: CÔNG NGHỆ THÔNG TIN
Sinh viên : Cao Tuấn Nghĩa
Giảng viên hướng dẫn: ThS. Phùng Anh Tuấn
HẢI PHÒNG – 2019
QC20-B19
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
————————————–
NHIỆM VỤ ĐỀ TÀI TỐT NGHIỆP
Sinh viên: Cao Tuấn Nghĩa Mã SV: 1412101091
Lớp: CT1801 Ngành: Công nghệ thông tin
Tên đề tài: Xây dựng ứng dụng Android xem video trực tuyến
QC20-B19
NHIỆM VỤ ĐỀ TÀI
1. Nội dung và các yêu cầu cần giải quyết trong nhiệm vụ đề tài tốt nghiệp
– a. Nội dung:
– Tìm hiểu hệ điều hành android.
– Tìm hiểu môi trường lập trình Android Studio.
– Tìm hiểu kỹ thuật phát video trên internet thông qua đường dẫn.
– Tìm hiểu hosting, xây dựng kho lưu trữ video trực tuyến trên hosting.
– Xây dựng chương trình xem video trực tuyến chạy trên điện thoại
Android
– b. Các yêu cầu cần giải quyết
– Sử dụng công cụ Android Studio để viết chương trình chạy trên điện
thoại android.
– Tạo hosting miễn phí.
– Xây dựng kho lưu trữ video trên hosting.
– Xây dựng được chương trình có một số chức năng cơ bản xem video
trực tuyến, đóng gói chương trình thành file *.apk cho phép cài đặt và
chạy trên điện thoại android thật..
– 2. Các số liệu cần thiết để thiết kế, tính toán
– Sử dụng số liệu thực tế trên Internet.
– 3. Địa điểm thực tập
Trường Đại học Dân lập Hải Phòng.
QC20-B19
CÁN BỘ HƯỚNG DẪN ĐỀ TÀI TỐT NGHIỆP
Người hướng dẫn thứ nhất:
Họ và tên: Phùng Anh Tuấn.
Học hàm, học vị: Thạc sỹ.
Cơ quan công tác: Trường Đại học Dân lập Hải Phòng.
Nội dung hướng dẫn:
– Tìm hiểu hệ điều hành android.
– Tìm hiểu môi trường lập trình Android Studio.
– Tìm hiểu kỹ thuật phát video trên internet thông qua đường dẫn.
– Tìm hiểu hosting, xây dựng kho lưu trữ video trực tuyến trên hosting.
– Xây dựng chương trình xem video trực tuyến chạy trên điện thoại Android.
Người hướng dẫn thứ hai:
Họ và tên: Học hàm, học vị
Cơ quan công tác: Nội dung hướng dẫn:
………………………………………………………………………………
………………………………………………………………………………
Đề tài tốt nghiệp được giao ngày 15 tháng 10 năm 2018
Yêu cầu phải hoàn thành trước ngày 07 tháng 01 năm 2019
Đã nhận nhiệm vụ: Đ.T.T.N
Sinh viên
Đã nhận nhiệm vụ: Đ.T.T.N
Cán bộ hướng dẫn Đ.T.T.N
Hải Phòng, ngày …………tháng………năm 2019
Hiệu trưởng
GS.TS.NGƯT Trần Hữu Nghị
QC20-B19
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN TỐT NGHIỆP
Họ và tên giảng viên: Phùng Anh Tuấn.
Đơn vị công tác: Trường Đại học Dân lập Hải Phòng.
Họ và tên sinh viên: Cao Tuấn Nghĩa.
Ngành: Công Nghệ Thông Tin.
Nội dung hướng dẫn:
Tìm hiểu hệ điều hành android.
– Tìm hiểu môi trường lập trình Android Studio.
– Tìm hiểu kỹ thuật phát video trên internet thông qua đường dẫn.
– Tìm hiểu hosting, xây dựng kho lưu trữ video trực tuyến trên hosting.
– Xây dựng chương trình xem video trực tuyến chạy trên điện thoại Android.
1. Tinh thần thái độ của sinh viên trong quá trình làm đề tài tốt nghiệp
– Có nghiên cứu tài liệu phục vụ cho nội dung đồ án.
– Có khả năng làm việc độc lập.
– Chưa nghiêm túc tuân thủ lịch làm việc với cán bộ hướng dẫn.
2. Đánh giá chất lượng của đồ án/khóa luận (so với nội dung yêu cầu đã đề ra trong
nhiệm vụ Đ.T. T.N trên các mặt lý luận, thực tiễn, tính toán số liệu…)
– Đã thực hiện được các nội dung đề ra trong đề cương.
– Nội dung đồ án có tính thực tế.
– Cần trình bày nội dung đồ án logic hơn.
3. Ý kiến của giảng viên hướng dẫn tốt nghiệp
Đạt
Không đạt
Điểm:………………………………………
Hải Phòng, ngày ..… tháng 01 năm 2019
Giảng viên hướng dẫn
(Ký và ghi rõ họ tên)
QC20-B19
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN CHẤM PHẢN BIỆN
Họ và tên giảng viên: ……………………………………………………………
Đơn vị công tác: …………………………………………………………………
Họ và tên sinh viên: ……………………………… Ngành: ……………………
Đề tài tốt nghiệp: …………………………………………………………………
……………………………………………………………………………………
1. Phần nhận xét của giảng viên chấm phản biện
………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………….
2. Những mặt còn hạn chế
………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………….
3. Ý kiến của giảng viên chấm phản biện
Được
bảo
vệ
Không được bảo vệ
Điểm:…………………………….
Hải Phòng, ngày …… tháng 01 năm 2019
Giảng viên chấm phản biện
(Ký và ghi rõ họ tên)
MỤC LỤC
LỜI CẢM ƠN…………………………………………………………………………………………………. 11
CHƯƠNG 1: GIỚI THIỆU HỆ ĐIỀU HÀNH ANDROID ………………………………. 12
1.1. Lịch sử ra đời. ……………………………………………………………………………………….. 12
1.2. Giao diện Android. ………………………………………………………………………………… 13
1.3. Nhân Linux. ………………………………………………………………………………………….. 14
1.4. Quản lý bộ nhớ.
……………………………………………………………………………………… 16
1.5. Lịch cập nhập.
……………………………………………………………………………………….. 16
1.6. Cộng đồng mã nguồn mở. ………………………………………………………………………. 17
1.7. Bảo mật và tính riêng tư. ………………………………………………………………………… 18
1.8. Các phiên bản của Android. ……………………………………………………………………. 19
CHƯƠNG 2: MÔI TRƯỜNG ANDROID STUDIO
………………………………………… 23
2.1. Giới thiệu Android Studio. ……………………………………………………………………… 23
2.2. Cài đặt môi trường Android Studio.
…………………………………………………………. 23
2.2.1. Cấu hình tối thiểu cài đặt Android Studio. …………………………………………. 23
2.2.2. Các bước cài đặt. …………………………………………………………………………….. 23
2.3. Cấu trúc dự án Android trong ANDROID STUDIO. …………………………………. 30
2.3.1. Tạo mới một project. ……………………………………………………………………….. 31
2.3.2. Màn hình làm việc của Android Studio. …………………………………………….. 34
2.4. Thành phần giao diện trong Android Studio.
…………………………………………….. 36
2.4.1. Thành phần hiển thị. ………………………………………………………………………… 36
2.4.2. Một số nhóm hiển thị cơ bản.
……………………………………………………………. 37
2.5. Bắt và xử lý sự kiện trên giao diện.
………………………………………………………….. 38
2.6. Vòng đời ứng dụng Android……………………………………………………………………. 39
2.7. Thành phần Intent. …………………………………………………………………………………. 41
CHƯƠNG 3: CÁC KỸ THUẬT XÂY DỰNG ỨNG DỤNG XEM VIDEO TRỰC
TUYẾN
…………………………………………………………………………………………………………… 43
3.1. Dịch vụ web và cơ sở dữ liệu trên internet. ………………………………………………. 43
3.2. Một số kỹ thuật lập trình cơ sở dữ liệu trên internet.
………………………………….. 50
3.2.1. Xây dựng Webservice. …………………………………………………………………….. 50
3.2.2. Kỹ thuật kiểm tra cấp quyền kết nối internet thiết bị di động. ………………. 56
3.2.3. Kỹ thuật lấy dữ liệu từ CSDL trên internet về thiết bị di động. …………….. 57
3.2.4. Bắt và xử lý sự kiện click. ………………………………………………………………… 64
CHƯƠNG 4: CHƯƠNG TRÌNH THỰC NGHIỆM ………………………………………… 75
4.1. Bài toán. ……………………………………………………………………………………………….. 75
4.2. Mô hình chương trình. ……………………………………………………………………………. 75
4.3. Các bước xây dựng ứng dụng Android xem video trực tuyến. ……………………. 76
4.4. Giao diện chương trình. ………………………………………………………………………….. 77
KẾT LUẬN
…………………………………………………………………………………………………….. 80
TÀI LIỆU THAM KHẢO……………………………………………………………………………….. 81
Đồ án tốt nghiệp Xây dựng ứng dụng Android xem video trực tuyến
Sinh viên: Cao Tuấn Nghĩa
11
LỜI CẢM ƠN
Lời đầu tiên, em xin gửi tới các thầy cô khoa Công nghệ – Thông tin Trường Đại
Học Dân Lập Hải Phòng lời chào trân trọng, lời chúc sức khỏe và lời cảm ơn sâu
sắc. Thầy cô đã trang bị cho em những kiến thức cơ bản nhất để em có thể hoàn thành
tốt đồ án: “Xây dựng ứng dụng android xem video trực tuyến”.
Đặc biệt em xin gửi lời cảm ơn chân thành nhất tới thầy ThS. Phùng Anh Tuấn
đã quan tâm giúp đỡ, hướng dẫn em hoàn thành tốt đồ án này trong suốt thời gian qua.
Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế của một sinh viên, đồ
án này không thể tránh khỏi nhưng thiếu sót. Em rất mong nhận được sự chỉ bảo, đóng
góp ý kiến của thầy cô để em có thể bổ sung, phục vụ tốt cho công việc thực tế sau
này.
Xin chân thành cảm ơn!
Sinh viên
Cao Tuấn Nghĩa
Đồ án tốt nghiệp Xây dựng ứng dụng Android xem video trực tuyến
Sinh viên: Cao Tuấn Nghĩa
12
CHƯƠNG 1: GIỚI THIỆU HỆ ĐIỀU HÀNH ANDROID
1.1. Lịch sử ra đời.
Vào tháng 10/2003, trước khi thuật ngữ “điện thoại thông minh” được hầu hết
công chúng sử dụng và vài năm trước khi Apple công bố iPhone đầu tiên và hệ điều
hành iOS, công ty Android Inc được thành lập ở Palo Alto, California. Bốn người sáng
lập là Rich Miner, Nick Sears, Chris White và Andy Rubin. Vào thời điểm thành lập,
ông Rubin nói rằng Android Inc sẽ phát triển “thiết bị di động thông minh hơn hơn về
vị trí và sở thích của chủ sở hữu” [1].
Theo PC World, Rubin sau này đã tiết lộ trong một bài phát biểu vào năm 2013
tại Tokyo rằng hệ điều hành Android đã được ra mắt để cải thiện hệ điều hành của máy
ảnh số. Rõ ràng, nhóm nghiên cứu tại Android đã không nghĩ ngay từ đầu về việc tạo
ra một hệ điều hành có thể phục vụ như phần cốt lõi của một hệ thống máy tính di
động hoàn chỉnh.
Nhưng sau đó, thị trường máy ảnh kỹ thuật số giảm sút, Android Inc đã quyết
định chuyển sang hệ điều hành trên điện thoại di động. Như Rubin đã nói vào năm
2013, “Cùng một nền tảng, cùng hệ điều hành chúng tôi xây dựng cho máy ảnh, nó đã
trở thành Android cho điện thoại di động.”
Năm 2005, chương lớn tiếp theo trong lịch sử của Android được thực hiện khi
Google mua lại công ty gốc. Ông Andy Rubin và các thành viên sáng lập khác vẫn tiếp
tục phát triển hệ điều hành dưới quyền chủ sở hữu mới của họ. Quyết định này được
đưa ra để sử dụng Linux làm nền tảng cho hệ điều hành Android và điều đó cũng có
nghĩa là Android sẽ được cung cấp miễn phí cho các nhà sản xuất điện thoại di động
của bên thứ ba. Google và nhóm Android cảm thấy công ty có thể kiếm tiền với các
dịch vụ khác sử dụng hệ điều hành, bao gồm cả ứng dụng.
Năm 2007, Apple công bố chiếc iPhone đầu tiên với thế giới và đã tự tay thiết lập
một kỷ nguyên mới dành cho điện toán di động. Cùng thời điểm, Google vẫn đang làm
việc hết công suất với Android và đảm bảo mọi thông tin đều tuyệt mật. Đến tháng 11
cùng năm, công ty bắt đầu từ từ hé lộ kê hoạch cạnh tranh “thẳng mặt” với Apple và
Đồ án tốt nghiệp Xây dựng ứng dụng Android xem video trực tuyến
Sinh viên: Cao Tuấn Nghĩa
13
các nền tảng di động khác. Google đã tận dụng sự hình thành của một thứ có tên là
Liên minh Thiết bị cầm tay Mở (Open Handset Alliance), vốn dĩ có sự góp mặt của
nhiều nhà sản xuất điện thoại như HTC, Motorola, nhà sản xuất chip như Qualcomm
và Texas Instruments, cũng như nhà mạng lớn như T-Mobile.
Hệ điều hành Android được chính thức ra mắt từ năm 2007 cùng với tuyên bố
thành lập Liên minh thiết bị cầm tay mở. Tháng 9/2008, smartphone chạy Android đầu
tiên đã trình làng – T-Mobile G1, có tên khác là HTC Dream. Vào thời gian đầu, rất
nhiều tính năng cơ bản bị thiếu sót như: bàn phím ảo, cảm ứng đa điểm và tính năng
mua ứng dụng vẫn chưa xuất hiện. Tuy nhiên, một số tính năng cũng như giao diện
đặc sản của hệ điều hành này đã khởi nguồn từ chiếc G1 và trở thành những yếu tố
không thể thiếu trên Android sau này.
1.2. Giao diện Android.
Giao diện người dùng của Android dựa trên nguyên tắc tác động trực tiếp, sử
dụng cảm ứng chạm tương tự như những động tác ngoài đời thực như vuốt, chạm, kéo
giãn và thu lại để xử lý các đối tượng trên màn hình [2]. Sự phản ứng với tác động của
người dùng diễn ra gần như ngay lập tức, nhằm tạo ra giao diện cảm ứng mượt mà,
thường dùng tính năng rung của thiết bị để tạo phản hồi rung cho người dùng. Những
thiết bị phần cứng bên trong như gia tốc kế, con quay hồi chuyển và cảm biến khoảng
cách được một số ứng dụng sử dụng để phản hồi một số hành động khác của người
dùng, ví dụ như điều chỉnh màn hình từ chế độ hiển thị dọc sang chế độ hiển thị ngang
tùy theo vị trí của thiết bị, hoặc cho phép người dùng lái xe đua bằng xoay thiết bị,
giống như đang điều khiển vô-lăng.
Các thiết bị Android sau khi khởi động sẽ hiển thị màn hình chính, điểm khởi đầu
với các thông tin chính trên thiết bị, tương tự như khái niệm desktop (bàn làm việc)
trên máy tính để bàn. Màn hính chính Android thường gồm nhiều biểu tượng (icon) và
tiện ích (widget); biểu tượng ứng dụng sẽ mở ứng dụng tương ứng, còn tiện ích hiển
thị những nội dung sống động, cập nhật tự động như dự báo thời tiết, hộp thư của
người dùng, hoặc những mẩu tin thời sự ngay trên màn hình chính. Màn hình chính có
Đồ án tốt nghiệp Xây dựng ứng dụng Android xem video trực tuyến
Sinh viên: Cao Tuấn Nghĩa
14
thể gồm nhiều trang xem được bằng cách vuốt ra trước hoặc sau, mặc dù giao diện
màn hình chính của Android có thể tùy chỉnh ở mức cao, cho phép người dùng tự do
sắp đặt hình dáng cũng như hành vi của thiết bị theo sở thích. Những ứng dụng do các
hãng thứ ba có trên Google Play và các kho ứng dụng khác còn cho phép người dùng
thay đổi “chủ đề” của màn hình chính, thậm chí bắt chước hình dáng của hệ điều hành
khác như Windows Phone chẳng hạn. Phần lớn những nhà sản xuất, và một số nhà
mạng, thực hiện thay đổi hình dáng và hành vi của các thiết bị Android của họ để phân
biệt với các hãng cạnh tranh.
Ở phía trên cùng màn hình là thanh trạng thái, hiển thị thông tin về thiết bị và
tình trạng kết nối. Thanh trạng thái này có thể “kéo” xuống để xem màn hình thông
báo gồm thông tin quan trọng hoặc cập nhật của các ứng dụng, như email hay tin
nhắn SMS mới nhận, mà không làm gián đoạn hoặc khiến người dùng cảm thấy bất
tiện. Trong các phiên bản đời đầu, người dùng có thể nhấn vào thông báo để mở ra ứng
dụng tương ứng, về sau này các thông tin cập nhật được bổ sung thêm tính năng, như
có khả năng lập tức gọi ngược lại khi có cuộc gọi nhỡ mà không cần phải mở ứng
dụng gọi điện ra. Thông báo sẽ luôn nằm đó cho đến khi người dùng đã đọc hoặc xóa
nó đi.
1.3. Nhân Linux.
Android có một hạt nhân dựa trên nhân Linux phiên bản 2.6, kể từ Android
4.0 Ice Cream Sandwich (bánh ngọt kẹp kem) trở về sau, là phiên bản 3.x,
với middleware, thư viện và API viết bằng C, còn phần mềm ứng dụng chạy trên
một nền tảng ứng dụng gồm các thư viện tương thích với Java dựa trên Apache
Harmony. Android sử dụng máy ảo Dalvik với một trình biên dịch động để chạy ‘mã
dex’ (Dalvik Executable) của Dalvik, thường được biên dịch sang Java bytecode. Nền
tảng phần cứng chính của Android là kiến trúc ARM. Người ta cũng hỗ trợ x86 thông
qua dự án Android x86, và Google TV cũng sử dụng một phiên bản x86 đặc biệt của
Android.
Đồ án tốt nghiệp Xây dựng ứng dụng Android xem video trực tuyến
Sinh viên: Cao Tuấn Nghĩa
15
Nhân Linux dùng cho Android đã được Google thực hiện nhiều thay đổi về kiến
trúc so với nhân Linux gốc. Android không có sẵn X Window System cũng không hỗ
trợ các thư viện GNU chuẩn, nên việc chuyển các ứng dụng hoặc thư viện Linux có
sẵn sang Android rất khó khăn. Các ứng dụng C đơn giản và SDL cũng được hỗ trợ
bằng cách chèn những đoạn shim Java và sử dụng tương tự JNI, như khi người ta
chuyển Jagged Alliance 2 sang Android.
Một số tính năng cũng được Google đóng góp ngược vào nhân Linux, đáng chú ý
là tính năng quản lý nguồn điện có tên wakelock, nhưng bị những người lập trình
chính cho nhân từ chối vì họ cảm thấy Google không có định sẽ tiếp tục bảo trì đoạn
mã do họ viết. Google thông báo vào tháng 4 năm 2010 rằng họ sẽ thuê hai nhận viên
để làm việc với cộng đồng nhân Linux, nhưng Greg Kroah-Hartman, người bảo trì
nhân Linux hiện tại của nhánh ổn định, đã nói vào tháng 12 năm 2010 rằng ông ta lo
ngại rằng Google không còn muốn đưa những thay đổi của mình vào Linux dòng
chính nữa. Một số lập trình viên Android của Google tỏ ý rằng “nhóm Android thấy
chán với quy trình đó,” vì nhóm họ không có nhiều người và có nhiều việc khẩn cấp
cần làm với Android hơn.
Vào tháng 12 năm 2011, nhắm tới việc đưa một số driver, bản vá và tính năng
của Android ngược vào nhân Linux, bắt đầu từ Linux 3.3. Linux cũng đưa tính năng
autosleep (tự nghỉ hoạt động) và wakelocks vào nhân 3.5, sau nhiều nỗ lực phối trộn
trước đó. Tương tác thì vẫn vậy nhưng bản hiện thực trên Linux dòng chính cho phép
hai chế độ nghỉ: bộ nhớ (dạng nghỉ truyền thống mà Android sử dụng), và đĩa (là ngủ
đông trên máy tính để bàn). Việc trộn sẽ hoàn tất kể từ nhân 3.8, Google đã công khai
kho mã nguồn trong đó có những đoạn thử nghiệm đưa Android về lại nhân 3.8.
Việc Android có được xem là một bản phân phối Linux hay không vẫn còn là
vấn đề gây tranh cãi, tuy được Linux Foundation và Chris DiBona, trưởng nhóm mã
nguồn mở Google, ủng hộ. Một số khác, như linux-magazine.com thì không đồng ý,
do Android không không hỗ trợ nhiều công cụ GNU, trong đó có glibc.
Đồ án tốt nghiệp Xây dựng ứng dụng Android xem video trực tuyến
Sinh viên: Cao Tuấn Nghĩa
16
1.4. Quản lý bộ nhớ.
Vì các thiết bị Android chủ yếu chạy bằng pin, nên Android được thiết kế để
quản lý bộ nhớ (RAM) để giảm tối đa tiêu thụ điện năng, trái với hệ điều hành máy
tính để bàn luôn cho rằng máy tính sẽ có nguồn điện không giới hạn. Khi một ứng
dụng Android không còn được sử dụng, hệ thống sẽ tự động ngưng nó trong bộ nhớ –
trong khi ứng dụng về mặt kỹ thuật vẫn “mở”, những ứng dụng này sẽ không tiêu thụ
bất cứ tài nguyên nào (như năng lượng pin hay năng lượng xử lý) và nằm đó cho đến
khi nó được cần đến. Cách làm như vậy có lợi kép là vừa làm tăng khả năng phản hồi
nói chung của thiết bị Android, vì ứng dụng không nhất phải đóng rồi mở lại từ đầu,
vừa đảm bảo các ứng dụng nền không làm tiêu hao năng lượng một cách không cần
thiết.
Android quản lý các ứng dụng trong bộ nhớ một cách tự động: khi bộ nhớ thấp,
hệ thống sẽ bắt đầu diệt ứng dụng và tiến trình không hoạt động được một thời gian,
sắp theo thời điểm cuối mà chúng được sử dụng (tức là cũ nhất sẽ bị tắt trước). Tiến
trình này được thiết kế ẩn đi với người dùng, để người dùng không cần phải quản lý bộ
nhớ hoặc tự tay tắt các ứng dụng. Tuy nhiên, sự che giấu này của hệ thống quản lý bộ
nhớ Android đã dẫn đến sự thịnh hành của các ứng dụng tắt chương trình của bên thứ
ba trên cửa hàng Google Play; những ứng dụng kiểu như vậy được cho là có hại nhiều
hơn có lợi.
1.5. Lịch cập nhập.
Google đưa ra các bản cập nhật lớn cho Android theo chu kỳ từ 6 đến 9 tháng,
mà phần lớn thiết bị đều có thể nhận được qua sóng không dây. Bản cập nhật lớn mới
nhất là Android 9.0 P.
So với các hệ điều hành cạnh tranh khác, như iOS, các bản cập nhật Android
thường mất thời gian lâu hơn để đến với các thiết bị. Với những thiết bị không thuộc
dòng Nexus và Pixel, các bản cập nhật thường đến sau vài tháng kể từ khi phiên bản
được chính thức phát hành. Nguyên nhân của việc này một phần là do sự phong phú
về phần cứng của các thiết bị Android, nên người ta phải mất thời gian điều chỉnh bản
Đồ án tốt nghiệp Xây dựng ứng dụng Android xem video trực tuyến
Sinh viên: Cao Tuấn Nghĩa
17
cập nhật cho phù hợp, vì mã nguồn chính thức của Google chỉ chạy được trên những
thiết bị Nexus chủ lực của họ. Chuyển Android sang những phần cứng cụ thể là một
quy trình tốn thời gian và công sức của các nhà sản xuất thiết bị, những người luôn ưu
tiên các thiết bị mới nhất và thường bỏ rơi các thiết bị cũ hơn. Do đó, những chiếc điện
thoại thông minh thế hệ cũ thường không được cập nhật nếu nhà sản xuất quyết định
rằng nó không đáng để bỏ thời gian, bất kể chiếc điện thoại đó có khả năng chạy bản
cập nhật hay không. Vấn đề này còn trầm trọng hơn khi những nhà sản xuất điều chỉnh
Android để đưa giao diện và ứng dụng của họ vào, những thứ này cũng sẽ phải làm lại
cho mỗi bản cập nhật. Sự chậm trễ còn được đóng góp bởi nhà mạng, sau khi nhận
được bản cập nhật từ nhà sản xuất, họ còn điều chỉnh thêm cho phù hợp với nhu cầu
rồi thử nghiệm kỹ lưỡng trên hệ thống mạng của họ trước khi chuyển nó đến người
dùng.
1.6. Cộng đồng mã nguồn mở.
Android có một cộng đồng các lập trình viên và những người đam mê rất năng
động. Họ sử dụng mã nguồn Android để phát triển và phân phối những phiên bản
chỉnh sửa của hệ điều hành. Các bản Android do cộng đồng phát triển thường đem
những tính năng và cập nhật mới vào nhanh hơn các kênh chính thức của nhà sản
xuất/nhà mạng, tuy không được kiểm thử kỹ lưỡng cũng như không có đảm bảo chất
lượng; cung cấp sự hỗ trợ liên tục cho các thiết bị cũ không còn nhận được bản cập
nhật chính thức; hoặc mang Android vào những thiết bị ban đầu chạy một hệ điều
hành khác, như HP Touchpad. Các bản Android của cộng đồng thường được root sẵn
và có những điều chỉnh không phù hợp với những người dùng không rành rẽ, như khả
năng ép xung hoặc tăng/giảm áp bộ xử lý của thiết bị. CyanogenMod là firmware của
cộng đồng được sử dụng phổ biến nhất, và hoạt động như một tổ chức của số đông
khác.
Trước đây, nhà sản xuất thiết bị và nhà mạng tỏ ra thiếu thiện chí với việc phát
triển firmware của bên thứ ba. Những nhà sản xuất còn thể hiện lo ngại rằng các thiết
bị chạy phần mềm không chính thức sẽ hoạt động không tốt và dẫn đến tốn tiền hỗ
Đồ án tốt nghiệp Xây dựng ứng dụng Android xem video trực tuyến
Sinh viên: Cao Tuấn Nghĩa
18
trợ. Hơn nữa, các firmware đã thay đổi như CyanogenMod đôi khi còn cung cấp
những tính năng, như truyền tải mạng (tethering), mà người dùng bình thường phải trả
tiền nhà mạng mới được sử dụng. Kết quả là nhiều thiết bị bắt đầu đặt ra hàng rào kỹ
thuật như khóa bootloaderhay hạn chế quyền truy cập root. Tuy nhiên, khi phần mềm
do cộng đồng phát triển ngày càng trở nên phổ biến, và sau một thông cáo của Thư
viện Quốc hội Hoa Kỳ cho phép “jailbreak” (vượt ngục) thiết bị di động, các nhà sản
xuất và nhà mạng đã tỏ ra mềm mỏng hơn với các nhà phát triển thứ ba, thậm chí một
số hãng như HTC, Motorola, Samsung và Sony, còn hỗ trợ và khuyến khích phát triển.
Kết quả của việc này là dần dần nhu cầu tìm ra các hạn chế phần cứng để cài đặt được
firmware không chính thức đã bớt đi do ngày càng nhiều thiết bị được phát hành
với bootloader đã mở khóa sẵn hoặc có thể mở khóa, tương tự như điện thoại
dòng Nexus, tuy rằng thông thường họ sẽ yêu cầu người dùng từ bỏ chế độ bảo hành
nếu họ làm như vậy. Tuy nhiên, tuy được sự chấp thuận của nhà sản xuất, một số nhà
mạng tại Mỹ vẫn bắt buộc điện thoại phải bị khóa.
1.7. Bảo mật và tính riêng tư.
Các ứng dụng Android chạy trong một “hộp cát”, là một khu vực riêng rẽ với hệ
thống và không được tiếp cận đến phần còn lại của tài nguyên hệ thống, trừ khi nó
được người dùng trao quyền truy cập một cách công khai khi cài đặt. Trước khi cài đặt
ứng dụng, Cửa hàng Play sẽ hiển thị tất cả cá quyền mà ứng dụng đòi hỏi.
Hệ thống hộp cát và hỏi quyền làm giảm bớt ảnh hưởng của lỗi bảo mật hoặc lỗi
chương trình có trong ứng dụng, nhưng sự bối rối của lập trình viên và tài liệu hướng
dẫn còn hạn chế đã dẫn tới những ứng dụng hay đòi hỏi những quyền không cần thiết,
do đó làm giảm đi hiệu quả của hệ thống này. Một số công ty bảo mật, như Lookout
Mobile Security, AVG Technologies, và McAfee, đã phát hành những phần mềm diệt
virus cho các thiết bị Android. Phần mềm này không có hiệu quả vì cơ chế hộp cát vẫn
áp dụng vào các ứng dụng này, do vậy làm hạn chế khả năng quét sâu vào hệ thống để
tìm nguy cơ.
Đồ án tốt nghiệp Xây dựng ứng dụng Android xem video trực tuyến
Sinh viên: Cao Tuấn Nghĩa
19
Một nghiên cứu của một công ty bảo mật Trend Micro đã liệt kê tình trạng lạm
dụng dịch vụ trả tiền là hình thức phần mềm ác ý phổ biến nhất trên Android, trong đó
tin nhắn SMS sẽ bị gửi đi từ điện thoại bị nhiễm đến một số điện thoại trả tiền mà
người dùng không hề hay biết. Loại phần mềm ác ý khác hiển thị quảng cáo không
mong muốn và gây khó chịu trên thiết bị. Đe dọa bảo mật trên Android được cho là
tăng rất nhanh theo cấp số mũ: tuy nhiên, các kỹ sư Google phản bác rằng hiểm họa từ
phần mềm ác ý và virus đã bị thổi phồng bởi các công ty bảo mật đang lợi dụng sự sợ
hãi để bán phần mềm ác ý thật sự cho người dùng.
Google hiện đang sử dụng bộ quét phần mềm ác ý Google Bouncer để theo dõi
và quét các ứng dụng trên Của hàng Play. Nó sẽ đánh dấu các phần mềm bị nghi ngờ
và cảnh báo người dùng về những vấn đề có thể xảy ra trước khi họ tải nó về máy.
Android phiên bản 4.2 được phát hành vào năm 2012 cùng với các tính năng bảo mật
được cải thiện, bao gồm một bộ quét phần mềm ác ý được cài sẵn trong hệ thống, hoạt
động cùng với Google Play nhưng cũng có thể quét các ứng dụng được cài đặt từ
nguồn thứ ba, và một hệ thống cảnh báo sẽ thông báo cho người dùng một ứng dụng
cố gắng gửi tin nhắn vào số tính tiền, chặn tin nhắn đó lại và trừ khi người dùng công
khai cho phép nó.
Điện thoại thông minh Android có khả năng báo cáo vị trí của điểm truy cập kết
nối WI-FI, phát hiện ra việc di chuyển của người dùng điện thoại, để xây dựng những
cơ sở dữ liệu có chức vị trí của hàng trăm triệu điểm truy cập. Những cơ sở này tạo
nên một bản đồ điện tử để tìm vị trí điện thoại thông minh. Bản chất mã nguồn mở của
Android cho phép những nhà thầu bảo mật lấy những thiết bị sẵn có rồi điều chỉnh để
sử dụng ở mức độ bảo mật cao hơn.
1.8. Các phiên bản của Android.
Gần 10 năm kể từ khi tung ra phiên bản Android đầu tiên năm 2008, hệ điều
hành di động đã vượt qua mốc 2 tỷ thiết bị [3].
Đồ án tốt nghiệp Xây dựng ứng dụng Android xem video trực tuyến
Sinh viên: Cao Tuấn Nghĩa
20
Qua 10 năm phát triển, Google đã ghi được những bước tiến đáng kể, thể hiện ở
con số cứ 10 điện thoại thông minh được bán trên toàn cầu thì có 9 chiếc là chạy hệ
điều hành Android.
– Phiên bản Android 1.0
Android 1.0 (2008) lần đầu tiên phân phối ứng dụng thông qua Android Market
với 35 ứng dụng ra mắt. Google Maps đã sử dụng GPS, Wi-Fi của điện thoại và
Google Maps đã tích hợp sẵn trình duyệt Android.
– Phiên bản Android 1.5 Cupcake.
Android 1.5 Cupcake (2009) là bản cập nhật lớn đầu tiên của Android. Cupcake
đã thêm các tiện ích cho màn hình chính, bàn phím ảo, quay video trong máy ảnh,
chức năng sao chép và dán vào trình duyệt web.
– Phiên bản Android 2.0 Eclair.
Android 2.0 Eclair (2009) hỗ trợ tài khoản Google, cho phép người dùng tìm
kiếm nội dung theo từ khóa trong các tin nhắn văn bản, đồng thời bổ sung hỗ trợ đa
chạm và máy ảnh được cải tiến với đèn flash, zoom số.
– Phiên bản Android 2.2 Froyo.
Android 2.2 Froyo (2010) giới thiệu Flash Player 10.1, cho phép điện thoại phát
video và phát trực tuyến âm thanh. Máy ảnh flash tương thích Bluetooth giúp người
dùng có thể sử dụng điện thoại của mình làm điểm phát sóng Wi-Fi.
– Phiên bản Android 2.3 Gingerbread.
Android 2.3 Gingerbread (2011), Android được biết đến rộng rãi hơn nhờ tính
năng giao tiếp trường gần (NFC), cho phép điện thoại thông minh kết nối với các thiết
bị lân cận khác. Hệ điều hành này cũng cho phép gọi điện video bằng máy ảnh mặt
trước và thêm trình quản lý tải xuống.
– Phiên bản Android Honeycomb 3.0.
Android Honeycomb 3.0 (2011) là bản cập nhật đầu tiên chỉ dành cho máy tính
bảng, hỗ trợ đồ họa 3D, các tab trình duyệt cạnh nhau, trò chuyện video với Google
Talk, chia sẻ kết nối Bluetooth và chế độ toàn màn hình trong thư viện ảnh.
Đồ án tốt nghiệp Xây dựng ứng dụng Android xem video trực tuyến
Sinh viên: Cao Tuấn Nghĩa
21
– Phiên bản Android Ice Cream Sandwich 4.0.
Android Ice Cream Sandwich 4.0 (2011) sáp nhập các hệ điều hành điện thoại và
máy tính bảng. ICS cũng thêm nhận dạng khuôn mặt để mở khóa điện thoại, phản hồi
văn bản, tự động trả lời các cuộc gọi bị từ chối và hiệu ứng video trực tiếp trong
camera.
– Phiên bản Android Jelly Bean 4.1 – 4.3.1.
Android Jelly Bean là tên được đặt cho 3 phiên bản chính của hệ điều hành
Android mobile operating system developed by Google, trải qua các phiên bản từ 4.1
đến 4.3.1.
Android Jelly Bean 4.1 (2012) có hiệu suất nhanh hơn, mượt mà hơn nhờ
“Project Butter”, cho phép người dùng tương tác nhiều hơn, thông báo có thể mở rộng,
trình duyệt Chrome mặc định… Hai phiên bản còn lại cũng có cùng tên Jelly Bean,
được phát hành tương ứng vào tháng 10 năm 2012 và tháng 7 18 năm 2013, trong đó
phiên bản 4.2 gồm tối ưu hóa, hỗ trợ nhiều người dùng cho máy tính bảng, widget cho
màn hình khóa, tùy chỉnh nhanh, và screen saver, còn phiên bản 4.3 gồm các cải tiến
và cập nhật nội bộ cho nền tảng Android.
– Phiên bản Android 4.4 KitKat.
Android 4.4 KitKat (2013) có thêm biểu tượng cảm xúc vào bàn phím Google,
bộ nhớ nhỏ hơn để hỗ trợ điện thoại cấp thấp hơn, đồng thời cho phép người dùng in
văn bản khi đang di chuyển với tính năng Google Cloud Print.
– Phiên bản Android 5.0 Lollipop.
Android 5.0 Lollipop (2014) có giao diện phẳng Material Design, thông báo xuất
hiện trên màn hình khóa. Hệ điều hành cũng có chế độ ưu tiên, hỗ trợ đa người dùng,
ghim màn hình…
– Phiên bản Android 6.0 Marshmallow.
Android 6.0 Marshmallow (2015) bắt đầu có chế độ Doze để tiết kiệm pin. Đồng
thời bổ sung thêm hỗ trợ tích hợp cho đầu đọc vân tay, USB Type-C và chế độ 4K cho
các ứng dụng.
Đồ án tốt nghiệp Xây dựng ứng dụng Android xem video trực tuyến
Sinh viên: Cao Tuấn Nghĩa
22
– Phiên bản Android 7.0 Nougat.
Android 7.0 Nougat (2016) người dùng có thể xóa tất cả ứng dụng của mình bằng
một lần nhấn, đồng thời điều chỉnh tông màu da của biểu tượng cảm xúc và hỗ trợ VR.
– Phiên bản Android 8.0 Oreo.
Android 8.0 Oreo (2017) hay Android Oreo bổ sung nhiều tác vụ trong ứng dụng
ảnh. Ngoài ra còn mang đến trải nghiệm sao chép và dán tốt hơn, cải thiện bảo mật và
quản lý pin tốt hơn.
– Phiên bản Android Pie 9.0.
Android Pie 9.0 (2018) tập trung nâng cấp phần mềm giúp điện thoại Android
hoạt động nhanh hơn và tiết kiệm pin. Android Pie bổ sung công cụ trí tuệ nhân tạo
(AI) vào các ứng dụng và lối tắt tiện lợi hơn cho người dùng.
Đồ án tốt nghiệp Xây dựng ứng dụng Android xem video trực tuyến
Sinh viên: Cao Tuấn Nghĩa
23
CHƯƠNG 2: MÔI TRƯỜNG ANDROID STUDIO
2.1. Giới thiệu Android Studio.
Android Studio là môi trường phát triển tích hợp (IDE) chính thức dành cho phát
triển nền tảng Android.[2]
Nó được ra mắt vào ngày 16 tháng 5 năm 2013 tại hội nghị Google I/O. Android
Studio được phát hành miễn phí theo giấy phép Apache Licence 2.0.
Android Studio ở giai đoạn truy cập xem trước sớm bắt đầu từ phiên bản 0.1 vào
tháng 5.2013, sau đó bước vào giai đoạn beta từ phiên bản 0.8 được phát hành vào
tháng 6 năm 2014. Phiên bản ổn định đầu tiên được ra mắt vào tháng 12 năm 2014, bắt
đầu từ phiên bản 1.0.
Dựa trên phần mềm IntelliJ IDEA của JetBrains, Android Studio được thiết kế
đặc biệt để phát triển ứng dụng Android. Nó hỗ trợ các hệ điều hành Windows,
Mac OS X, Linux và là IDE chính thức của Google để phát triển ứng dụng Android
gốc để thay thế cho Android Development Tools (ADT) dựa trên Eclipse.
2.2. Cài đặt môi trường Android Studio.
2.2.1. Cấu hình tối thiểu cài đặt Android Studio.
– Microsoft® Windows® 10/8/7 (32 or 64-bit).
– 4 GB RAM. (Khuyến cáo là 8GB).
– Chip core I3 trở lên.
– 400 MB hard disk space + ít nhất 1GB cho Android SDK, emulator.
– Độ phân giải tối thiếu 1366 x 768.
2.2.2. Các bước cài đặt.
Bước 1: Cài đặt JAVA JDK.
Tải và cài JDK (là bộ Java) theo đường dẫn
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-
2133151.html
Lưu ý: chọn phiên bản tương ứng với hệ điều hành của máy đang sử dụng.
Mở file cài đặt “jdk-*.exe” để tiến hành cài đặt.
Đồ án tốt nghiệp Xây dựng ứng dụng Android xem video trực tuyến
Sinh viên: Cao Tuấn Nghĩa
24
Cấu hình biến môi trường cho Java.
– Chọn next để tiếp tục cài đặt.
– Chờ hệ thống cài đặt và bấm next để tiếp tục.
Đồ án tốt nghiệp Xây dựng ứng dụng Android xem video trực tuyến
Sinh viên: Cao Tuấn Nghĩa
25
– Chọn close để hoàn tất cài đặt.
Bước 2: Cài đặt Android Studio.
Tải và cài đặt theo đường dẫn: https://developer.android.com/sdk/index.html
Tiền hành cài đặt:
Đồ án tốt nghiệp Xây dựng ứng dụng Android xem video trực tuyến
Sinh viên: Cao Tuấn Nghĩa
26
Android SDK (software development kit) là một tập hợp các công cụ được sử
dụng để phát triển ứng dụng cho Android. Android SDK bao gồm:
– Các thư viện đòi hỏi
– Bộ dò lỗi (Debugger)
– Thiết bị giả lập (emulator)
– Các tài liệu liên quan cho Android API.
– Các đoạn code mẫu.
– Các hướng dẫn cho hệ điều hành Android.
– Android Virtual Device (AVD) là một thiết bị cấu hình, nó chạy với bộ giả
lập Android (Android emulator). Nó làm việc với bộ giả lập để cung cấp một
môi trường thiết bị ảo cụ thể, để cài đặt và chạy ứng dụng Android.