
11 thg 3, 2016
Tìm hiểu hệ điều hành Android và viết ứng dụng trò chơi xếp hình (Tetris) (Có source code)
Tìm hiểu hệ điều hành Android và viết ứng dụng trò chơi xếp hình
4. Các phiên bản chính thức đã ra mắt
Android 1.5 Cupcake: đây là phiên bản đầu tiên với nhiều tính năng và cải
tiến mới mang tính văn phòng đến cho người dùng T-Mobile G1. Điểm nổi
bật ở phiên bản này là người dùng có thể quay video và tải lên YouTube từ
chính thiết bị của mình.
Android 1.6 Donut: nâng cao khả năng hỗ trợ ứng dụng thông qua Android
Market trên các thiết bị và một số tính năng trên có trên nền tảng.
Android 2.2 Froyo: cải thiện tốc độ thực thi, hỗ trợ Adobe Flash và thêm
chức năng tethering cho phép biến chiếc điện thoại thành một điểm phát
wifi.
Android 2.3 Gingerbread: tiếp tục nâng cấp giao diện người dùng, cải thiện
bàn phím cảm ứng, tính năng sao chép dữ liệu (copy/paste) và hỗ trợ truyền
thông gần (NFC – Near Field Communication)
Android 3.0/3.1 Honeycomb: đây là phiên bản hệ điều hành Android dành
riêng cho máy tính bảng được phát hành nhằm đạt được hiệu quả cao hơn
trong việc sử dụng các thiết bị có kích thước màn hình lớn và giới thiệu thêm
một số tính năng mới trên giao diện người dùng cho máy tính bảng.
5. Kiến trúc hệ điều hành Android.
Hệ điều hành Android có 4 tầng từ dưới lên trên:
-
Tầng kernel Linux (Phiên bản 2.6).
-
Tầng Libraries & Android runtime.
-
Tầng Application Framework.
-
Tầng Application.
Nhóm thực hiện: Vũ Đình Phú & Hoàng Thị Diệu
7
Tìm hiểu hệ điều hành Android và viết ứng dụng trò chơi xếp hình
Hình 2: Kiến trúc hệ điều hành Android
a. Tầng hạt nhân Linux (Linux Kernel layer)
Hệ điều hành Android được phát triển dựa trên hạt nhân linux, cụ thể là linux
kernel phiên bản 2.6, điều đó được thể hiện ở lớp dưới cùng này. Tất cả mọi hoạt động
của điện thoại muốn thi hành được thì đều được thực hiện ở mức cấp thấp ở lớp này
bao gồm quản lý bộ nhớ (memory management), giao tiếp với phần cứng (driver
model), thực hiện bảo mật (security), quản lý tiến trình (process).
Tuy được phát triển dựa vào nhân linux nhưng thực ra nhân linux đã được nâng cấp
và sửa đổi rất nhiều để phù hợp với tính chất của những thiết bị cầm tay như hạn chế về
bộ vi xử lý, dung lượng bộ nhớ, kích thước màn hình, nhu cần kết nối mạng không
dây….
Tầng này có các thành phần chủ yếu :
Nhóm thực hiện: Vũ Đình Phú & Hoàng Thị Diệu
8
Tìm hiểu hệ điều hành Android và viết ứng dụng trò chơi xếp hình
-
Display Driver : Điều khiển việc hiển thị lên màn hình cũng như thu nhận
những điều khiển của người dùng lên màn hình (di chuyển, cảm ứng…).
-
Camera Driver : Điều kiển hoạt động của camera, nhận luồng dữ liệu từ camera
trả về.
-
Bluetooth Driver : Điều khiển thiết bị phát và thu sóng Bluetooth.
-
USB driver : Quản lý hoạt động của các cổng giao tiếp USB.
-
Keypad driver : Điều khiển bàn phím.
-
Wifi Driver : Chịu trách nhiệm về việc thu phát sóng wifi.
-
Audio Driver : điều khiển các bộ thu phát âm thanh, giải mã các tính hiệu dạng
audio thành tín hiệu số và ngược lại.
-
Binder IPC Driver : Chịu trách nhiệm về việc kết nối và liên lạc với mạng vô
tuyến như CDMA, GSM, 3G, 4G, E để đảm bảo những chức năng truyền thông
được thực hiện.
-
M-System Driver : Quản lý việc đọc ghi… lên các thiết bị nhớ như thẻ SD,
flash.
-
Power Madagement : Giám sát việc tiêu thụ điện năng.
Tầng Library và Android runtime: Phần này có 2 thành phần là phần Library và
Android Runtime.
b. Tầng Libraries.
Libraries
Phần này có nhiều thư viện được viết bằng C/C++ để các phần mềm có thể sử
dụng, các thư viện đó được tập hợp thành một số nhóm như :
-
Thư viện hệ thống (System C library) : Thư viện dựa trên chuẩn C, được sử
dụng chỉ bởi hệ điều hành.
-
Thư viện Media (Media Libraries) : Có nhiều mã để hỗ trợ việc phát và ghi các
loại định dạng âm thanh, hình ảnh, video thông dụng.
Nhóm thực hiện: Vũ Đình Phú & Hoàng Thị Diệu
9
Tìm hiểu hệ điều hành Android và viết ứng dụng trò chơi xếp hình
-
Thư viện web (LibWebCore) : Đây là thành phần để xem nội dung trên web,
được sử dụng để xây dựng phần mềm duyệt web (Android Browse) cũng như
để các ứng dụng khác có thể nhúng vào. Nó cực kỳ mạnh, hỗ trợ được nhiều
công nghệ mạnh mẽ như HTML5, JavaScript, CSS, DOM, AJAX..
-
Thư viện SQLite : Hệ cơ sở dữ liệu để các ứng dụng có thể sử dụng.
-
…..
Phần Android runtime
Phần này chứa các thư viện mà một chương trình viết bằng ngôn ngữ Java có thể
hoạt động. Phần này có 2 bộ phận tương tự như mô hình chạy Java trên máy tính
thường.
-
Thứ nhất là các thư viện lõi (Core Library), chứa các lớp như JAVA IO,
Collections, File Access.
-
Thứ hai là một máy ảo java (Dalvik Virtual Machine).
Mặc dù cũng được viết từ ngôn ngữ Java nhưng một ứng dụng Java của hệ điều
hành Android không được chạy bằng JRE của Oracle (JVM) mà là chạy bằng máy ảo
Dalvik do Google phát triển.
c. Tầng Application Framework.
Tầng này xây dựng bộ công cụ, các phần tử ở mức cao để các lập trình viên có
thể nhanh chóng xây dựng ứng dụng. Nó được viết bằng Java, có khả năng sử dụng
chung để tiết kiệm tài nguyên.
Đây là một nền tảng mở, điều đó có 2 điều lợi:
-
Với các hãng sản xuất điện thoại : Có thể tùy biến để phù hợp với cấu hình điện
thoại mà họ sản xuất cũng như để có nhiều mẫu mã, style (phong cách) hợp thị
hiếu người dùng. Vì thế nên tuy cùng chung nền tảng Android mà điện thoại của
Google có thể khác hẳn với Motorola, HTC, T-Mobile, Samsung…
Nhóm thực hiện: Vũ Đình Phú & Hoàng Thị Diệu
10
Tìm hiểu hệ điều hành Android và viết ứng dụng trò chơi xếp hình
-
Với lập trình viên : Cho phép lập trình viên có thể sử dụng các API ở tầng trên
mà không cần phải hiểu rõ cấu trúc bên dưới, tạo điều kiện cho lập trình viên tự
do sáng tạo bởi vì chỉ cần quan tâm đến nội dung mà ứng dụng họ làm việc. Một
tập hợp API rất hữu ích được xây dựng sẵn như hệ thống định vị, các dịch vụ
chạy nền, liên lạc giữa các ứng dụng, các thành phần giao diện cấp cao …
Giới thiệu một số thành phần của phần này:
-
Activity Manager: Quản lý các chu kỳ sống của một ứng dụng cũng như cung
cấp công cụ điều khiển các Activity.
-
Telephony Manager: Cung cấp công cụ để thực hiện việc liên lạc như gọi điện
thoại.
-
XMPP Service: Cung cấp công cụ để liên lạc trong thời gian thực.
-
Location Manager: Cho phép xác định vị trí của điện thoại thoại dựa vào hệ
thống định vị toàn cầu GPS và Google Maps.
-
Window Manager: Quản lý việc xây dựng và hiển thị các giao diện người dùng
cũng như tổ chức quản lý các giao diện giữa các ứng dụng.
-
Notication Manager : Quản lý việc hiển thị các thông báo (như báo có tin nhắn,
có e-mail mới..).
-
Resource Manager : Quản lý tài nguyên tĩnh của các ứng dụng bao gồm các file
hình ảnh, âm thanh, layout, string. (Những thành phần không được viết bởi ngôn
ngữ lập trình).
-
…..
d. Tầng Application
Đây là lớp ứng dụng giao tiếp với người dùng, bao gồm các ứng dụng như :
Các ứng dụng cơ bản, được cài đặt đi liền với hệ điều hành là gọi điện (phone), quản lý
danh bạ (Contacts), duyệt web (Browser), nhắn tin (SMS), lịch làm việc (Calendar),
đọc e-mail (Email-Client), bản đồ (Map), quay phim chụp ảnh (camera)…
Nhóm thực hiện: Vũ Đình Phú & Hoàng Thị Diệu
11
Tìm hiểu hệ điều hành Android và viết ứng dụng trò chơi xếp hình
Các ứng dụng được cài thêm như các phần mềm chứng khoán (Stock), các trò chơi
(Game), từ điển…
Các chương trình có các đặc điểm là :
-
Viết bằng Java, phần mở rộng là apk.
-
Khi mỗi ứng dụng được chạy, nó có một phiên bản Virtual Machine được dựng
lên để phục vụ cho nó. Nó có thể là một Active Program (Chương trình có giao
diện với người sử dụng) hoặc là một background (chương trình chạy nền hay là
dịch vụ).
-
Android là hệ điều hành đa nhiệm, điều đó có nghĩa là trong cùng một thời
điểm, có thể có nhiều chương trình cùng chạy một lúc, tuy nhiên, với mỗi ứng
dụng thì có duy nhất một thực thể (instance) được phép chạy mà thôi. Điều đó
có tác dụng hạn chế sự lạm dụng tài nguyên, giúp hệ thống hoạt động tốt hơn.
-
Các ứng dụng được gán số ID của người sử dụng nhằn phân định quyền hạn khi
sử dụng tài nguyên, cấu hình phần cứng và hệ thống.
-
Android là một hệ điều hành có tính mở, khác với nhiều hệ điều hành di động
khác, Android cho phép một ứng dụng của bên thứ ba được phép chạy nền. Các
ứng dụng đó chỉ có một hạn chế nhỏ đó là nó không được phép sử dung quá
5~10% công suất CPU, điều đó nhằn để tránh độc quyền trong việc sử dụng
CPU.
6. Hệ thống tập tin trên hệ điều hành.
Vấn đề quản lý hệ thống tập tin. Phần này có điểm thuận lợi để tìm hiểu đó là vì
được phát triển từ nhân linux nên hệ thống tập tin trên Android cực kỳ giống hệ thống
tập tin trên linux như là về cách tổ chức, những quyền hạn của người sử dụng lên file…
a. Tổng quan về hệ thống file trên Android.
Nhóm thực hiện: Vũ Đình Phú & Hoàng Thị Diệu
12

Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét