Tải bản đầy đủ

Xây dựng phần mềm lưu trữ file hình ảnh, âm thanh

VIỆN ĐẠI HỌC MỞ HÀ NỘI

KHOA CÔNG NGHỆ ĐIỆN TỬ - THÔNG TIN

ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
Đề tài: “XÂY DỰNG PHẦN MỀM LƯU TRỮ FILE HÌNH ẢNH, ÂM THANH”

Giảng viên hướng dẫn : TS. LÊ MINH TUẤN
Sinh viên thực hiện:
NGUYỄN DUY PHƯƠNG
Lớp
:
K16
Khoá :
Hệ
:

2013-2017
ĐẠI HỌC CHÍNH QUY


Hà Nội, tháng 4 /2017


ĐỒ ÁN TỐT NGHIỆP

VIỆN ĐẠI HỌC MỞ HÀ NỘI

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM

KHOA CN ĐIỆN TỬ - THÔNG TIN

Độc lập - Tự do – Hạnh phúc

ĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Họ và tên sinh viên: NGUYỄN DUY PHƯƠNG
Lớp:

K16

Khoá: 16 (2013-2017)

Ngành đào tạo:

Công nghệ điện tử, Truyền thông

Hệ đào tạo: ĐHCQ

1/ Tên đề tài: XÂY DỰNG PHẦN MỀM LƯU TRỮ FILE HÌNH ẢNH, ÂM
THANH
2/ Nội dung chính:
1/ Phân tích yêu cầu đề tài và đề xuất phương án triển khai.
2/ Đặc tả chức năng và xây dựng nguyên mẫu ban đầu
3/ Tìm hiểu kỹ thuật và xây dựng sản phầm
4/ Kiểm tra, rà soát lỗi của sản phẩm

3/ Ngày giao :20/02/2017
4/ Ngày nộp : 13/05/2017

TRƯỞNG KHOA


GIÁO VIÊN HƯỚNG DẪN

(Ký, ghi rõ họ tên)

(Ký, ghi rõ họ tên)

2


ĐỒ ÁN TỐT NGHIỆP

MỤC LỤC

MỤC LỤC .................................................................................................................. 3
DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH ............................................................... 5
MỞ ĐẦU .................................................................................................................... 7
CHƯƠNG 1: GIỚI THIỆU ....................................................................................... 8
1.1. Tổng quan đề tài ................................................................................................ 8
1.2. Mô tả ứng dụng ................................................................................................. 8
1.2.1. Đối tượng sử dụng ...................................................................................... 8
1.2.2. Chức năng xem và tải Hình nền ................................................................. 8
1.2.3. Chức năng nghe thử và tải nhạc chuông ...................................................... 8
1.3. Yêu cầu ứng dụng ............................................................................................. 9
1.3.1. Yêu cầu chức năng ...................................................................................... 9
1.3.2. Yêu cầu phi chức năng ................................................................................ 9
1.4. Phạm vi và phương pháp triển khai ................................................................... 9
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ ỨNG DỤNG ..................................... 10
2.1. Tổng quan hệ thống ......................................................................................... 10
2.2. Biểu đồ Usecase .............................................................................................. 11
2.2.1. Usecase tổng quan .................................................................................... 11
2.2.2. Usecase cho chức năng xem và tải Hình nền ............................................ 11
2.2.3. Usecase cho chức năng nghe thử và tải nhạc chuông................................. 12
2.3. Thiết kế cơ sở dữ liệu ...................................................................................... 12
CHƯƠNG 3: XÂY DỰNG VÀ TRIỂN KHAI SẢN PHÂM .................................. 14
3.1. Tổng quan về Android ..................................................................................... 14
3.2. Tổng quan về môi trường phát triển Android Studio........................................ 19
3.3. Các công cụ hỗ trợ phát triển: .......................................................................... 20
Các tính năng mới của Eclipse là gì ? .............................................................. 20
Ưu và nhược điểm của Eclipse là gì ? .............................................................. 21
3.3.2. Tổng quan về JAVA ................................................................................. 22
3.3.3. Giới thiệu cơ bản về Android studio ......................................................... 24
3.3.4. Sử dụng Android Emulator ....................................................................... 40
3.4. Tìm hiểu về API .............................................................................................. 49
REST For Web Developers ................................................................................ 50
Cấu trúc REST là gì? .......................................................................................... 51
3


ĐỒ ÁN TỐT NGHIỆP
Cần chú ý với RESTful APIs .............................................................................. 51
Truy cập API Resources ..................................................................................... 53
Tự build API ...................................................................................................... 54
Tài liệu nghiên cứu ............................................................................................. 55
3.5. Thực hiện chương trình ................................................................................... 55
3.4.1. Thực hiện chức năng xem và tải Hình nền ............................................... 55
3.4.2. Thực hiện chức năng nghe thử và tải nhạc chuông .................................... 57
3.4.3. Những khó khăn gặp phải khi thực hiện chương trình ............................... 59
3.4. Hình ảnh thực tế về sản phẩm ......................................................................... 60
KẾT LUẬN .............................................................................................................. 62
LỜI CẢM ƠN .......................................................................................................... 63

4


ĐỒ ÁN TỐT NGHIỆP

DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH
Danh mục Hình ảnh
Hình 1: Biểu đồ toàn cảnh ....................................................................................................... 10
Hình 2: Usecase tổng quan ...................................................................................................... 11
Hình 3: Usecase chức năng xem và tải Hình nền ................................................................... 11
Hình 4: Usecase chức năng nghe thử và tải nhạc chuông ....................................................... 12
Hình 5: Logo Android ............................................................................................................. 14
Hình 6: Lịch sử phát triển Android ......................................................................................... 16
Hình 7: Kiến trúc Android ....................................................................................................... 18
Hình 8: Các phiên bản Android ............................................................................................... 19
Hình 9: Giao diện Eclipse........................................................................................................ 21
Hình 10: Trang chào Hình của Eclipse................................................................................... 22
Hình 11: Đặc tính của Java ....................................................................................................... 23
Hình 12: Trang chào mừng Android Studio ............................................................................ 25
Hình 13: Tạo Project mới trong Android Studio ...................................................................... 26
Hình 14: Lựa chọn Target Devices........................................................................................... 27
Hình 15: Lựa chọn Layout........................................................................................................ 28
Hình 16: Lựa chọn loại Project................................................................................................. 29
Hình 17: Creating Project ......................................................................................................... 30
Hình 18: Android Studio hướng dẫn..................................................................................... 31
Hình 19: Project được tạo ra ..................................................................................................... 32
Hình 20: Cấu trúc một Project trong Android Studio............................................................... 33
Hình 21: Vùng 1 ....................................................................................................................... 34
Hình 22: Vùng 2 ....................................................................................................................... 35
Hình 23: Vùng 5 ....................................................................................................................... 36
Hình 24: Boundaries touching other widgets ........................................................................... 37
Hình 25:Run và Debug ............................................................................................................. 38
Hình 26:Quản lý máy ảo AVD ................................................................................................. 38
Hình 27:Quản lý Android SDK Manager 1 .............................................................................. 39
Hình 28:Quản lý Android SDK Manager 2 .............................................................................. 39
Hình 29:Cài đặt Android Emulator 1 ....................................................................................... 40
Hình 30:Cài đặt Android Emulator 2 ....................................................................................... 41
Hình 31:Cài đặt Android Emulator 3 ....................................................................................... 41
Hình 32:Tạo thiết bị mô phỏng Nexus 5-1 ............................................................................... 42
Hình 33:Tạo thiết bị mô phỏng Nexus 5-2 ............................................................................... 43
Hình 34:Tạo thiết bị mô phỏng Nexus 5-3 ............................................................................... 44
Hình 35:Tạo thiết bị mô phỏng Nexus 5-4 ............................................................................... 44
Hình 36: Tạo thiết bị mô phỏng Nexus 5-5 .............................................................................. 45
Hình 37:Thay đổi kích thước của cửa sổ mô phỏng-1 ............................................................. 45
Hình 38:Thay đổi kích thước của cửa sổ mô phỏng-2 ............................................................. 46
Hình 39:Thay đổi kích thước của cửa sổ mô phỏng-3 ............................................................. 47
Hình 40:Chọn thiết bị mô phỏng mặc định-1 ........................................................................... 48
Hình 41:Chọn thiết bị mô phỏng mặc định-2 ........................................................................... 48
Hình 42:Chọn thiết bị mô phỏng mặc định-3 ........................................................................... 49
Hình 43: API............................................................................................................................. 50
Hình 44:Cấu trúc REST là gì? .................................................................................................. 51
Hình 45:Cần chú ý tới RESTful APIs ...................................................................................... 52
Hình 46:Truy cập API Resources ............................................................................................ 53
Hình 47: Trang chủ ứng dụng.................................................................................................. 60
Hình 48: Danh mục nhạc chuông ............................................................................................ 60
5


ĐỒ ÁN TỐT NGHIỆP
Hình 49: Danh mục Hình nền ................................................................................................. 61
Hình 50: Tính năng về Hình nền mà ứng dụng cung cấp ....................................................... 61
Danh mục bảng biểu
Bảng 1: Danh sách tác nhân và mô tả....................................................................................... 10
Bảng 2: Danh sách Usecase và mô tả ....................................................................................... 10
Bảng 3: Thông tin Hình ảnh .................................................................................................... 12
Bảng 4: Thông tin danh mục Hình ảnh ................................................................................... 12
Bảng 5: Thông tin nhạc chuông................................................................................................ 13
Bảng 6: Thông tin danh mục nhạc chuông ............................................................................... 13

6


ĐỒ ÁN TỐT NGHIỆP

MỞ ĐẦU
Trong cuộc sống hiện đại, khi mà công nghệ thông tin đang ngày một phát triển, nhiều
thành tựu mới nối tiếp nhau ra đời để phục vụ, đơn giản hoá cuộc sống của con người.
Trong bối cảnh đó, với vị trí đang là những con người trưởng thành và lớn lên, bản
thân em cảm thấy cần phải liên tục và học hỏi để đem những kiến thức học được trên
trường phục vụ vào cuộc sống thường ngày.
Khi mà mạng internet dần dần trở nên không thể thiếu trong cuộc sống hiện đại, máy
tính và smartphone đã trở nên quá phổ biến với mọi người, bất kì thao tác hay công
việc nào cũng đều có thể thực hiện được khi mỗi người đều có thiết bị cá nhân kết nối
internet.
Nhận thấy nhu cầu sử dụng smartphone của mọi người ngày càng tăng và mong muốn
sở hữu cho mình những wallpaper chất lượng đi kèm với những nhạc chuông đình đám
hiện hành bây giờ, em hướng tới việc xây dựng 1 app cho điện thoại có khả năng lưu
trữ các file âm thanh và Hình ảnh để những người sử dụng có thể tải về. Chương trình
này e xin đặt tên là Zizi Ringtone and wallpaper
Vì khả năng của bản thân còn hạn chế, hiện Zizi mới chỉ được hoàn thiện ở phần
wallpaper, còn phần ringtone thì vẫn còn nhiều vấn đề em chưa giải quyết kịp, mong
các thầy và cô thông cảm.

7


ĐỒ ÁN TỐT NGHIỆP
CHƯƠNG 1: GIỚI THIỆU
1.1. Tổng quan đề tài
Trong cuộc sống hiện đại, khi mà công nghệ thông tin đang ngày một phát triển, nhiều
thành tựu mới nối tiếp nhau ra đời để phục vụ, đơn giản hoá cuộc sống của con người.
Trong bối cảnh đó, với vị trí đang là những con người trưởng thành và lớn lên, bản
thân em cảm thấy cần phải liên tục và học hỏi để đem những kiến thức học được trên
trường phục vụ vào cuộc sống thường ngày.
Khi mà mạng internet dần dần trở nên không thể thiếu trong cuộc sống hiện đại, máy
tính và smartphone đã trở nên quá phổ biến với mọi người, bất kì thao tác hay công
việc nào cũng đều có thể thực hiện được khi mỗi người đều có thiết bị cá nhân kết nối
internet.
Nhận thấy nhu cầu sử dụng smartphone của mọi người ngày càng tăng và mong muốn
sở hữu cho mình những wallpaper chất lượng đi kèm với những nhạc chuông đình đám
hiện hành bây giờ, em hướng tới việc xây dựng 1 app cho điện thoại có khả năng lưu
trữ các file âm thanh và Hình ảnh để những người sử dụng có thể tải về. Chương trình
này e xin đặt tên là Zizi Ringtone and wallpaper
1.2. Mô tả ứng dụng
Ứng dụng Zizi được thiệu là một ứng dụng phía client, trực tiếp lấy các dữ liệu từ phía
server và hiển thị lại trên giao diện.
Ứng dụng có 2 chức năng chính và được chia làm 2 phần riêng biệt trên giao diện sử
dụng: xem và tải Hình nền hoặc nghe thử và tải nhạc chuông.
1.2.1. Đối tượng sử dụng
Ứng dụng hướng đến những người sử dụng smartphone năng động, liên tục muốn làm
mới hoặc thể hiện các tính bản thân thông qua các Hình nền hay nhạc chuông độc đáo,
làm nổi bật bản thân trong cuộc sống hiện đại.
1.2.2. Chức năng xem và tải Hình nền





Xem Hình nền theo các phân loại khác nhau
Tải Hình nền
Thêm Hình nền vào danh mục yêu thích
Đặt Hình ảnh thành ảnh nền điện thoại

1.2.3. Chức năng nghe thử và tải nhạc chuông






Xem danh mục nhạc chuông theo phân loại
Nghe thử nhạc chuông trực tuyến
Tải nhạc chuông
Thêm nhạc chuông vào danh sách yêu thích
Đặt bài hát trong danh mục thành nhạc chuông điện thoại
8


ĐỒ ÁN TỐT NGHIỆP
1.3. Yêu cầu ứng dụng
1.3.1. Yêu cầu chức năng
Do là một ứng dụng phía client nên chỉ có một tác nhân duy nhất tham gia và thụ
hướng trực tiếp các chức năng mà ứng dụng cung cấp là người sử dụng ứng dụng.
Người sử dụng cần được sử dụng đầy đủ các chức năng mà ứng dung cung cấp:
• Chức năng xem và tải Hình
o Xem Hình nền theo các phân loại khác nhau
o Tải Hình nền
o Thêm Hình nền vào danh mục yêu thích
o Đặt Hình ảnh thành ảnh nền điện thoại
• Chức năng nghe thử và tải nhạc chuông
o Xem danh mục nhạc chuông theo phân loại
o Nghe thử nhạc chuông trực tuyến
o Tải nhạc chuông
o Thêm nhạc chuông vào danh sách yêu thích
o Đặt bài hát trong danh mục thành nhạc chuông điện thoại
1.3.2. Yêu cầu phi chức năng





Tốc độ truy cập ứng dụng phải ổn định, nhanh chóng
Giao diện đơn giản, dễ sử dụng
Đảm bảo toàn vẹn dữ liệu khi người dùng lưu trữ lại các tài nguyên
Đảm bảo tính riêng tư về các nội dung mà người dùng tìm kiếm

1.4. Phạm vi và phương pháp triển khai
Ứng dụng được triển khai như một ứng dụng Android trên điện thoại di động. Được
xây dựng và lập trình bằng ngôn ngữ Java sử dụng môi trường phát triển Android
Studio.
Ứng dụng sau khi phát triển sẽ được phân phối miễn phí trên chợ ứng dụng Play Store
của Google.

9


ĐỒ ÁN TỐT NGHIỆP
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ ỨNG DỤNG
2.1. Tổng quan hệ thống

Hình 1: Biểu đồ toàn cảnh
Danh sách tác nhân và mô tả
Tác nhân
Người sử dụng

Mô tả tác nhân

Ghi chú

• Chức năng xem và tải Hình
o Xem Hình nền theo các phân loại khác
nhau
o Tải Hình nền
o Thêm Hình nền vào danh mục yêu thích
o Đặt Hình ảnh thành ảnh nền điện thoại
• Chức năng nghe thử và tải nhạc chuông
o Xem danh mục nhạc chuông theo phân
loại
o Nghe thử nhạc chuông trực tuyến
o Tải nhạc chuông
o Thêm nhạc chuông vào danh sách yêu
thích
o Đặt bài hát trong danh mục thành nhạc
chuông điện thoại
Bảng 1: Danh sách tác nhân và mô tả

Người sử
dụng

Danh sách Usecase và mô tả
ID

Tên Use case

Actor sử dụng

1.

Xem và tải Hình nền

Người sử dụng

2.

Nghe thử và tải nhạc chuông

Người sử dụng

Bảng 2: Danh sách Usecase và mô tả

10


ĐỒ ÁN TỐT NGHIỆP
2.2. Biểu đồ Usecase
2.2.1. Usecase tổng quan

Hình 2: Usecase tổng quan
2.2.2. Usecase cho chức năng xem và tải Hình nền

Hình 3: Usecase chức năng xem và tải Hình nền

11


ĐỒ ÁN TỐT NGHIỆP
2.2.3. Usecase cho chức năng nghe thử và tải nhạc chuông

Hình 4: Usecase chức năng nghe thử và tải nhạc chuông
2.3. Thiết kế cơ sở dữ liệu
Tên cột
id_pic

Thuộc tích
int(11)

Pic_name
Pic_author
Pic_desc

varchar(50)
varchar(50)
varchar(150)

Ràng buộc
NOT NULL,
AUTO_INCREMENT,
Primary,
NOT NULL
NOT NULL
NOT NULL

Is_fav

Bit

NOT NULL

Is_downloaded

Bit

NOT NULL

Id_cate_pic

Int(3)

NOT NULL

Chức năng
Mã Hình nền
Tên Hình ảnh
Tên tác giả
Mô tả về Hình
ảnh
Trạng thái yêu
thích
Trạng thái
download
Mã danh mục

Bảng3: Thông tin Hình ảnh

Tên cột
Id_cate_pic
Pic_cate_name

Thuộc tích
Int(3)
varchar(50)

Ràng buộc
NOT NULL
NOT NULL

Bảng4: Thông tin danh mục Hình ảnh

12

Chức năng
Mã danh mục
Tên danh mục


ĐỒ ÁN TỐT NGHIỆP
Tên cột
Id_audio

Thuộc tích
int(11)

Audio_name
Audio_author
Audio_desc

varchar(50)
varchar(50)
varchar(150)

Ràng buộc
NOT NULL,
AUTO_INCREMENT,
Primary,
NOT NULL
NOT NULL
NOT NULL

Is_fav

Bit

NOT NULL

Is_downloaded

Bit

NOT NULL

Id_cate_audio

Int(3)

NOT NULL

Chức năng
Mã bản nhạc
Tên bản nhạc
Tên tác giả
Mô tả về bản
nhạc
Trạng thái yêu
thích
Trạng thái
download
Mã danh mục

Bảng5: Thông tin nhạc chuông

Tên cột
Id_cate_audio
Audio_cate_name

Thuộc tích
Int(3)
varchar(50)

Ràng buộc
NOT NULL
NOT NULL

Bảng6: Thông tin danh mục nhạc chuông

13

Chức năng
Mã danh mục
Tên danh mục


ĐỒ ÁN TỐT NGHIỆP

CHƯƠNG 3: XÂY DỰNG VÀ TRIỂN KHAI SẢN PHÂM
3.1. Tổng quan về Android

Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các thiết
bị di động có màn Hình cảm ứng như điện thoại thông minh và máy tính bảng. Ban
đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính từ
Google và sau này được chính Google mua lại vào năm 2005. Android ra mắt vào năm
2007 cùng với tuyên bố thành lập Liên minh thiết bị cầm tay mở: một hiệp hội gồm
các công ty phần cứng, phần mềm, và viễn thông với mục tiêu đẩy mạnh các tiêu
chuẩn mở cho các thiết bị di động. Chiếc điện thoại đầu tiên chạy Android được bán
vào tháng 10 năm 2008.

Hình 5: Logo Android
Android có mã nguồn mở và Google phát hành mã nguồn theo Giấy phép Apache
Chính mã nguồn mở cùng với một giấy phép không có nhiều ràng buộc đã cho phép
các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyết được điều
chỉnh và phân phối Android một cách tự do. Ngoài ra, Android còn có một cộng đồng
lập trình viên đông đảo chuyên viết các ứng dụng để mở rộng chức năng của thiết bị,
bằng một loại ngôn ngữ lập trình Java có sửa đổi.Vào tháng 10 năm 2012, có khoảng
700.000 ứng dụng trên Android, và số lượt tải ứng dụng từ Google Play, cửa hàng ứng
dụng chính của Android, ước tính khoảng 25 tỷ lượt.

14


ĐỒ ÁN TỐT NGHIỆP
Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minh phổ biến
nhất thế giới, vượt qua Symbian vào quý 4 năm 2010, và được các công ty công nghệ
lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả năng tinh chỉnh, và giá rẻ
chạy trên các thiết bị công nghệ cao thay vì tạo dựng từ đầu. Kết quả là mặc dù được
thiết kế để chạy trên điện thoại và máy tính bảng, Android đã xuất hiện trên TV, máy
chơi game và các thiết bị điện tử khác. Bản chất mở của Android cũng khích lệ một
đội ngũ đông đảo lập trình viên và những người đam mê sử dụng mã nguồn mở để tạo
ra những dự án do cộng đồng quản lý. Những dự án này bổ sung các tính năng cao cấp
cho những người dùng thích tìm tòi hoặc đưa Android vào các thiết bị ban đầu chạy hệ
điều hành khác.
Android chiếm 75% thị phần điện thoại thông minh trên toàn thế giới vào thời điểm
quý 3 năm 2012, với tổng cộng 500 triệu thiết bị đã được kích hoạt và 1,3 triệu lượt
kích hoạt mỗi ngày. Sự thành công của hệ điều hành cũng khiến nó trở thành mục tiêu
trong các vụ kiện liên quan đến bằng phát minh, góp mặt trong cái gọi là "cuộc chiến
điện thoại thông minh" giữa các công ty công nghệ.
Lịch sử phát triển Anroid
Tháng 7 năm 2005, Google mua lại Android, Inc., một công ty nhỏ mới thành lập có
trụ sở ở Palo Alto, California, Mỹ. Những nhà đồng sáng lập của Android chuyển sang
làm việc tại Google gồm có Andy Rubin (đồng sáng lập công ty Danger), Rich Miner
(đồng sáng lập công ty Wildfire Communications), Nick Sears (từng là phó chủ tịch
của T-Mobile), và Chris White (trưởng nhóm thiết kế và phát triển giao diện tại
WebTV). Khi đó, có rất ít thông tin về các công việc của Android, ngoại trừ việc họ
đang phát triển phần mềm cho điện thoại di động. Điều này tạo những tin đồn về việc
Google có ý định bước vào thị trường điện thoại di động.

15


ĐỒ ÁN TỐT NGHIỆP

Hình 6: Lịch sử phát triển Android

16


ĐỒ ÁN TỐT NGHIỆP
Tại Google, nhóm do Rubin đứng đầu đã phát triển một nền tảng thiết bị di động dựa
trên hạt nhân Linux, được họ tiếp thị đến các nhà sản xuất thiết bị cầm tay và các nhà
mạng trên những tiền đề về việc cung cấp một hệ thống mềm dẻo, có khả năng nâng
cấp mở rộng cao.[cần dẫn nguồn] Một số nguồn tin cho biết trước đó Google đã lên
danh sách các thành phần phần cứng và các đối tác phần mềm, đồng thời ra hiệu với
các nhà mạng rằng họ sẵn sàng hợp tác ở nhiều cấp độ khác nhau. Ngày càng nhiều
suy đoán rằng Google sẽ tham gia thị trường điện thoại di động xuất hiện trong tháng
12 năm 2006. Tin tức của BBC và Nhật báo phố Wall chú thích rằng Google muốn
đưa công nghệ tìm kiếm và các ứng dụng của họ vào điện thoại di động và họ đang nỗ
lực làm việc để thực hiện điều này. Các phương tiện truyền thông in và online cũng
sớm có bài viết về những tin đồn cho rằng Google đang phát triển một thiết bị cầm tay
mang thương hiệu Google. Và lại càng có nhiều suy đoán sau bài viết về việc Google
đang định nghĩa các đặc tả công nghệ và trình diễn các mẫu thử với các nhà sản xuất
điện thoại di động và nhà mạng.
Lịch sử phiên bản của hệ điều hành di động Android bắt đầu với bản Android beta vào
tháng 11 năm 2007. Phiên bản thương mại đầu tiên, Android 1.0, được phát hành vào
tháng 9 năm 2008. Android đang được phát triển bởi Google và Open Handset
Alliance (OHA), và đã có một số bản cập nhật cho hệ điều hành này kể từ khi ra mắt.
Từ tháng 4 năm 2009, phiên bản Android được phát triển dưới tên mã là chủ đề bánh
kẹo và phát hành theo thứ tự bảng chữ cái: Cupcake (1.5), Donut (1.6), Eclair (2.0–
2.1), Froyo (2.2–2.2.3), Gingerbread (2.3–2.3.7), Honeycomb (3.0–3.2.6), Ice Cream
Sandwich (4.0–4.0.4), Jelly Bean (4.1–4.3), KitKat (4.4), Lollipop (5.0-5.1.1),
Marshmallow (6.0), Nougat(7.0). Vào 3 tháng 9 năm 2013, Google công bố rằng 1 tỉ
thiết bị đã được kích hoạt hiện sử dụng Android OS trên toàn cầu. Bản cập nhật
Android gần đây nhất là KitKat 4.4, nó được phát hành bản thương mại trên thiết bị 22
tháng 11 năm 2013, thông qua cập nhật OTA
Tính Năng Mở của hệ điều hành Android là gì?
Android được xây dựng để cho phép các nhà phát triển để tạo ra các ứng dụng di động
hấp dẫn tận dụng tất cả một chiếc điện thoại đã cung cấp. Nó được xây dựng để được
thực sự mở. Ví dụ, một ứng dụng có thể kêu gọi bất kỳ chức năng lõi của điện thoại
như thực hiện cuộc gọi, gửi tin nhắn văn bản, hoặc bằng cách sử dụng máy ảnh, cho
phép các nhà phát triển để tạo ra phong phú hơn và nhiều hơn nữa những kinh nghiệm
cố kết cho người dùng. Android được xây dựng trên mở Linux Kernel. Hơn nữa, nó sử
dụng một máy ảo tuỳ chỉnh được thiết kế để tối ưu hóa bộ nhớ và tài nguyên phần
cứng trong một môi trường di động. Android là mã nguồn mở, nó có thể được liberally
mở rộng. Nền tảng này sẽ tiếp tục tiến triển như cộng đồng nhà phát triển công việc
cùng nhau để xây dựng các ứng dụng di động sáng tạo.

17


ĐỒ ÁN TỐT NGHIỆP

Hình 7: Kiến trúc Android

Tất cả các ứng dụng
ng có thể được tạo ra cho Android?
Android không phân biệt
ệt giữ
giữa các ứng dụng lõi của điện thoại vàà các ứng dụng của
bên thứ ba. Họ tất cả có thể đđược xây dựng để có thể truy cập bằng
ng khả năng của một
người cung cấp cho người
ời sử dụng điện thoại với một dải rộng các ứng ddụng và dịch
vụ. Với các thiết bị xây dựng
ựng trên
tr Hệ điều hành Android, người dùng
ùng có th
thể hoàn toàn
thích ứng với điện thoại đến llợi ích của họ. Họ có thể trao đổi trên màn Hình của điện
thoại, những
ng phong cách của
củ dialer, hoặc bất kỳ ứng dụng. Họ thậm
m chí có th
thể hướng
dẫn điện thoại của họ để sử
ử ddụng Hình ảnh ưa thích của họ xem các ứng dụng
d
để xử lý
xem tất cả các Hình ảnh.
Phá bỏ các rào cản ứng
ng dụng
dụ của Android?
Android phá bỏ rào cản để xây ddựng các ứng dụng mới và sáng tạo.
ạo. Ví dụ,
d một nhà
phát triển có thể kết hợpp thông tin ttừ các trang web với dữ liệu trên điện
ện tho
thoại di động
của một cá nhân – ví dụ như
ư địa chỉ liên hệ của người dùng, lịch, hoặc
ặc vị trí địa lý – để
cung cấp một trải nghiệm
ệm người
ng
dùng có liên quan hơn. Vớii Android, m
một nhà phát
triển có thể xây dựng một
ột ứng ddụng cho phép người dùng xem vị trí của bạn
b bè của họ
và được cảnh báo khi họọ đang có trong vùng
v
phụ cận cho họ một cơ hội
ội để kết nối.
Với Android tốc độ nhanh & phát triển
tri ứng dụng dễ dàng
Android cung cấp truy cập
ập đế
đến một loạt các thư viện công cụ hữu
u ích và
v có thể được
sử dụng để xây dựng
ng các ứng dụng
d
phong phú. Ví dụ,, Android cho phép các nhà
nh phát
18


ĐỒ ÁN TỐT NGHIỆP
triển để có được vị trí của
ủa điệ
điện thoại, và cho phép các thiết bị để giao tiếp
tiế với nhau tạo
điều kiện cho đồng đẳng
ng rich
rich-to-peer ứng dụng xã hội. Ngoài ra, Android bao gồm một
tập hợp đầy đủ công cụ đãã được xây dựng từ mặt đất lên cùng vớii việc cung ccấp nền
tảng phát triển, với năng
ng suấ
suất cao và cái nhìn sâu vào các ứng dụng của
ủa họ.
h
Phần mềm điện thoạii Android
Phải nói rằng
ng Android ra đờ
đời đã mang lại cho người dùng điện thoại
ại sự cảm
c nhận khác
biệt về 1 chiếcSmartphone,
cSmartphone, ch
chưa đầy 2 năm kho phần mềm
m cho Android đã lên đến
còn số hơn 30 nghìn ứng
ng dụng vvà cho đến bây giờ đã là hơn 800.000 ứng dụng
d
~~.
• Phần mềm hay nhất
ất cho android
• Tổng hợp các trò chơ
ơi cho android
• Hướng dẫn làm ứng dụ
dụng, trò chơi trên android
3.2. Tổng quan về môi trư
ường phát triển Android Studio
Android Studio là công cu llập trình dựa trên nền IntelliJ, cung cấpp các tính năng
n
mạnh
mẽ hơnn ADT (Android Developer Tools), bao ggồm:
• Hỗ trợ xây dựng dự
ự án Grandle.
• Hỗ trợ sửa lỗii nhanh và
v tái sử dụng cấu trúc phương thúc.
• Cung cấp
p các công ccụ kiểm tra tính khả dụng, khả năng hoạt
ạt độ
động của ứng
dụng, tương thích nền
ền ttảng…
• Hỗ trợ bảo mật mã
ã ngu
nguồn và đóng gói ứng dụng.
• Trình biên tập
p giao di
diện cung cấp tổng quan giao diện ứng dụng
ụng vvà các thành
phần, cho phép tùy
ùy chỉnh
ch
trên nhiều cấu Hình khác nhau.
• Cho phép tương
ng tác vvới nền Google Cloud.

Hình 8: Các phiên bản Android

Các bạn nền tải các ứng
ng dụng Android Studio để dùng làm công cụụ lập trình
tr
bao gồm
các ứng dụng sau:
• Android Studio
19


ĐỒ ÁN TỐT NGHIỆP




Genymotion: máy ảo (nền xài Genymotion vì máy ảo của Android Studio build
rất chậm)
Oracle VM: đây là phần mềm hỗ trợ Genymotion, trong quá trình cài đặt
Genymotion thì hệ thống sẽ yêu cầu cài đặt Oracle VM
Java Development Kit (JDK): trong quá trình cài đặt Android Studio thì sẽ yêu
cầu bạn cài đặt JDK.

3.3. Các công cụ hỗ trợ phát triển:
3.3.1.Eclipse
Eclipse là "công cụ hỗ trợ lập trình mã nguồn mở" được phát triển bởi
IBM. Eclipse như một môi trường phát triển Java tích hợp (IDE), với Eclipse chúng
ta có thể mở rộng hơn mã nguồn bằng cách chèn thêm các plugins cho project(PDEPlug-in)
Eclipse như một môi trường phát triển Java tích hợp (IDE), với Eclipse chúng ta có thể
mở rộng hơn mã nguồn bằng cách chèn thêm các plugins cho project (PDE- Plug-in
Development Environment). Mặc dù Eclipse được viết bằng ngôn ngữ lập trình Java,
nhưng việc sử dụng nó không hạn chế chỉ cho ngôn ngữ Java. Eclipse còn hỗ trợ
cho lập trình viên code theo các mô Hình phát triển như MVC, tạo thêm các lib hỗ trợ
phát triển phần mềm.
Ví dụ: Eclipse hỗ trợ sẵn hoặc có thể cài thêm các plugins để hỗ trợ cho các ngôn ngữ
lập trình như C/C + + và COBOL. Ngoài ra, còn rất nhiều ngôn ngữ khác như PHP,
Groovy.

Các tính năng mới của Eclipse là gì ?
Công cụ lập trình Eclipse có rất nhiều tính năng giúp cho việc soạn thảo chương trình
Java như :








Code Completion: Nhằm hỗ trợ người lập trình viết mã chương trình Java có độ
chính xác hơn và không cần phải nhớ quá nhiều cú pháp và câu lệnh. Người
dùng chỉ cần ấn tổ hợp phím Ctr + Space để sổ ra các câu lệnh gợi ý tương ứng
Quick Fix: Khi bạn gặp phải lỗi thì Eclipse sẽ giúp bạn có một danh sách các
phương pháp khắc phục lỗi tương ứng, và có những biện pháp hỗ trợ sữa lỗi
một cách nhanh chóng và dễ dàng hơn.
Refactor : Eclipse sẽ tự động cập nhật tòan bộ Project cho phù hợp với tên mới.
Đống thời, Refactor còn giúp người lập trình rút ra được lớp Interface từ các
lớp dựng sẵn & tự động cài đặt Interface trên các lớp mà sử dụng giao diện này.
Local History: Với mục đích là so sánh giữa phiên bản cũ cới phiên bản
mới của tập tin bạn đang làm việc.
20


ĐỒ ÁN TỐT NGHIỆP


Java Scrapbook pages: Nhằm giúp người lập trình viết mộtt chương
ch
trình nhỏ
rời ra bằng việc sử
ử ddụng trình soạn thảo đơn giản được thực
ực thi ddưới dạng
command prompt.

Hình 9: Giao diện Eclipse

Ưu và nhược điểm củaa Eclipse llà gì ?
Ưu điểm của Eclipse










Tích hợp liền mạch
ạch các công
c
cụ bên trong.
Hỗ trợ các công cụụ nh
như : HTML ,C,Java, XML,JSP, GIF,EJB.
Hỗ trợ môi trường
ng phát triển
tri GUI.
Có thể chạy trên nhiềều hệ điều hành : Windows , Linux.
Hỗ trợ xây dựng
ng nhiề
nhiều công cụ lập trình.
Không hạn chế các nhà
nh cung cấp công cụ.
Load nhanh hơn nhờ
ờ vi
việc sử dụng SWT/JFace.
Viết được nhiềuu các công ccụ nhờ tính phổ biến Java .

Nhược điểm của Eclipse



Cài đặt phức tạp.
21


ĐỒ ÁN TỐT NGHIỆP



Tốn bộ nhớ máy.
Có nhiều plugins quá nên thiếu tính nhất quán.

Hình 10: Trang chào Hình của Eclipse

3.3.2. Tổng quan về JAVA
Ngôn ngữ lập trình Java ban đầu được phát triển bởi Sun Microsystems do James
Gosling khởi xướng và phát hành vào năm 1995 (Java 1.0 [J2SE]). Tính đến thời điểm
này (tháng 2/2015) phiên bản mới nhất của Java Standard Edition (JSE) là 8. Với ưu
thế về đa nền tảng (multi platform) Java càng lúc càng được ứng dụng rộng rãi trên
nhiều thiết bị từ máy tính đến mobile và nhiều thiết bị phần cứng khác...
Java là ngôn ngữ lập trình hướng đối tượng nên nó cũng có 4 đặc điểm chung của các
ngôn ngữ hướng đối tượng






Tính trừu tượng (Abstraction): là tiến trình xác định và nhóm các thuộc tính,
các hành động liên quan đến một thực thể đặc thù, xét trong mối tương quan với
ứng dụng đang phát triển.
Tính đa Hình (Polymorphism): cho phép một phương thức có các tác động
khác nhau trên nhiều loại đối tượng khác nhau. Với tính đa Hình , nếu cùng một
phương thức ứng dụng cho các đối tượng thuộc các lớp khác nhau thì nó đưa
đến những kết quả khác nhau. Bản chất của sự việc chính là phương thức này
bao gồm cùng một số lượng các tham số.
Tính kế thừa (Inheritance): Điều này cho phép các đối tượng chia sẻ hay mở
rộng các đặc tính sẵn có mà không phải tiến hành định nghĩa lại.
22


ĐỒ ÁN TỐT NGHIỆP


Tính đóng gói (Encapsulation): là tiến trình che giấu việc thực thi những chi
tiết của một đối tượng đối với người sử dụng đối tượng ấy.

Bên cạnh đó Java còn có một số đặc tính khác:










Độc lập nền (Write Once, Run Anywhere): Không giống như nhiều ngôn ngữ
lập trình khác như C và C ++, khi Java được biên dịch, nó không được biên
dịch sang mã máy cụ thể, mà thay vào đó là mã byte code chạy trên máy ảo
Java (JVM). Điều này đồng nghĩa với việc bất cứ thiết bị nào có cài đặt JVM sẽ
có thể thực thi được các chương trình Java.
Đơn giản: học Java thật sự dễ hơn nhiều so với C/C++, nếu bạn đã quen với
các ngôn ngữ lập trình hướng đối tượng thì việc học Java sẽ dễ dàng hơn. Java
trở nên đơn giản hơn so với C/C++ do đã loại bỏ tính đa kế thừa và phép toán
con trỏ từ C/C++.
Bảo mật: Java hỗ trợ bảo mật rất tốt bởi các thuật toán mã hóa như mã hóa một
chiều (one way hashing) hoặc mã hóa công cộng (public key)...
Đa luồng: Với tính năng đa luồng Java có thể viết chương trình có thể thực thi
nhiều task cùng một lúc. Tính năng này thường được xử dụng rất nhiều trong
lập trình game.
Hiệu suất cao nhờ vào trình thu gom rác (garbage collection), giải phóng bộ
nhớ đối với các đối tượng không được dùng đến.
Linh hoạt: Java được xem là linh hoạt hơn C/C ++ vì nó được thiết kế để thích
ứng với nhiều môi trường phát triển.

Hình 11: Đặc tính của Java

Java được sử dụng để làm gì?




Viết ứng dụng web (J2EE): Java thường được sử dụng để xây dựng các hệ
thống web lớn đòi hỏi độ bảo mật cao, số lượng người dùng lớn như ngân
hàng, phần mềm quản lý bệnh viện, CRM, HRM.... Đối với các website nhỏ
thông thường rất ít viết bằng Java.
Viết ứng dụng mobile (J2ME): Trước đây nền tảng J2ME thường được sử dụng
để viết game và app cho di động feature phone (file .jar) và giờ đây khi
smartphone Android lên ngôi Java lại tiếp tục được sử dụng để viết app và
game cho nền tảng Android (file .apk).
23


ĐỒ ÁN TỐT NGHIỆP


Viết ứng dụng desktop (J2SE): Các ứng dụng desktop viết bằng Java thật sự
không nhiều có thể kể đến một số phần mềm như JMeter hoặc Designer Vista.
Lợi thế lớn nhất của ứng dụng Java là bạn chỉ viết một lần và sau đó có thể đem
chương trình lên Windows, Linux hay Mac để chạy mà không cần phải viết lại.
Tuy nhiên do chạy trên JVM nên performance của ứng dụng thấp hơn một chút
so với các ngôn ngữ như C/C++, C#.

Sử dụng gì để lập trình Java?
Để lập trình Java bạn cần đến:


Java Development Kit (JDK - Bộ công cụ cho người phát triển ứng dụng bằng
ngôn ngữ lập trình Java) là một tập hợp những công cụ phần mềm được phát
triển bởi Sun Microsystems dành cho các nhà phát triển phần mềm, dùng để
viết những applet Java hay những ứng dụng Java - bộ công cụ này được phát
hành miễn phí gồm có trình biên dịch, trình thông dịch, trình giúp sửa lỗi
(debugger, trình chạy applet và tài liệu nghiên cứu.
Kể từ khi ngôn ngữ Java ra đời, JDK là bộ phát triển phần mềm thông dụng
nhất cho Java. Ngày 17 tháng 11 năm 2006, hãng Sun tuyên bố JDK sẽ được
phát hành dưới giấy phép GN General Public License (GPL), JDK trở thành
phần mềm tự do. Việc này đã được thực hiện phần lớn ngày 8 tháng 5 năm
2007 và mã nguồn được đóng góp cho OpenJDK.



IDE (Integrated Development Environment): là phần mềm cung cấp cho các lập
trình viên một môi trường tích hợp bao gồm nhiều công cụ khác nhau như
chương trình viết mã lệnh hay code editor, chương trình sửa lỗi hay debugger,
chương trình mô phỏng ứng dụng khi chạy thực tế hay simulator.... Nói cách
khác thì IDE là một phần mềm bao gồm những gói phần mềm khác giúp phát
triển ứng dụng phần mềm.
Các IDE phổ biến đang được sử dụng gồm có Netbeans IDE, Eclipse,
PhpStorm, XCode (sử dụng trên hệ điều hành MacOS để phát triển ứng dụng
mobile)... Phần tiếp theo chúng ta sẽ cùng tìm hiểu một số IDE phổ biến.

3.3.3. Giới thiệu cơ bản về Android studio
Cách tạo một Project trong Android Studio.
- Mở Android Studio lên, chọn "Start a new Android Studio project" :

24


ĐỒ ÁN TỐT NGHIỆP

Hình 12: Trang chào mừng Android Studio

25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×