Android - Kiến trúc
Hệ điều hành Android là một tập hợp các thành phần phần mềm được chia thành năm phần và bốn lớp chính như thể hiện bên dưới trong sơ đồ kiến trúc.
nền tảng Linux
Ở cuối các lớp là Linux - Linux 3.6 với khoảng 115 bản vá. Điều này cung cấp một mức độ trừu tượng giữa phần cứng thiết bị và nó chứa tất cả các trình điều khiển phần cứng thiết yếu như máy ảnh, bàn phím, màn hình, v.v. Ngoài ra, hạt nhân xử lý tất cả những thứ mà Linux thực sự giỏi như mạng và một loạt các trình điều khiển thiết bị , giúp giảm bớt khó khăn khi giao tiếp với phần cứng ngoại vi.
Thư viện
Trên nhân Linux có một bộ thư viện bao gồm công cụ trình duyệt web mã nguồn mở WebKit, thư viện libc nổi tiếng, cơ sở dữ liệu SQLite là một kho lưu trữ hữu ích để lưu trữ và chia sẻ dữ liệu ứng dụng, thư viện để phát và ghi âm thanh và video, SSL thư viện chịu trách nhiệm về bảo mật Internet, v.v.
Thư viện Android
Danh mục này bao gồm các thư viện dựa trên Java dành riêng cho việc phát triển Android. Ví dụ về các thư viện trong danh mục này bao gồm các thư viện khung ứng dụng bên cạnh các thư viện hỗ trợ xây dựng giao diện người dùng, vẽ đồ họa và truy cập cơ sở dữ liệu. Bản tóm tắt về một số thư viện cốt lõi chính của Android dành cho nhà phát triển Android như sau:
android.app - Cung cấp quyền truy cập vào 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 cho việc truy cập nội dung, xuất bản và nhắn tin 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 xuất bản 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 - Giao diện Java cho API kết xuất đồ họa 3D OpenGL ES.
android.os - Cung cấp cho các ứng dụng quyền truy cập vào các dịch vụ hệ điều hành tiêu chuẩn bao gồm tin nhắn, dịch vụ hệ thống và giao tiếp giữa các quá trình.
android.text - Được sử dụng để hiển thị và thao tác văn bản trên màn hình thiết bị.
android.view - Các khối xây dựng cơ bản của giao diện người dùng ứng dụng.
android.widget - Một bộ sưu tập phong phú các thành phần giao diện người dùng được xây dựng trước như nút, nhãn, chế độ xem danh sách, trình quản lý bố cục, nút radio, v.v.
android.webkit - Một tập hợp các lớp nhằm cho phép khả năng duyệt web được tích hợp vào các ứng dụng.
Đã bao gồm các thư viện cốt lõi dựa trên Java trong thời gian chạy Android, bây giờ là lúc chúng ta chuyển sự chú ý đến các thư viện dựa trên C / C ++ có trong lớp này của ngăn xếp phần mềm Android.
Thời gian chạy Android
Đâ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 chính được gọi làDalvik Virtual Machine là một loại Máy ảo Java được 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 của Linux như quản lý bộ nhớ và đa luồng, vốn có trong ngôn ngữ Java. Dalvik VM cho phép mọi ứng dụng Android chạy trong quy trình riêng của nó, với phiên bản máy ảo Dalvik của riêng nó.
Thời gian chạy Android cũng cung cấp một bộ thư viện cốt lõi cho phép các nhà phát triển ứng dụng Android viết các ứng dụng Android bằng ngôn ngữ lập trình Java tiêu chuẩn.
Khung ứng dụng
Lớp Khung ứng dụng cung cấp nhiều dịch vụ cấp cao hơn cho các ứng dụng dưới dạng 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ọ.
Khung Android bao gồm các dịch vụ chính sau:
Activity Manager - Kiểm soát tất cả các khía cạnh của vòng đời ứng dụng và ngăn xếp hoạt động.
Content Providers - Cho phép ứng dụng xuất bản và chia sẻ dữ liệu với các ứng dụng khác.
Resource Manager - Cung cấp quyền truy cập vào các tài nguyên nhúng không mã như chuỗi, cài đặt màu và bố cục giao diện người dùng.
Notifications Manager - Cho phép ứng dụng hiển thị các cảnh báo và thông báo cho người dùng.
View System - Một tập hợp các khung nhìn có thể mở rộng được sử dụng để tạo giao diện người dùng ứng dụng.
Các ứng dụng
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 mình để chỉ được cài đặt trên lớp này. Ví dụ về các ứng dụng đó là Sách Danh bạ, Trình duyệt, Trò chơi, v.v.