Kiến trúc của Android

0
572

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 được tạm chia thành năm phần và bốn lớp chính như hình dưới đây trong sơ đồ kiến trúc.

Android Architecture

Linux kernel

Ở lớp cuối cùng là Linux – Linux 3.6 với khoảng 115 bản vá. Nó cung cấp một mức độ trừu tượng giữa các thiết bị phần cứng và nó có chứa tất cả các trình điều khiển phần cứng cần thiết như máy ảnh, bàn phím, màn hình, vv Ngoài ra, hạt nhân xử lý tất cả những điều mà Linux thực hiện tốt như mạng và một mảng rộng lớn của các trình điều khiển thiết bị.

Libraries

Ở trên của Linux kernel có một tập các thư viện bao gồm cả mã nguồn mở trình duyệt web WebKit, cũng như 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 ứng dụng, thư viện để chơi và ghi lại âm thanh, video, thư viện SSL chịu trách nhiệm về an ninh Internet, vv…

Android Libraries

Thể loại này bao gồm các thư viện Java hỗ trợ cho phát triển Android. Ví dụ về các thư viện trong thể loại này bao gồm các thư viện khung ứng dụng bổ sung như xây dựng giao diện, vẽ đồ họa và truy cập cơ sở dữ liệu. Một bản tóm tắt của một số thư viện Android cốt lỗi có sẵn cho các nhà phát triển Android là như sau –

  • android.app − Cung cấp truy cập vào các mô hình ứng dụng và là nền tảng của tất cả các ứng dụng Android.
  • android.content − Tạo điều kiện truy cập nội dung, thông báo và liên lạc giữa các ứng dụng và các thành phần ứng dụng.
  • android.database − Được sử dụng để truy cập dữ liệu được công bố bởi các nhà cung cấp nội dung và bao gồm các lớp quản lý cơ sở dữ liệu SQLite.
  • android.opengl − Một giao diện Java với OpenGL ES 3D dựng hình đồ họa API.
  • android.os − Cung cấp các ứng dụng với quyền truy cập vào các dịch vụ hệ điều hành chuẩn bao gồm tin nhắn, các dịch vụ hệ thống và quá trình liên lạc.
  • android.text − Được sử dụng để chỉnh sửa và thao tác văn bản trên màn hình điện thoại.
  • android.view − Các khối xây dựng cơ bản của giao diện người dùng của ứng dụng.
  • android.widget − Một bộ sưu tập phong phú của các thành phần giao diện người dùng được xây dựng trước như buttons, labels, list views, layout managers, radio buttons, vv..
  • android.webkit − Một tập hợp các lớp học nhằm cho phép khả năng lướt web.

Android Runtime

Đây là phần thứ ba của kiến trúc và có sẵn trên lớp thứ hai từ dưới lên. Phần này cung cấp một thành phần quan trọng được gọi là Dalvik Virtual Machine là một loại của Java Virtual Machine thiết kế đặc biệt và tối ưu hóa cho Android.

Dalvik VM sử dụng các tính năng cốt lõi Linux như quản lý bộ nhớ và đa luồng, mà là nội tại trong ngôn ngữ Java. Dalvik VM cho phép mọi ứng dụng Android chạy trong tiến trình riêng của nó, với yêu cầu của riêng mình trong máy ảo Dalvik.

The Android runtime cũng cung cấp một tập các thư viện lõi cho phép các nhà phát triển ứng dụng Android để viết các ứng dụng Android sử dụng tiêu chuẩn ngôn ngữ lập trình Java.

Application Framework

Lớp Application Framework cung cấp nhiều dịch vụ cấp cao hơn cho ứng dụng trong các hình thức của các lớp Java. Các nhà phát triển ứng dụng được phép sử dụng các dịch vụ này trong các ứng dụng của họ.

The Android framework bao gồm các dịch vụ chính sau: –

  • Activity Manager − Điều khiển tất cả các khía cạnh của vòng đời ứng dụng và các hoạt động ngăn xếp.
  • Content Providers − Cho phép các ứng dụng có thể xuất bản và chia sẻ dữ liệu với các ứng dụng khác.
  • Resource Manager − Cung cấp truy cập đến tài nguyên phi mã nhúng như chuỗi, cài đặt màu sắc và bố trí giao diện người dùng.
  • Notifications Manager − Cho phép các ứng dụng để hiển thị các cảnh báo và thông báo cho người sử dụng.
  • View System − Một thiết lập mở rộng để tạo ra các giao diện người dùng của ứng dụng.

Applications

Bạn sẽ tìm thấy tất cả các ứng dụng Android ở lớp trên cùng. Bạn sẽ viết ứng dụng của bạn chỉ được cài đặt trên lớp này. Ví dụ về các ứng dụng như là Sách, Trình duyệt, trò chơi vv..

Mời bạn theo dõi các bài sau trong chủ đề Android. Chúc bạn thành công!

This site uses Akismet to reduce spam. Learn how your comment data is processed.