[C1_Bài 1] Ứng dụng và hệ điều hành Android

Hệ điều hành Android  là gì? Cấu trúc hệ điều hành Android như thế nào? Nó hoạt động ra sao? Tại sao ta có thể cài đặt đc ứng dụng .apk được trên các thiết bị Android? Trong bài viết này mình xin giới thiệu về cấu trúc của hệ điều hành Android và các thành phần trong một ứng dụng Android.

1. Hệ điều hành Android

Android là hệ điều hành được phát triển dựa trên nhân Linux,  Android được phát triển dựa trên project AOSP (Android Open Source Project) của Google.

Hệ điều hành Android có thể được mô tả gồm 4 phần giống như trong hình ảnh bên dưới. Và chúng ta là developer thường sẽ làm việc với 2 lớp bên trên (Applications, Application Framework) để có thể tạo ra ứng dụng mới.

cấu trúc hệ điều hành Android
Cấu trúc hệ điều hành Android

Mô tả chi tiết của từng lớp từ trên xuống dưới:

– Application: là tầng chứa ứng dụng, giống như ứng dụng FaceBook, Browser, Camera, Gallery, Music, Phone và ứng dụng Danh bạ .v.v.v.

– Application framework: là những API cho phép tương tác ở cấp độ cao với hệ thống.

– Libraries and runtime: là những thư viện cung cấp khung sườn chức năng như: render đồ họa, lưu trữ dữ liệu (SQLite, Realm), web browsing. Ngoài ra còn có Android Runtime cũng như thư viện Java core để chạy các ứng dụng Android.

– Linux kernel: là tầng để hệ điều hành có thể giao tiếp với phần cứng cơ bản của thiết bị.

2. Phiên bản Android

Theo thời gian Android đã xuất bản ra rất nhiều version khác nhau, mỗi version thì Google đã thay đổi rất nhiều để có được hiệu suất sử dụng cũng như trải nghiệm tốt nhất đến người dùng. Bên cạnh đó là dân dev ta cũng phải chú ý đến các version này, vì 1 số component mới trên android version mới không thể hoạt động trên version cũ.

Tất cả version tính đến thời điểm hiện tại 2017 gồm những version sau:

Android versions

Code name

Version

API level

Nougat

7.0 – 7.1.1

24 -25

Marshmallow

6.0

23

Lollipop

5.1

22

Lollipop

5.0

21

KitKat

4.4 – 4.4.4

19

Jelly Bean

4.1.x – 4.3.x

16 – 18

Ice Cream Sandwich

4.0.1 – 4.0.4

14 – 15

Honeycomb

3.2.x

13

Honeycomb

3.0 – 3.1

11 – 12

Gingerbread

2.3 – 2.3.7

9-10

Froyo

2.2.x

8

Eclair

2.1

7

Eclair

2.0 – 2.0.1

5 -6

Donut

1.6

4

Cupcake

1.5

3

(no code name)

1.1

2

(no code name)

1.0

1

3. Ứng dụng Android

(APP) là 1 ứng dụng cho phép người dùng cài đặt lên hệ điều hành và có thể bắt đầu được sử dụng 1 cách độc lập không còn phụ thuộc vào file cài đặt nữa (cài xong file apk xong xóa nó đi, app cài rồi vẫn chạy bình thường). Một ứng dụng sẽ bao gồm các file cấu hình, java source, và các file resource (layout, value, xml, hình ảnh…), phần này chúng ta sẽ thấy rõ hơn trong bài hướng dẫn sử dụng Android Studio.

Các thành phần thường thấy trong 1 ứng dụng Android:

ComponentMô tả

Application

Một ứng dụng android có thể có ít nhất 1 Application class, nó được khởi tạo đầu tiên trước bất cứ component nào trong ứng dụng. Nó cũng là thành phần mà dừng cuối cùng khi mà ứng dụng bị shutdown.

Nếu ta không định nghĩa rõ ràng class Application này. Thì Android sẽ tự tạo 1 đối tượng Application mặc định cho ứng dụng.

Activity

Activity là component hiển thị giao diện của ứng dụng. Mỗi ứng dụng sẽ có một hoặc nhiều Activity(màn hình) khác nhau.

Activities sử dụng các viewsfragments để tạo giao diện người dùng và tương tác với người dùng.

Service

Một service thực hiện các nhiệm vụ mà không cần cung cấp các giao diện người dùng. Giống như Activity nhưng services không có giao diện.

Có thể giao tiếp với thành phần khác của ứng dụng và có thể gửi thông báo cho người dùng. Ví dụ như chờ tin nhắn đến và thông báo nội dung tin nhắn cho người dùng qua notification.

Broadcast receiver (short: receiver)

1 Receiver có thể được đăng ký để lắng nghe tin nhắn từ hệ thống và từ intent. Một receiver có thể thông báo cho người dùng nếu sự kiện chỉ định được sảy ra.

Ví dụ như ứng dụng của ta khai báo 1 cái receiver lắng nghe sự kiện khi nào điện thoại sạc xong thì báo thông báo pin đã đầy ngắt sạc. Ngoài ra ta có thể lắng nghe tin nhắn đến, cuộc gọi, sự kiện khởi động lại máy.v.v.

Content provider (short: provider)

Provider để định nghĩa cấu trúc dữ liệu của ứng dụng. một provider có thể được sử dụng để truy xuất tới dữ liệu trong 1 ứng dụng, nhưng nó cũng có thể sử dụng để chia sẻ dữ liệu cho các ứng dụng khác.

Android chứa 1 cơ sở dữ liệu tên là SQLite, nó thường được sử dụng kết hợp với provider. SQLite có thể lưu trữ dữ liệu và nó có thể truy xuất dữ liệu qua provider.

Lời kết: Như vậy mình vừa trình bày cấu trúc hệ điều hành Android, để tìm hiểu thêm về kiến thức lập trình Android các bạn có thể xem thêm các bài viết khác trong chuyên mục Lập trình Android.

(Tác giả: Ninh Luyen)

Bình luận

Loading...