ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
Tel. (84-511) 736 949, Fax. (84-511) 842 771
Website: itf.ud.edu.vn, E-mail:
[email protected]
ĐỒ ÁN TỐT NGHIỆP KỸ SƯ
NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ NGÀNH : D480201
ĐỀ TÀI :
XÂY DỰNG ỨNG DỤNG DAILYMOODZ
TRÊN NỀN TẢNG ANDROID
SINH VIÊN
: BÙI XUÂN THẾ
MÃ SINH VIÊN : 102110240
LỚP
: 11T2
CBHD
: PGS.TS. VÕ TRUNG HÙNG
ĐÀ NẴNG, 06/2016
LỜI CẢM ƠN
Tôi xin chân thành cảm ơn các thầy cô trong khoa Công nghệ thông tin,
trường Đại học Bách khoa Đà Nẵng đã truyền đạt những kiến thức quý báu cho
tôi trong những năm học vừa qua và nhất là đã tạo điều kiện thuận lợi cho tôi
học tập, thực hiện đề tài tốt nghiệp này.
Đặc biệt, tôi xin chân thành cảm ơn Thầy giáo PGS.TS. Võ Trung Hùng đã
trực tiếp, tận tình giúp đỡ và hướng dẫn tôi trong suốt thời gian thực hiện đề
tài.
Để có được kết quả như ngày hôm nay, tôi rất biết ơn gia đình và bạn bè
đã động viên, khích lệ, giúp đỡ và tạo điều kiện thuận lợi nhất có thể trong suốt
quá trình học tập cũng như quá trình thực hiện đề tài tốt nghiệp này.
Mặc dù đã cố gắng nỗ lực hết sức để thực hiện đề tài này, song luận văn
của tôi chắc chắn khó tránh khỏi những thiếu sót. Do vậy, tôi rất mong nhận
được sự thông cảm, góp ý và chỉ bảo tận tình của thầy cô.
Một lần nữa xin chân thành cám ơn!
Đà Nẵng, ngày 08 tháng 06 năm 2016
Sinh viên thực hiện
Bùi Xuân Thế
LỜI CAM ĐOAN
Tôi xin cam đoan :
1. Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng
dẫn trực tiếp của thầy PGS.TS. Võ Trung Hùng.
2. Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác
giả, tên công trình, thời gian, địa điểm công bố.
3. Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi
xin chịu trách nhiệm.
Sinh viên
Bùi Xuân Thế
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
Đà Nẵng, ngày …. tháng …. năm 2016
CÁN BỘ HƯỚNG DẪN
PGS.TS. VÕ TRUNG HÙNG
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
MỤC LỤC
MỞ ĐẦU
1
1. GIỚI THIỆU ĐỀ TÀI........................................................................................1
2. MỤC ĐÍCH VÀ HƯỚNG XÂY DỰNG ĐỀ TÀI............................................1
2.1
Mục đích của đề tài....................................................................................1
2.2
Ý nghĩa đề tài.............................................................................................1
2.3
Phạm vi đề tài.............................................................................................1
2.4
Nhiệm vụ cần thực hiện.............................................................................2
2.5
Công cụ xây dựng......................................................................................2
2.6
Dự kiến kết quả đạt được...........................................................................2
3 TÓM TẮT PHƯƠNG PHÁP TRIỂN KHAI....................................................3
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT.............................................................4
1.1.
Tìm hiểu nền tảng di động....................................................................4
1.1.1 IOS.............................................................................................................4
1.1.2 ANDROID.................................................................................................5
1.1.3 WINDOWN PHONE.................................................................................5
1.2.
Hệ điều hành Android...........................................................................6
1.2.1. Giới thiệu...................................................................................................6
1.2.2. Kiến trúc.....................................................................................................7
1.2.3. Ngôn ngữ lập trình Java.............................................................................9
1.2.4. Môi trường lập trình Android Studio và Eclipse......................................10
1.3.
WEB SERVICE..................................................................................11
1.3.1. Giới thiệu..................................................................................................11
1.3.2. Giới thiệu về ngôn ngữ PHP....................................................................12
1.3.3. Giới thiệu về JSON..................................................................................12
1.3.4. Giới thiệu hệ quản trị cơ sở dữ liệu MySql..............................................13
1.4.
KẾT CHƯƠNG..................................................................................13
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG..............................14
2.1.
PHÂN TÍCH YÊU CẦU....................................................................14
2.1.1 Mô tả bài toán..........................................................................................14
2.1.2 Phân tích yêu cầu bài toán........................................................................14
2.1.3 Mô tả những yêu cầu phi chức năng........................................................15
2.1.4 Xác định các chức năng chính của hệ thống............................................17
2.2.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG........................................18
2.2.1 Yêu cầu hệ thống......................................................................................18
2.2.2 Biểu đồ ca sử dụng...................................................................................28
2.2.3 Biểu đồ hoạt động....................................................................................31
2.2.4 Biểu đồ tuần tự.........................................................................................34
2.2.5 Biểu đồ lớp...............................................................................................37
2.3.
Cơ sở dữ liệu.......................................................................................38
2.3.1 Các bảng cơ sở dữ liệu.............................................................................38
2.3.2 Mô hình quan hệ cơ sở dữ liệu.................................................................47
2.4.
KẾT CHƯƠNG..................................................................................50
CHƯƠNG 3: TRIỂN KHAI CHƯƠNG TRÌNH......................................51
3.1
Công cụ, môi trường phát triển ứng dụng..........................................51
3.1.1 Công cụ....................................................................................................51
3.1.2 Môi trường phát triển ứng dụng...............................................................51
3.2
Đánh giá kết quả.................................................................................51
3.2.1 Kết quả.....................................................................................................51
3.2.2 Những điều đạt được................................................................................61
3.2.3 Những điều chưa đạt được.......................................................................61
3.3
KẾT CHƯƠNG..................................................................................61
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN....................................................62
1. Kết luận............................................................................................................62
2. Hướng phát triển..............................................................................................62
TÀI LIỆU THAM KHẢO.............................................................................63
DANH MỤC HÌNH ẢNH
Hình 1: Hệ điều hành trên điện thoại..........................................................................4
Hình 2: Các thiết bị Android.......................................................................................6
Hình 3: Kiến trúc hệ điều hành Android.....................................................................8
Hình 4 : Android Studio............................................................................................10
Hình 5: Biểu đồ ca sử dụng tổng quát.......................................................................28
Hình 6: Biểu đồ ca sử dụng Check In Moodz...........................................................29
Hình 7 : Use Case hiển thị Maps...............................................................................29
Hình 8: Biểu đồ ca sử dụng Post Image....................................................................29
Hình 9: Biểu đồ ca sử dụng Mood............................................................................30
Hình 10: Biểu đồ ca sử dụng Feed............................................................................30
Hình 11: Biểu đồ ca sử dụng Connections................................................................30
Hình 12: Biểu đồ ca sử dụng Update Profile............................................................31
Hình 13: Biểu đồ ca sử dụng Settings.......................................................................31
Hình 14: Biểu đồ hoạt động Check In Mood............................................................31
Hình 15: Biểu đồ hoạt động Maps............................................................................31
Hình 16 : Biểu đồ hoạt động Mood...........................................................................32
Hình 17: Biểu đồ hoạt động Post Image...................................................................32
Hình 18: Biểu đồ hoạt động Phục hồi ảnh/video đã lưu trữ.....................................32
Hình 19: Biểu đồ hoạt động Chức năng xem biểu đồ tâm trạng..............................33
Hình 20: Biểu đồ hoạt động Connections.................................................................33
Hình 21: Biểu đồ hoạt động View Profile.................................................................33
Hình 22: Biểu đồ tuần tự Login.................................................................................34
Hình 23: Biểu đồ tuần tự Check In...........................................................................34
Hình 24: Biểu đồ tuần tự Maps.................................................................................35
Hình 25: Biểu đồ tuần tự Post Image........................................................................35
Hình 26: Biểu đồ tuần tự Connections......................................................................35
Hình 27: Biểu đồ tuần tự Analytics...........................................................................36
Hình 28: Biểu đồ hoạt động Profile..........................................................................36
Hình 29: Biểu đồ tuần tự Comment Image...............................................................36
Hình 30 : Biểu đồ lớp giản lược................................................................................37
Hình 31: Biều đồ quan hệ thực thể trong quản lí User.............................................47
Hình 32: Biều đồ quan hệ thực thể trong chức năng Check In Mood......................48
Hình 33: Biều đồ quan hệ thực thể trong chức năng Post Image.............................49
Hình 34: Màn hình Login...........................................................................................52
Hình 35: Màn hình Register......................................................................................52
Hình 36: Màn hình Menu các chức năng của tài khoản Basic.................................53
Hình 37: Màn hình Menu các chức năng của tài khoản Plus...................................53
Hình 38: Màn hình Home tài khoản Basic................................................................54
Hình 39: Màn hình Home tài khoản Plus..................................................................54
Hình 40: Màn hình Profile tài khoản Plus.................................................................55
Hình 41: Màn hình Check In.....................................................................................55
Hình 42: Màn hình Maps...........................................................................................56
Hình 43: Màn hình Mood..........................................................................................56
Hình 43: Màn hình Feed............................................................................................57
Hình 45: Màn hình Detail Image...............................................................................57
Hình 46: Màn hình Detail Mood................................................................................58
Hình 47: Màn hình Dialog Check In.........................................................................58
Hình 48: Màn hình Post Image..................................................................................59
Hình 49: Màn hình Profile của tài khoản Plus..........................................................59
Hình 50: Màn hình Search Friends...........................................................................60
Hình 51: Màn hình Your Mood Trend.......................................................................60
DANH MỤC BẢNG BIỂU
Bảng 1: Bảng dự diện kiến kết quả đạt được...............................................................2
Bảng 2: Bảng các chức năng......................................................................................17
Bảng 3: Bảng đăng kí tài khoản, thiết lập mật khẩu lần đầu.....................................18
Bảng 4: Bảng yêu cầu chức năng đăng nhập.............................................................19
Bảng 5: Bảng yêu cầu chức năng quên mật khẩu......................................................19
Bảng 6 : Bảng yêu cầu chức năng thay đổi mật khẩu...............................................20
Bảng 7 : Bảng yêu cầu chức năng Check In với Icon Mood.....................................21
Bảng 8: Bảng yêu cầu chức năng Maps.....................................................................21
Bảng 9: Bảng yêu cầu chức năng Post Image............................................................22
Bảng 10 : Bảng yêu cầu chức năng Mood : xem lịch sử Check In của người dùng. 23
Bảng 11 : Bảng yêu cầu chức năng Feed ..................................................................24
Bảng 12 : Bảng yêu cầu chức năng xem biểu đồ trạng thái......................................24
Bảng 13 : Bảng yêu cầu chức năng cài đặt cho ứng dụng.........................................25
Bảng 14 : Bảng yêu cầu chức năng cập nhật thông tin cá nhân................................26
Bảng 15: Bảng yêu cầu chức năng tạo mối quan hệ bạn bè trên ứng dụng..............27
Bảng 16: Bảng User....................................................................................................38
Bảng 17: Bảng Countries............................................................................................39
Bảng 18: Bảng Devices..............................................................................................39
Bảng 19: Bảng user_image.........................................................................................39
Bảng 20: Bảng colors.................................................................................................40
Bảng 21: Bảng comment_likes...................................................................................41
Bảng 22: Bảng comments...........................................................................................41
Bảng 23 Bảng contacts...............................................................................................41
Bảng 24: Bảng email_activation................................................................................42
Bảng 25: Bảng image_like.........................................................................................42
Bảng 26: Bảng devices...............................................................................................43
Bảng 27: Bảng mood_comment_like.........................................................................43
Bảng 28: Bảng mood_comment.................................................................................44
Bảng 29: Bảng mood_likes........................................................................................44
Bảng 30: Bảng purchase_token..................................................................................45
Bảng 31: Bảng reports................................................................................................45
Bảng 32: Bảng user_mood.........................................................................................46
Xây dựng ứng dụng DailyMoodz trên nền tảng Android
MỞ ĐẦU
1. GIỚI THIỆU ĐỀ TÀI
Thời đại ngày nay, khi Internet ngày càng phổ biến, đời sống con người
được nâng cao, cùng với sự bùng nổ của điện thoại. Nhu cần giải trí ngày củng một
tăng. Check In , chụp ảnh, chia sẽ ảnh với bạn bè, trò chuyện nhóm là một trong các
hình thức giải trí được rất nhiều người lựa chọn.
Xuất phát từ các nhu cầu thực tế đó, ứng dụng DailyMoodz là nơi các bạn
có thể chia sẻ tâm trạng, chia sẻ ảnh với bạn bè. Chỉ với chiếc điện thoại, máy tính
bảng… có hệ điều hành Android thì bạn có thể tha hồ làm những việc đó.
Xuất phát từ ý tưởng cung cấp một ứng dụng giúp mọi người giải trí trong
thời gian rảnh rỗi, tôi đã chọn đề tài “Xây dựng ứng dụng DailyMoodz” làm đề tài
tốt nghiệp.
2. MỤC ĐÍCH VÀ HƯỚNG XÂY DỰNG ĐỀ TÀI
2.1 Mục đích của đề tài
Ứng dụng DailyMoodz trên nền tảng Android được tôi xây dựng sẽ hướng
đến những chức năng sau :
-
Thực hiện các chức năng nhằm mục đích giải trí cho người dùng :
Check In tâm trạng tại một vị trí, địa điểm nào đó với các
mood icon và ảnh.
Chia sẻ ảnh với mọi người.
Kết bạn và trò chuyện với bạn bè.
2.2 Ý nghĩa đề tài.
DailyMoodz là ứng dụng giải trí, nhằm mục đích giải trí sau những giờ làm
việc, hoặc trong thời gian rảnh.
SVTH: Bùi Xuân Thế - 11T2
Trang 1
Xây dựng ứng dụng DailyMoodz trên nền tảng Android
2.3 Phạm vi đề tài
“DailyMoodz” là ứng dụng trên điện thoại di động, trong giai đoạn này
được phát triển trên nền tảng di động Android phiên bản 2.3 trở lên.
2.4 Nhiệm vụ cần thực hiện
-
Tìm hiểu phát triển ứng dụng trên nền Android.
-
Xây dựng cơ sở dữ liệu.
2.5 Công cụ xây dựng
2.5.1 Phần ứng dụng:
-
Ứng dụng được viết bằng ngôn ngữ Java.
-
Cơ sở dữ liệu Webservice.
2.5.2 Môi trường triển khai:
-
Thiết bị chạy Android 2.3 trở lên
-
Các máy ảo Android như máy ảo mặc định của Android Develoption
Toolkit, Genymotion, …
2.6 Dự kiến kết quả đạt được
Bảng 1: Bảng dự diện kiến kết quả đạt được
Check In
Post Image
Maps
Người dung có thể Check In tâm trạng của mình tại một vị trí
nào đó, và sẽ được hiển thị trên Maps.
Người dùng có thể chia sẻ ảnh của mình với mọi người.
Hiển thị vị trí người dùng Check In và Post Image.
Feed
Như một dòng thời gian hiển thị các ảnh mà người dùng đăng
Connections
Người dùng có thể kết bạn với nhiều người khác.
Profile
Người dùng có thể thay đổi thông tin tài khoản cá nhân.
Chart
Biểu đồ tâm trạng của người dùng trong ngày, trong tuần.
Settings
Người dùng có thể cài đặt cho ứng dụng của mình.
SVTH: Bùi Xuân Thế - 11T2
Trang 2
Xây dựng ứng dụng DailyMoodz trên nền tảng Android
Login,Register,
Sign Out.
Người dùng có thể đăng ký mới tài khoản, đăng nhập để đăng
bài đăng, và có thể đăng xuất nếu sử dụng.
3 TÓM TẮT PHƯƠNG PHÁP TRIỂN KHAI
-
Tìm hiểu đề tài.
-
Thiết kế và phân tích hệ thống.
Xây dựng ứng dụng
Kiểm thử.
Chạy thử nghiệm và kiểm thử.
Viết báo cáo và tổng kết đề tài và đề ra hướng phát triển.
SVTH: Bùi Xuân Thế - 11T2
Trang 3
CHƯƠNG 1:
1.1.
CƠ SỞ LÝ THUYẾT
TÌM HIỂU NỀN TẢNG DI ĐỘNG
Hình 1: Hệ điều hành trên điện thoại
Ngày này, thị trường di động đang phát triển mạnh mẽ chưa từng thấy với
vô vàng các nhãn hiệu, kiểu dáng, tính năng...Đã biến chiếc điện thoại thành một
thiết bị giải trí đa phương tiện không thể thiếu. Với lợi thế nhỏ gọn, được mọi người
sử dụng đem theo mọi lúc mọi nơi, nhưng cũng vì nhỏ g ọn như vậy cũng là một bất
lợi về xử lý và tốc độ. Để đảm bảo một chiếc điện thoại thông minh hoạt động tốt
thì nó cần có một hệ điều hành quản lý thiết bị.Đi kèm với sự phát triển phần cứng
trên thiết bị động thì cuộc chiến của các nhà phát triển các hệ điều hành trên điện
thoại di động cũng diễn ra hết sức khốc liệt. Hiện nay, các nền tảng di động lớn
được biết đến như sau
1.1.1
IOS
IOS là hệ điều hành trên các thiết bị di động của Apple. Ban đầu hệ điều
hành này chỉ được phát triển để chạy trên iPhone, nhưng sau đó nó đã được mở
rộng để chạy trên các thiết bị của Apple như iPod touch, iPad và Apple TV. Ngày 31
tháng 5, 2011, App Store của Apple chứa khoảng 500 000 ứng dụng iOS, và được
tải về tổng cộng khoảng 15 tỷ lần. Trong quý 4 năm 2010, có khoảng 26% điện
thoại thông minh chạy hệ điều hành iOS, sau hệ điều hành Android của Google và
Symbian của Nokia.
Xây dựng ứng dụng DailyMoodz trên nền tảng Android
Giao diện người dùng của iOS dựa trên cơ sở thao tác bằng tay. Người dùng
có thể tương tác với hệ điều hành này thông qua rất nhiều động tác bằng tay trên
màn hình cảm ứng của các thiết bị của Apple.
Tháng 6 năm 2010, Apple đổi cái tên iPhone OS thành iOS. Nhãn hiệu
"IOS" đã được Cisco dùng để đặt tên cho hệ điều hành của mình. Để tránh các vụ
kiện cáo, Apple đã xin giấy phép sử dụng nhãn hiệu iOS từ Cisco.
1.1.2 ANDROID
Android là hệ điều hành trên điện thoại di động (và hiện nay là cả trên một
số đầu phát HD, HD Player, TV) phát triển bởi Google và dựa trên nền tảng Linux.
Trước đây, Android được phát triển bởi công ty liên hợp Android ( sau đó được
Google mua lại vào năm 2005).
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.
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ở.
1.1.3 WINDOWN PHONE
Windows Phone là hệ điều hành được Microsoft phát triển để thay thế cho
hệ điều hành di động Windows Mobile trước đây. Windows Phone bắt đầu từ phiên
bản thứ 7 (khi ra mắt, Microsoft gọi nó là Windows Phone 7, còn hiện giờ nó đã lên
đến 7.5). Được biết, do phát triển trong thời gian ngắn nên Windows Phone rất hạn
chế trong việc tương thích ngược với các nền tảng Windows Mobile trước đó. Một
SVTH: Bùi Xuân Thế - 11T2
Trang 5
Xây dựng ứng dụng DailyMoodz trên nền tảng Android
lý do nữa để Microsoft không quan tâm nhiều đến nền tảng cũ đó là vì màn hình
cảm ứng bằng ngón tay ngày càng phổ biến hơn trên điện thoại và Windows Mobile
vốn thiết kế cho bút stylus đã trở nên rất lỗi thời.
Một cột mốc quan trọng của Windows Phone đó là sự hợp tác giữa
Microsoft với Nokia sau khi hãng điện thoại Phần Lan này quyết định không còn
tập trung vào điện thoại Symbian nữa. Kết quả của sự hợp tác này đó là dòng Nokia
Lumia ra đời ở sự kiện Nokia World 2011. Đến CES 2012, Nokia tiếp tục ra mắt hai
máy Lumia mới nữa (mình sẽ đề cập ở phần sau). Việc tích hợp các dịch vụ của
Microsoft (Bing, Bing Maps, Windows Phone Marketplace,…) lên thiết bị Nokia
được cho là sẽ tạo nên lợi thế cạnh tranh cho WIndows Phone với hai đối thủ lớn
hiện thời là iOS và Android.
1.2. HỆ ĐIỀU HÀNH ANDROID
1.2.1. Giới thiệu
Hình 2: Các thiết bị 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ỗ
SVTH: Bùi Xuân Thế - 11T2
Trang 6
Xây dựng ứng dụng DailyMoodz trên nền tảng Android
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.
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ệ.
1.2.2. Kiến trúc
Hệ điều hành Android có các thành phần phần mềm tạm chia thành 5 phần
với 4 tầng chính trong sơ đồ kiến trúc như hình dưới đây :
SVTH: Bùi Xuân Thế - 11T2
Trang 7
Xây dựng ứng dụng DailyMoodz trên nền tảng Android
Hình 3: Kiến trúc hệ điều hành Android
1.2.2.1 Linux kernel
Ở dưới cùng của các tầng trên là Linux - Linux 2.6 với khoảng 115 bản vá
lỗi. Tầng này cung cấp chức năng hệ thống cơ bản như quản lý các tiến trình, quản
lý bộ nhớ, quản lý thiết bị như máy ảnh, bàn phím, màn hình hiển thị, v.v...Ngoài ra,
nhân Linux xử lý tất cả các vấn đề về Mạng và một loạt các trình điều khiển thiết bị
giao tiếp với phần cứng ngoại vi.
1.2.2.2 Libraries
Tầng này là một tập hợp các thư viện bao gồm trình duyệt web mã nguồn
mở sử dụng WebKit engine, thư viện libc, cơ sở dữ liệu SQLite là một kho lưu trữ
hữu ích cho việc lưu trữ và chia sẻ dữ liệu của ứng dụng, có các thư viện để
chơi/ghi lại âm thanh và video, các thư viện SSL chịu trách nhiệm về bảo mật
Internet, v.v...
SVTH: Bùi Xuân Thế - 11T2
Trang 8