Bài 1: Tổng quan về hệ điều hành Android - Lập trình Android cơ bản

Đăng bởi: Admin | Lượt xem: 6769 | Chuyên mục: Android


1. Giới thiệu về hệ điều hành Android

1.1 Lịch sử phát triển
Năm 2003, Android Inc được thành lập bởi Andy Rubin, Rich Miner, Nick Sears và Chris White tại california.
Năm 2005, Google sở hữu Android cùng với các quản lý.
Năm 2007, OHA(Open Handset Alliance ) được thành lập bởi Google cùng với nhiều nhà sản xuất phần cứng, thiết bị không dây và vi xử lý. Công bố nền tảng phát triển Android1.0.
Năm 2008, thiết bị HTC Dream là phiên bản thế hệ đầu tiên hoạt động với hệ điều hành Android 1.0.
Năm 2010, Google khởi đầu dòng thiết bị đầu tiên của HTC là Nexus One.
Năm 2013, Ra mắt loại thiết bị phiên bản GPE.
Năm 2014, Google công báo Android wear, hệ điều hành dành cho các thiết bị đeo được.

1.2 Các phiên bản hệ điều hành
Phiên bản 1.x:
Android 1.0 (API 1)
Android 1.1 (API 2)
Android 1.5 Cupcake (API 3)
Android 1.6 Donut (API 4)
Phiên bản 2.x:
Android 2.0 Eclair (API 5) - Android 2.0.1 (API 6) - Android 2.1 (API 7)
Android 2.2 - 2.2.3 Froyo (API 8)
Android 2.3 - 2.3.2 Gingerbread (API 9)
Phiên bản 3.x:
Android 3.0 Honeycomb (API 11)
Android 3.1 Honeycomb (API 12)
Android 3.2 Honeycomb (API 13).
Phiên bản 4.x.
Android 4.0 - 4.0.2 Ice Cream Sandwich (API 14).
Android 4.0,3 - 4.0.4 Ice Cream Sandwich (API 15).
Android 4.1 Jelly Bean (API 16).
Android 4.2 Jelly Bean (API 17).
Android 4.3 Jelly Bean (API 18)Android 4.4 Kitkat (API 19).
1.3 Kiến trúc Android
1.3.1 Cấu tạo
Android được hình thành dựa trên nền tảng linux nhân 2.6, từ phiên bản 4.0 sử dụng Linux nhân 3.x.
Android bao gồm 3 thành phần chính
 * Middleware.
 * Các thư viện và API viết bằng C.
 * Các ứng dụng thực thi viết bằng java.Sử dụng máy ảo Dalvik để biên dịch mã .dex (Dalvik Excuteable) sang Java bytecode.
1.3.2 Kiến trúc
Application
Tầng ứng dụng chứa các ứng dụng, như Trình duyệt, Máy ảnh, Thư viện, Âm nhạc và Điện thoại.
Application Framework
Lớp Application Framework cung cấp nhiều dịch vụ cấp cao hơn cho các ứng dụng trong các lớp Java. Các lập trình viên cũng được phép sử dụng các dịch vụ này trong các ứng dụng của họ.
Application Framework bao gồm các dịch vụ chính sau: −
  1. Activity Manager − Điều khiển các khía cạnh của vòng đời ứng dụng và Activity Stack.
  2. Content Providers − Cho phép các ứng dụng công bố và chia sẻ dữ liệu với các ứng dụng khác.
  3. Resource Manager − Cung cấp sự truy cập tới các resource được nhúng (không phải code) như chuỗi, thiết lập màu, UI layout.
  4. Notifications Manager − Cho phép các ứng dụng hiển thị thông báo tới người dùng.
  5. View System − Một tập hợp các view được sử dụng để tạo UI cho ứng dụng.
Android runtime
Đây là thành phần thứ 3 trong cấu trúc, thuộc về lớp 2 tính từ dưới lên. Phần này cung cấp một thành phần quan trọng gọi là Dalvik Virtual Machine là một máy ảo Java đặc biệt, được thiết kế tối ưu cho Android.
Máy ảo Dalvik VM sử dụng các tính năng cốt lõi của Linux như quản lý bộ nhớ, đa luồng, mà thực chất là bên trong ngôn ngữ Java. Máy ảo Dalvik cho phép tất cả các ứng dụng Android chạy trong tiến trình riêng của nó.
Libraries
Phía trên Linux Kernel là tập hợp các bộ thư viện mã nguồn mở WebKit, bộ thư viện nổi tiếng libc, cơ sở dữ liệu SQLite hữu ích cho việc lưu trữ và chia sẻ dữ liệu, bộ thư viện thể phát, ghi âm về âm thanh, hoặc video. Thư viện SSL chịu trách nhiệm cho bảo mật Internet.
Android Libraries
Phần này gồm các thư viện dựa trên Java. Nó bao gồm các Framework Library giúp xây dựng, vẽ đồ họa và truy cập cơ sở dữ liệu trở nên dễ dàng hơn. Dưới đây là một số Android Library cốt lõi có sẵn cho lập trình viên Android: −
  1. android.app − Cung cấp truy cập tới mô hình ứng dụng và nó là nền móng cho tất cả ứng dụng Android.
  2. android.content − Việc truy cập nội dung, các thông điệp giữa các ứng dụng và các thành phần ứng dụng trở nên dễ dàng hơn.
  3. android.database − Được sử dụng để truy cập dữ liệu được công bố bởi Provider và bao gồm các lớp quản lý cơ sở dữ liệu SQLite.
  4. android.opengl − Một Java Interface cho OpenGL ES 3D thông qua API.
  5. android.os − Cung cấp cho các ứng dụng sự truy cập tới các dịch vụ chuẩn của hệ điều hành như thông báo, dịch vụ hệ thống và giao tiếp nội tiến trình.
  6. android.text − Được sử dụng để phục hồi và thao tác text trên một thiết bị hiển thị.
  7. android.view − Các khối kiến trúc nền tảng của ứng dụng UI.
  8. android.widget − Một tập hợp các UI được xây dựng trước như button, label, list view, layout manager, radio button, …
  9. android.webkit − Một tập hợp các lớp cho phép khả năng để trình duyệt trên web được xây dựng bên trong các ứng dụng.
Linux kernel: Linux Kernel là lớp thấp nhất. Nó cung cấp các chức năng cơ bản như quản lý tiến trình, quản lý bộ nhớ, quản lý thiết bị như: Camera, bàn phím, màn hình, … Ngoài ra, nó còn quản lý mạng, driver của các thiết bị, điều này gỡ bỏ sự khó khăn về giao tiếp với các thiết bị ngoại vi.
1.3.3 Ngôn ngữ lập trình
 Có nhiều ngôn ngữ có thể dùng để lập trình android trong đó tiêu biểu nhất là Kotlin, Java, C#, Script......
1.4 Môi trường phát triển ứng dụng Android
Android Developer tools Bundle (ADT) bao gồm:
·       Eclipse + ADT plugin
·       Android SDK Tools
·       Android Platform Tools
·       Phiên bản hệ điều hành android
·       Tập tin cài đặt hệ điều hành cho máy ảo
1.4.2 Android Studio
Android studio là công cụ lập trình dựa trên nền IntelliJ , cung cấp các tính năng mạnh mẽ hơn ADT , bao gồm
·       Hỗ trợ xây dựng dự án dạng Gradle.
·       Hỗ trợ sửa lỗi nhanh , tái cấu trúc phương thức
·       Cung cấp các công cụ kiểm tra tính khả dụng , khả năng hoạt động của ứng dụng , tương thích nền tảng….
·       Hỗ trợ bảo mật mã nguồn và đóng gói ứng dụng
·       Trình biên tập giao diện cung cấp tổng quan giao diện ứng dụng và các thành phần , cho phép tùy chỉnh trên nhiều cấu hình khác nhau.
·       Cho phép tương tác với nền Google Cloud.
Bài tiếp theo: Lập trình Android với Android studio >>
vncoder logo

Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!