Được tạo bởi Blogger.

Labels

Thứ Năm, 26 tháng 5, 2016

AndroidBasic - Architecture


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 chia thành 5 mục và 4 layer chính như dưới đây, trong biểu đồ cấu trúc.



Linux Kernel
Ở layer phía dưới là Linux - Linux 3.6 với gần 115 patch. Nó cung cấp một mức độ trừu tượng giữa thiết bị phần cứng và nó chứa tất cả các driver phần cứng cốt yếu như camera, keypad, display,.. Cũng thế, tất cả mọi thứ đều thực sự tốt như networking và một mảng rộng các driver của thiết bị.

Libraries
Phía trên của Linux Kernel có một thiết lập của các thư viện bao gồm các công cụ tìm kiếm mã nguồn mở Webkit, thư viện nổi tiếng như libc, SQLite database, rất có ích cho việc lưu trữ và chia sẻ dữ liệu của ứng dụng, các thư viện để chơi và thu âm, video, thư viện SSL cho bảo mật Internet,..

Andoird Libraries
Mục này có chứa các thư viện Java cơ bản đặc biệt dành cho phát triển Android. Ví dụ của thư viện trong mục này bao gồm các thư viện khung ứng dụng được thêm vào để dễ dàng xây dựng giao diện người dùng, vẽ đồ họa và truy cập cơ sở dữ liệu. Dưới đây tóm tắt một số từ khóa của các thư viện Android cho nhà phát triển Android.

       * android.app - Cung cấp truy cập tới model ứng dụng và là nền tảng của mọi ứng dụng Android.

      * android.content - Giúp dễ dàng truy cập nội dung, xuất bản và nhắn tin giữa các ứng dụng và giữa các thành phần của ứng dụng.

      * android.database - Được sử dụng để truy cập dữ liệu xuất bản bởi người cung cấp nội dung và bao gồm các class quản lí SQLite database.

       * 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 việc truy cập tới các dịch vụ của hệ điều hành chuẩn bao gồm: message, các dịch vụ hệ thống và giao tiếp inter-process.

       * android.text - Được sử dụng để đưa ra và thao tác text trên màn hình của một thiết bị.

       * android.view - Các khối xây dựng cơ bản của ứng dụng giao diện người 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ư: button, label, list view, quản lý layout, radio button,..

       * android.webkit - Một thiết lập của các class được dùng để cho phép các trình tìm kiếm web có thể được xây dựng vào các ứng dụng.

Đã bảo đảm các thư viện cốt lõi dựa trên Java trong thời gian chạy Android. Giờ là lúc chuyển sự chú ý của chúng ta tới các thư viện C/C++ cơ bản chưa trong layer này của khối phần mềm Android.

Android Runtime
Đây là mục thứ 3 của cấu trúc và có sẵn trên layout thứ 2 từ trên xuống. Mục này cung cấp một từ khóa thành phần được gọi là Dalvik Virtual Machine, là một loại máy ảo Java được đặt biệt thiết kế và được tối ưu hóa cho Android.

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

Android runtime cũng cung cấp một thiết lậ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 ngôn ngữ lập trình Java chuẩn.

Application Framework
Application Framework cung cấp nhiều dịch vụ higher-level để các ứng dụng trong mẫu của các class Java. Các nhà phát triển ứng dụng được cho phép để sử dụng các dịch vụ này trong ứng dụng của họ.

Android Framework bao gồm một số service sau đây:

       * Activity Manager - Điều khiển mọi khía cạnh của chu kỳ vòng đời ứng dụng và activity stack.

       * Content Providers - Cho phép các ứng dụng được 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 tới các nguồn tài nguyên không mã nhúng như string, color settings và user interface layout.

        * Notifications Manager - Cho phép các ứng dụng hiển thị alerts và thông báo cho người dùng.

        * View System - Một thiết lập có thể mở rộng view được sử dụng để tạo các giao diện ứng dụng người dùng.

Application
Bạn sẽ tìm thấy tất cả các ứng dụng Android ở layer đầu tiên. Bạn sẽ viết ứng dụng của bạn để được cài đặt chỉ trên layer này. Các ví dụ của ứng dụng là: Contacts Books, Brower, Games,..

0 nhận xét:

Đăng nhận xét