Chào các bạn đây là bài đầu tiên
trong series Android cơ bản, chúng ta sẽ cùng nhau tìm hiểu về cấu trúc hệ điều
hành Android.
Hệ điều hành Android là một ngăn xếp của các thành phần
phần mềm mà có thể đại khái phân chia thành 5 khu vực và 4 lớp chính. Hình dưới
đây minh họa sơ đồ cấu trúc Android.

Lớp Linux Kernel trong
Android
Linux Kernel là
lớp thấp nhất. Nó cung cấp các chức năng cơ bản như quản lý tiến trình, quản lý
bộ nhớ, quản lý thiết bị như: Camera, bàn phím, màn hình, … Ngoài ra, nó còn
quản lý mạng, driver của các thiết bị, điều này gỡ bỏ sự khó khăn về giao tiếp
với các thiết bị ngoại vi.
Libraries trong
Android
Phía trên Linux
Kernel là tập hợp các bộ thư viện mã nguồn mở WebKit, bộ thư viện nổi tiếng
libc, cơ sở dữ liệu SQLite hữu ích cho việc lưu trữ và chia sẻ dữ liệu, bộ thư
viện thể phát, ghi âm về âm thanh, hoặc video. Thư viện SSL chịu trách nhiệm cho
bảo mật Internet.
Android Libraries
Phần này gồm các
thư viện dựa trên Java. Nó bao gồm các Framework Library giúp xây dựng, vẽ đồ
họa và truy cập cơ sở dữ liệu trở nên dễ dàng hơn. Dưới đây là một số Android
Library cốt lõi có sẵn cho lập trình viên Android:
- android.app − Cung cấp truy cập tới mô hình ứng dụng và nó là nền móng cho tất cả ứng dụng Android.
- android.content − Việc truy cập nội dung, các thông điệp giữa các ứng dụng và các thành phần ứng dụng trở nên dễ dàng hơn.
- android.database − Được sử dụng để truy cập dữ liệu được công bố bởi Provider và bao gồm các lớp quản lý cơ sở dữ liệu SQLite.
- android.opengl − Một Java Interface cho OpenGL ES 3D thông qua API.
- android.os − Cung cấp cho các ứng dụng sự truy cập tới các dịch vụ chuẩn của hệ điều hành như thông báo, dịch vụ hệ thống và giao tiếp nội tiến trình.
- android.text − Được sử dụng để phục hồi và thao tác text trên một thiết bị hiển thị.
- android.view − Các khối kiến trúc nền tảng của ứng dụng UI.
- android.widget − Một tập hợp các UI được xây dựng trước như button, label, list view, layout manager, radio button, …
- android.webkit − Một tập hợp các lớp cho phép khả năng để trình duyệt trên web được xây dựng bên trong các ứng dụng.
Android Runtime
Đây là thành phần
thứ 3 trong cấu trúc, thuộc về lớp 2 tính từ dưới lên. Phần này cung cấp một
thành phần quan trọng gọi là Dalvik Virtual Machine là một máy ảo Java đặc biệt,
được thiết kế tối ưu cho Android.
Máy ảo Dalvik VM
sử dụng các tính năng cốt lõi của Linux như quản lý bộ nhớ, đa luồng, mà thực
chất là bên trong ngôn ngữ Java. Máy ảo Dalvik cho phép tất cả các ứng dụng
Android chạy trong tiến trình riêng của nó
Android Runtime
cũng cung cấp bộ thư viện cốt lõi, cho phép các lập trình viên Android sử dụng
để viết các ứng dụng Android.
Application
Framework
Lớp Application
Framework cung cấp nhiều dịch vụ cấp cao hơn cho các ứng dụng trong các lớp
Java. Các lập trình viên cũng được phép sử dụng các dịch vụ này trong các ứng
dụng của họ.
Application
Framework bao gồm các dịch vụ chính sau:
- Activity Manager − Điều khiển các khía cạnh của vòng đời ứng dụng và Activity Stack.
- Content Providers − Cho phép các ứng dụng công bố và chia sẻ dữ liệu với các ứng dụng khác.
- Resource Manager − Cung cấp sự truy cập tới các resource được nhúng (không phải code) như chuỗi, thiết lập màu, UI layout.
- Notifications Manager − Cho phép các ứng dụng hiển thị thông báo tới người dùng.
- View System − Một tập hợp các view được sử dụng để tạo UI cho ứng dụng.
Bạn sẽ thấy tất cả các ứng dụng Android ở lớp trên cùng. Ứng dụng bạn viết sẽ được cài đặt vào lớp này. Ví dụ của những ứng dụng này là Contacts Books, Browser, Games, …
Hy vọng bài này sẽ giúp các bạn hiểu rõ về cấu trúc của hệ điều hành Android. Cám ơn các bạn đã đọc bài viết.
Không có nhận xét nào:
Đăng nhận xét