Đỉnh NGUYỄN

life's a journey not a destination

What is Android?

Leave a comment


Android là hệ điều hành dành cho các thiết bị thông tin di động, được phát triển tiên phong bởi Google. Android SDK cung cấp công cụ và APIs cần để bắt đầu phát triển ứng dụng trên nền Android dùng ngôn ngữ Java.


Features

* Application framework: cho phép dùng lại và thay thế các thành phần.

* Dalvik virtual Manchine: được tối ưu cho các thiết bị thông tin di động.

* Integrated browser: dựa trên engine tên Webkit (mã mở).

* Optimized graphics: được hỗ trợ bởi thư viện đồ họa 2D, 3D dựa trên OpenGL ES 1.0 (tùy chọn tăng tốc phần cứng).

* SQLite: lưu trữ dữ liệu có cấu trúc.

* Media support: audio, video và các định dạng ảnh thông dụng (MPEG4, H.262, MP3, AAC, AMR, JPG, PNG, GIF)

* GMS Telephony: (phụ thuộc phần cứng)

* Bluetooth, EDGE, 3G, và WiFi (phụ thuộc phần cứng).

* Camera, GPS, compas, và accelerometer (phụ thuộc phần cứng).

* Rich development environment: gồm bộ mô phỏng thiết bị di động, công cụ gỡ lỗi, quản lý bộ nhớ và hiệu suất, và plugin cho Eclipse IDE.


Android Architecture

Các thành phần chính của HĐH Android


Applications

Android đi kèm theo là tập các ứng dụng lõi bao gồm: email client, SMS program, calendar, maps, browser, contacts và nhiều thứ #. Tất cả ứng dụng được viết dùng ngôn ngữ Java.


Application Framework

Nhà phát triển được truy cập đầy đủ vào cùng 1 Framework APIs. Kiến trúc của ứng dụng được thiết kế nhằm dùng lại các thành phần.

Bên dưới của tất cả các ứng dụng là tập các dịch vụ và hệ thống, bao gồm:

* Một tập rất phong phú và có thể mở rộng thành phần Views, mà có thể dùng để biên dịch ứng dụng, gồm lists, grids, text boxes, buttons, và thậm chí một trình duyệt web có khả năng nhúng vào.

* Content Providers cho phép ứng dụng truy cập dữ liệu từ các ứng dụng khác (như Contacts) hoặc chia sẽ dữ liệu của ứng dụng cho các ứng dụng khác.

* Resource Manager, cung cấp khả năng truy cập những nguồn tài nguyên không phải mã như: localized string, graphics, và layout files.

* Notification Manager, cho phép tất cả ứng dụng hiện các thông báo lỗi ở status bar

* Activity Manager, quản lý chu kỳ sống của ứng dụng.


Libraries

Android gồm  tập thư viện C/C++ được dùng bởi các thành phần khác nhau của HĐH Android. Một số thư viện lõi:

* System C Library: một thư viện hệ thống C chuẩn (libc), dành cho thiết bị nhúng.

* Media Libraries: dựa trên PacketVideo’s OpenCORE, thư viện hỗ trợ playback và recording nhiều định dạnh audio và video phổ biến, cũng như ảnh tỉnh. MPEG4, H.264, MP3, AAC, AMR, JPG, và PNG.

* Surface Manager: quản lý truy cập vào các hệ thống hiển thị con (subsystem). và lớp đồ họa 2D, 3D từ nhiều ứng dụng.

* LibWebCore: một engine trình duyêt hiện đại, mạnh mẽ

* SGL: nằm bên dưới engine đồ họa 2D.

* 3D Libraries: một cài đặt dựa trên OpenGL ES 1.0 APIs, thư viện dùng tăng tốc 3D từ phần cứng (nếu có thể).

* FreeType: bitmap và vector font rendering.

* SQLite: engine csdl quan hệ nhẹ và mạnh cho tất cả ứng dụng.


Android Runtime

Android gồm tập thư viện lõi cung cấp hầu hết các chức năng trong thư viện của ngôn ngữ lập trình Java.

Mỗi ứng dụng Android chạy trên 1 tiến trình riêng, với thể hiện của Dalvik virtual machine. Dalvik được viết cho phép các thiêt bị chạy hiệu quả. Dalvik VM thực thi các file mang định dạng Dalvik Excutable (.dex) được tối ưu cho dung lượng bộ nhớ nhỏ. VM chạy các lớp được biên dịch bởi trình biên dịch ngôn ngữ Java và chuyển sang định dạng .dex bởi công cụ dx.


Linux Kernel

Android cung cấp trên Linux version 2.6 cho các dịch vụ hệ thống lõi như: security, memory management, process management, network stack, và driver model. Kernel cũng tương tác như là các lớp (layer) trừu tượng giữa phần cứng và phần còn lại của software stack.

Advertisements

Author: dinhnn

Senior software developer, a technical leader. You can be reached at via email to dinhnguyenngoc@gmail.com, via my blog at dinhnguyenngoc.wordpress.com, and on Twitter @dinhnguyenngoc.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s