Trao đổi với tôi

http://www.buidao.com

10/15/10

[Android] Tìm hiểu về Android

Android là gì?

Android là một phần mềm stack cho các thiết bị di động bao gồm một hệ điều hành, middleware và các ứng dụng quan trọng. Android SDK cung cấp các công cụ và API cần thiết để bắt đầu phát triển các ứng dụng trên nền tảng Android bằng cách sử dụng ngôn ngữ lập trình Java.


Những đặc tính
Ứng dụng framework cho phép tái sử dụng và thay thế các thành phần
Dalvik máy ảo được tối ưu hóa cho các thiết bị di động
Tích hợp trình duyệt dựa trên động cơ WebKit mã nguồn mở
Tối ưu hóa đồ họa được hỗ trợ bởi một tùy chỉnh đồ họa 2D thư viện; đồ họa 3D dựa trên những đặc điểm kỹ thuật OpenGL ES 1,0 (Tùy chôn tăng tốc phần cứng )
SQLite cho việc lưu trữ dữ liệu cấu trúc
Phương tiện truyền thông hỗ trợ cho âm thanh phổ biến, video, và vẫn còn định dạng hình ảnh (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
GSM điện thoại (phụ thuộc phần cứng)
Bluetooth, EDGE, 3G và WiFi (phụ thuộc phần cứng )
Camera, GPS, la bàn, và gia tốc (phụ thuộc phần cứng)
Môi trường phát triển phong phú bao gồm một mô phỏng thiết bị, công cụ để gỡ lỗi, bộ nhớ và profiling hiệu suất, và một plugin cho IDE Eclipse
Kiến trúc Android

Sơ đồ dưới đây cho thấy các thành phần chính của hệ điều hành Android. Mỗi phần được mô tả chi tiết hơn dưới đây.



Ứng dụng

Android sẽ ship với một bộ các ứng dụng lõi bao gồm một ứng dụng email, lịch chương trình tin nhắn SMS,, bản đồ, trình duyệt, liên lạc, và những người khác. Tất cả các ứng dụng được viết bằng cách sử dụng ngôn ngữ lập trình Java.


Ứng dụng Framework

Bằng cách cung cấp một nền tảng phát triển mở, Android cung cấp cho các nhà phát triển khả năng để xây dựng các ứng dụng vô cùng phong phú và sáng tạo. Các nhà phát triển được miễn phí để tận dụng lợi thế của các thiết bị phần cứng, thông tin địa điểm truy cập, dịch vụ chạy nền, thiết lập hệ thống báo động, thêm các thông báo đến các thanh trạng thái, và nhiều, nhiều hơn nữa.

Các nhà phát triển có thể truy cập vào các API cùng một khuôn khổ được sử dụng bởi các ứng dụng lõi. Kiến trúc ứng dụng được thiết kế để đơn giản hóa việc tái sử dụng các thành phần; bất kỳ ứng dụng có thể xuất bản các khả năng của mình và ứng dụng nào khác sau đó có thể làm cho việc sử dụng những khả năng (tùy thuộc vào chế bảo đảm thi hành theo khuôn khổ). Cơ chế này cũng cho phép các thành phần được thay thế bởi người sử dụng.

Nằm bên dưới tất cả các ứng dụng là một tập hợp các dịch vụ và hệ thống, bao gồm:
Một tập phong phú và mở rộng của xem có thể được sử dụng để xây dựng một ứng dụng, bao gồm các danh sách, lưới, hộp văn bản, các nút, và thậm chí một trình duyệt web nhúng
Nhà cung cấp nội dung cho phép các ứ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 riêng mình
Một quản lý tài nguyên, cung cấp quyền truy cập vào tài nguyên phi mã như dây bản địa hoá, đồ họa, và bố trí tập tin.
Một Notification Manager cho phép tất cả các ứng dụng tùy chỉnh để hiển thị cảnh báo trong thanh trạng thái.
Một Activity Manager quản lý vòng đời của các ứng dụng và cung cấp một backstack phổ biến chuyển hướng.

Thư viện

Android bao gồm một bộ thư viện C/C++, được sử dụng bởi các thành phần khác nhau của hệ thống Android. Những khả năng tiếp xúc với các nhà phát triển thông qua các khuôn khổ ứng dụng Android. Một số các thư viện lõi được liệt kê dưới đây:
System C library - một BSD-có nguồn gốc thực hiện các hệ thống thư viện chuẩn C (LIBC), điều chỉnh cho nhúng dựa trên Linux các thiết bị
Media Libraries - dựa trên OpenCORE PacketVideo's; sự hỗ trợ các thư viện phát lại và ghi âm của âm thanh và phổ biến nhiều định dạng video, cũng như các tập tin hình ảnh tĩnh, bao gồm MPEG4, H.264, MP3, AAC, AMR, JPG, và PNG
Surface Manager - quản lý quyền truy cập vào hệ thống con hiển thị và hoàn toàn phù hợp chất 2D và 3D lớp từ nhiều ứng dụng đồ họa
LibWebCore - một trình duyệt web hiện đại, động cơ có quyền hạn cả hai trình duyệt web của Android và một xem nhúng
SGL - các công cụ đồ họa 2D tiềm ẩn
3D libraries - một việc thực hiện dựa trên OpenGL ES 1,0 API; các thư viện, hoặc sử dụng phần cứng tăng tốc 3D (nếu có) hoặc bao gồm, cao tối ưu rasterizer phần mềm 3D
SQLite - một mạnh mẽ và nhẹ quan hệ cơ sở dữ liệu có sẵn cho tất cả các ứng dụng
Thời gian chạy Android

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

Mỗi ứng dụng Android chạy trong tiến trình riêng của mình, với trường hợp riêng của các máy ảo Dalvik. Dalvik đã được viết nên một thiết bị có thể chạy nhiều máy ảo hiệu quả. VM Dalvik thực hiện tác phẩm trong các Executable Dalvik (dex). Định dạng được tối ưu hóa cho bộ nhớ tối thiểu. VM là đăng ký trên, và chạy các lớp học biên soạn bởi một trình biên dịch ngôn ngữ Java đã được chuyển thành các định dạng dex. Do dx "bao gồm" công cụ.

VM Dalvik dựa vào hạt nhân Linux cho các chức năng tiềm ẩn như luồng và cấp quản lý bộ nhớ thấp.

DangTrung
reflink: http://kythuatlaptrinh.blogspot.com/2010/03/tim-hieu-ve-android.html