Networks Business Online Việt Nam & International VH2

Kiến trúc của Hệ điều hành Android – Bài giảng phát triển ứng dụng cho các thiết bị di động –

Đăng ngày 03 October, 2022 bởi admin
Một phần của tài liệu BÀI GIẢNG PHÁT TRIỂN ỨNG DỤNG CHO CÁC THIẾT BỊ DI ĐỘNGHệ điều hành Android có những thành phần ứng dụng chia thành 5 phần với 4 tầng chính trong sơ đồ kiến trúc như hình dưới đây :
Hình 1.28. Kiến trúc của hệ điều hành Android

Chức năng chi tiết của từng tầng trong kiến trúc của hệ điều hành Android như
sau:

Hình 1.29. Nhân Linux trên Android
Android sử dụng nhân Linux 2.6. Tầng này cung ứng công dụng mạng lưới hệ thống cơ bản như tiếp xúc với tầng trên, bảo mật thông tin, quản trị bộ nhớ, quản trị những tiến trình, ngăn xếp mạng và trình điều khiển và tinh chỉnh thiết bị ( máy ảnh, bàn phím, màn hình hiển thị hiển thị, tiếp xúc USB, tiếp xúc hồng ngoại, không đây, v.v … ). Ngoài ra, nhân Linux này cũng có vai trò như một lớp trừu tượng giữa phần cứng và ứng dụng .

Thư viện và các giao diện lập trình ứng dụng

Android có một thư viện khá phong phú và đa dạng cung ứng sẵn để người lập trình hoàn toàn có thể sử dụng. Sơ đồ tóm tắt về mạng lưới hệ thống thư viện này như sau :
Hình 1.30. Thư viện và những giao diện lập trình ứng dụng Android
– Bộ thư viện : Android cung ứng một tập hợp những thư viện C / C + + như : o OpenGL : thư viện dùng để tạo ra những đồ họa 3D dựa vào
chuẩn OpenGLES 1.0 .
o FreeType : thư viện tương hỗ giải quyết và xử lý bitmap, font, vector. o SGL : thư viện cơ bản cung ứng những engine đồ họa 2D. o Libc : thư viện C chuẩn, được tối ưu cho những thiết bị Linux –
based .
o SQLite : thư viện thao tác với cơ sở tài liệu quan hệ nhỏ gọn SQLite .
o SSL : thư viện tương hỗ sử dụng giao thức mã hóa SSL ( Secure Sockets Layer ) trong bảo mật thông tin tiếp thị quảng cáo Internet
– Android runtime :
Android runtime phân phối một tập những thư viện lõi được cho phép những nhà tăng trưởng viết những ứng dụng Anroid sử dụng ngôn từ lập trình Java. Danh sách những gói API cơ bản sau được phân phối bởi tổng thể những thiết bị trên nền Android :

Bảng 1.2. Các gói thư viện trong Java

Gói thư viện Miêu tả
android.util Gói tiện ích cơ bản gồm có nhiều lớp mức thấp nhưcác lớp quản trị ( List, Stack … ), lớp giải quyết và xử lý chuỗi, lớpxử lý XML .
android.os Gói hệ điều hành được cho phép truy vấn đến những dịch vụcơ bản như : tin nhắn, đồng hồ đeo tay và gỡ lỗi .
android.graphics Gói đồ họa phân phối những lớp đồ họa mức thấp thựcnăng đồ họa, màu, vẽ cơ bản. hiện những chức android.text Công cụ hiển thị và giải quyết và xử lý văn bản
android.database Cung cấp những lớp mức thấp thao tác với cơ sở dữ liệuSQLite. như android.content
Các tiếp xúc lập trình nội dung được dùng để quản lýtruy cập tài liệu và xuất bản bằng cách phân phối cácdịch vụ thao tác với tài nguyên, nhà cung ứng nộidung và những gói .
android.view Cung cấp những lớp giao diện người dùng cơ bản nhất. Tất cả giao diện người dùng được tạo ra đều phải sửdụng một tập những view. android.widget
Xây dựng thừa kế từ gói android.view. Widget baogồm những thành phần giao diện tạo sẵn để tạo nên giao diện người dùng. Các widget gồm có danhsách, nút bấm, hộp nhập, những kiểu trình diễn ( layout ) .

com.google.android.maps Bộ API mức cao cho phép ứng dụng truy cập đến bảnsẵn có của Android, bao gồm các lớp MapView, Overley, đồ Google
MapController để tương tác vớibản đồ bên trong ứng dụng
android.app

Gói ứng dụng là một gói thư viện bậc cao, cho phéptruy cập đến tài liệu của ứng dụng. Gói ứng dụng cũng gồm có Activity, Service là thành phần cơ bảncủa mọi ứng dụng Android .
android.provider
Bao gồm một tập những lớp được cho phép ứng dụng truy cậpđến tài liệu tiêu chuẩn trong toàn bộ những bản phân phốiAndroid ( như tài liệu danh bạ ) .
android.telephony Cho phép ứng dụng tạo, nhận, theo dõi cuộc gọi, tìnhtrạng cuộc gọi và tin nhắn SMS .

android.webkit

Bao gồm một lớp WebView để tạo giao diện web nhúng trong ứng dung, thao tác với những nội dung web và một trình quản trị cookie .
Ngoài những thư viện chuẩn của Android, để cung ứng tiêu chuẩn tương thích với nhiều thiết bị khác nhau, Android còn hoàn toàn có thể có những API phụ thuộc vào thiết bị như : android.location, android.media, android.opengl, android.hardware, android.bluetooth, android.net.wifi .
Ngoài ra, Android runtime phân phối máy ảo Dalvik – một loại máy ảo Java được phong cách thiết kế đặc biệt quan trọng và tối ưu hóa cho Android. Máy ảo Dalvik sử dụng những tính năng cốt lõi của Linux như quản trị bộ nhớ và đa luồng, những tính năng này đều có trong ngôn từ Java. Máy ảo Dalvik được cho phép tổng thể những ứng dụng Android chạy trong tiến trình riêng của nó .

Khung ứng dụng Android

Hình 1.31. Khung ứng dụng Android
Khung ứng dụng Android phân phối nhiều dịch vụ cấp cao hơn trải qua những API ở dạng những lớp Java từ Android SDK cho những ứng dụng phía lớp trên. Các nhà tăng trưởng ứng dụng được phép sử dụng những dịch vụ này trong những ứng dụng của họ ( Ví dụ : dịch vụ liên kết Internet, dịch vụ SMS. .. ), điều này được cho phép những nhà tăng trưởng năng lực thiết kế xây dựng những ứng dụng cực kỳ phong phú và đa dạng và phát minh sáng tạo .
Cơ bản ứng dụng Android gồm có một bộ những dịch vụ do mạng lưới hệ thống phân phối, gồm có :
– Activity manager, fragment manager : quản trị quy trình sống và điều hướng những activity, fragment. Đồng thời quản trị activity stack .
– View system : một tập hợp rất nhiều những view sử dụng để tạo lập giao diện người dùng cho những activity, fragments .
– Notification manager : phân phối chính sách không thay đổi và quy củ cho việc gửi những thông tin đến người dùng trải qua những alerts trong thanh trạng thái ( status bar ) .
– Content provider : được cho phép những ứng dụng hoàn toàn có thể truy vấn và san sẻ tài liệu với ứng dụng khác ( như ứng dụng danh bạ sẵn có trong điện thoại thông minh ). – Resource manager : được cho phép truy xuất những thành phần không thuộc mã nguồn, ví dụ điển hình như : chuỗi ký tự ( localized strings ), đồ họa ( graphics ), file giao diện ( layout files ) .

Ứng dụng

Hình 1.32. Các ứng dụng trên Android
Đây là tầng trên cùng trong kiến trúc của hệ điều hành Android. Mặc định Android tích hợp sẵn 1 số ít ứng dụng thiết yếu cơ bản như : home, contacts, phone, browser, camera … Tất cả những ứng dụng chạy trên hệ điều hành Android đều được viết bằng ngôn từ Java và được quản trị bởi máy ảo Dalvik. Các ứng dụng này hoàn toàn có thể được cung ứng sẵn hoặc được tăng trưởng bởi lập trình viên. Khi ứng dụng được tăng trưởng bởi lập trình viên cần đưa ứng dụng lên kho ứng dụng ( ví dụ : Google Play, Amazon Appstore ), người dùng đầu cuối hoàn toàn có thể vào kho tải ứng dụng về máy .
Sau khi có cái nhìn tổng quát về kiến trúc của hệ điều hành Android, tất cả chúng ta cần hiểu quy trình khởi động những thành phần trong kiến trúc trên vào điện thoại cảm ứng Android diễn ra như thế nào ?
Hình 1.33. Quá trình khởi động hệ điều hành vào điện thoại thông minh Android Quá trình trên được miêu tả đơn cử như sau :

Khi nhấn nút trên điện thoại để khởi động hệ điều hành Android thì phần nhân
(Kernel) sẽ được khởi động trước tiên và gọi đến tiến trình khởi tạo (Init). Tại tiến
trình khởi tạo này sẽ chạy phần Daemons, Daemons làm nhiệm vụ quản lý phần cứng
cấp thấp (ví dụ: usb, adb, debuger, radio…). Sau đó tiến trình mồi Zygote và Runtime
sẽ được gọi đồng thời.

– Tiến trình mồi Zygote được gọi nhằm mục đích khởi động máy ảo Dalvik ( Dalvik VM ) để chạy những ứng dụng .
– Tiến trình Runtime được gọi nhằm mục đích khởi động trình quản lý dịch vụ ( Service Manager ). Một điều cần quan tâm ở đây là bất kỳ một dịch vụ chạy ngầm nào đều phải được ĐK với Service Manager ( Ví dụ : Surface Manager, Audio Manager … )
Từ đây toàn bộ những thành phần khác trong hệ điều hành Android sẽ được khởi động .

Source: https://vh2.com.vn
Category : Ứng Dụng