CHƯƠNG 1. TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROID 1.Android và lịch sử phát triển Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng. Ban đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính từ Google và sau này được chính Google mua lại vào năm 2005. Android ra mắt vào năm 2007 cùng với tuyên bố thành lập Liên minh thiết bị cầm tay mở: một hiệp hội gồm các công ty phần cứng, phần mềm, và viễn thông với mục tiêu đẩy mạnh các tiêu chuẩn mở cho các thiết bị di động.
Chiếc điện thoại đầu tiên chạy Android được bán vào tháng 10 năm 2008. Android có mã nguồn mở và Google phát hành mã nguồn theoGiấy phép Apache. Chính mã nguồn mở cùng với một giấy phép không có nhiều ràng buộc đã cho phép các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyết được điều chỉnh và phân phối Android một cách tự do. Ngoài ra, Android còn có một cộng đồng lập trình viên đông đảo chuyên viết các ứng dụng để mở rộng chức năng của thiết bị, bằng một loại ngôn ngữ lập trình Java có sửa đổi.
Vào tháng 10 năm 2012, có khoảng 700.000 ứng dụng trên Android, và số lượt tải ứng dụng từ Google Play, cửa hàng ứng dụng chính của Android, ước tính khoảng 25 tỷ lượt. Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minh phổ biến nhất thế giới, vượt qua Symbian vào quý 4 năm 2010, và được các công ty công nghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả năng tinh chỉnh, và giá rẻ chạy trên các thiết bị công nghệ cao thay vì tạo dựng từ đầu. Bản chất mở của Android cũng khích lệ một đội ngũ đông đảo lập trình viên và những người đam mê sử dụng mã nguồn mở để tạo ra những dự án do cộng đồng quản lý. Những dự án này bổ sung các tính năng cao cấp cho những người dùng thích tìm tòi hoặc đưa Android vào các thiết bị ban đầu chạy hệ điều hành khác.
Android chiếm 75% thị phần điện thoại thông minh trên toàn thế giới vào thời điểm quý 3 năm 2012, với tổng cộng 500 triệu thiết bị đã được kích hoạt và 1,3 triệu lượt kích hoạt mỗi ngày. Sự thành công của hệ điều hành cũng khiến nó trở thành mục tiêu 8 trong các vụ kiện liên quan đến bằng phát minh, góp mặt trong cái gọi là "cuộc chiến điện thoại thông minh" giữa các công ty công nghệ. Được xây dựng trên một nền tảng mở, và một bộ thư viện đa năng, mạnh mẽ với nguyên lý mở, Android đã nhanh chóng được cộng đồng lập trình viên di động hưởng ứng mạnh mẽ. Nền tảng Android tích hợp nhiều tính năng nổi bật: -Android là một hệ điều hành nhân Linux, đảm bảo sự tương tác với các phần cứng, quản lý bộ nhớ, điều khiển các tiến trình tối ưu cho các thiết bị di động.
-Bộ ứng dụng khung cho phép sử dụng lại và thay thế các thành phần riêng lẻ. -Máy ảo Dalvik được tối ưu cho các thiết bị di động, chạy các ứng dụng lập trình trên ngôn ngữ Java. -Các thư viện cho phát triển ứng dụng mã nguồn mở bao gồm SQLite, WebKit, OpenGL và trình quản lý đa phương tiện. -Hỗ trợ các chuẩn đa phương tiện phổ biến, thoại trên nền GSM, Bluetooth EDGE, 3G và Wifi -Hỗ trợ Camera, GPS, la bàn, máy đo gia tốc… -Bộ phát triển ứng dụng SDK đầy đủ gồm thiết bị giả lập, công cụ sửa lỗi, tích hợp với Eclipse SDK.
Android cung cấp một tập hợp đầy đủ các phần mềm cho thiết bị di động bao gồm: hệ điều hành, các khung ứng dụng và các ứng dụng cơ bản.Tính mở Android được xây dựng từ dưới đi lên cho phép người phát triển tạo các ứng dụng di động hấp dẫn với đầy đủ các điểm mạnh của các thiết bị cầm tay hiện có. Android hoàn toàn mở, một ứng dụng có thể gọi tới bất kể một chức năng lõi của điện thoại như tạo cuộc gọi, gửi tin nhắn hay sử dụng máy ảnh, cho phép người phát triển tạo phong phú hơn, liên kết hơn các tính năng cho người dùng. Android được xây dựng trên nhân Linux mở. Thêm nữa, nó sử dụng một máy ảo mà đã được tối ưu hóa bộ nhớ và phần cứng với môi trường di động.
Android là một mã nguồn mở, nó có thể được mở rộng để kết hợp tự do giữa các công nghệ nổi trội. Nền tảng này sẽ tiếp tục phát triển bởi cộng đồng phát triển để tạo ra các ứng dụng di động hoàn hảo.Tính ngang hàng của các ứng dụng Với Android, không có sự khác nhau giữa các ứng dụng điện thoại cơ bản với ứng dụng của bên thứ ba. Chúng được xây dựng để truy cập như nhau tới một loạt các ứng dụng và dịch vụ của điện thoại. Với các thiết bị được xây dựng trên nền tảng Android, người dùng có thể đáp ứng đầy đủ các nhu cầu mà họ thích.
Chúng ta có thể đổi màn hình nền, kiểu gọi điện thoại, hay bất kể ứng dụng nào. Chúng ta thậm chí có thể hướng dẫn điện thoại chỉ xem những ảnh mình thích.Dễ xây dựng ứng dụng Android cung cấp bộ thư viện giao diện lập trình ứng dụng đồ sộ và các công cụ để viết các ứng dụng phức tạp. Ví dụ, Android có thể cho phép người phát triển biết được vị trí của thiết bị và cho phép các thiết bị giao tiếp với nhau để có thể tạo nên mạng xã hội chia sẻ ngang hàng rộng khắp. Thêm nữa, Android còn bao gồm một bộ công cụ đầy đủ giúp cho việc phát triển trở nên dễ dàng.So sánh với các hệ điều hành cùng loại khác HỆ ĐIỀU HÀNH ƯU ĐIỂM NHƯỢC ĐIỂM ANDROID Google Android là nền tảng Hệ điều hành phân mảnh, mở, cho phép người dùng không thống nhất trên các có thể tùy biến nền tảng thiết bị, giới hạn về độ 'mở' theo ý thích, hơn nữa lại có và nhiều lỗ hổng bảo mật là một Liên minh thiết bị cầm những yếu điểm của tay mở hậu thuẫn, Google Android OS.
Android đang là đối thủ xứng tầm của iPhone của Apple. Google đang tích cực mở rộng cộng đồng phát triển các ứng dụng cho Android. Bộ công cụ phát triển phần mềm (SDK) đầy đủ, hỗ trợ đa nền (Linux, Windows hay Mac OS) do chạy trên máy ảo Java. Thư 10 viện ngày càng hoàn thiện, dễ dàng cho người lập trình.
Có thư viện API khá giống Sự có mặt của iPhone và với API trên Win32, các Android là hai trở ngại lớn công cụ hỗ trợ lập trình đầy với Windows Mobile. Hai đủ với Visual Studio, điều nền tảng này đang hoàn WINDOWS PHONE này làm cho những người thiện và được người dùng phát triển trên Win32 không rất ưa chuộng. mất công tìm hiểu lại các API và các công cụ lập trình. Màn hình cảm ứng đa Việc lập trình trên cho điểm: iPhone sử dụng hoàn iPhone phải thực hiện trên toàn bằng cảm ứng và hệ điều hành Mac, do đó không sử dụng các nút.
Với không phải ai cũng có thể iPhone ta có thể điều khiển lập trình cho iPhone. Hơn trên màn hình kể cả việc thế, nếu muốn đưa chương trượt của các ngón tay. Ta trình ra máy thật người lập có thể phóng to ảnh bằng trình phải trả một khoản cách trượt hai ngón tay ra phí lập trình, điều này làm IOS xa và thu nhỏ bằng cách giảm tính cạnh tranh so với ngược lại. các đối thủ khác.
Bộ cảm nhận gia tốc: Những phản ứng nhanh chóng của bộ cảm nhận gia tốc thay đổi độ phân giải màn hình từ dọc sang ngang tự động khi ta đặt điện thoại nằm ngang. Điều này làm sinh động thêm cho các trò chơi. Âm thanh, hình ảnh hoàn hảo.1: So sánh các hệ điều hành 11 1.Kiến trúc của Android 1.Kiến trúc tổng quát Android bao gồm bốn thành phần sau: - Hệ điều hành. - Thư viện và các giao diện lập trình ứng dụng.
- Khung ứng dụng.1: Kiến trúc tổng quát của Android 1. Kiến trúc Hệ điều hành Android sử dụng nhân Linux 2.6 làm nhân cho các dịch vụ hệ thống như bảo mật, quản lý bộ nhớ, quản lý tiến trình (xử lý tiến trình, đa luồng), ngăn xếp mạng và trình điều khiển thiết bị (giao tiếp USB, giao tiếp hồng ngoại, không đây, v. 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à phần mềm. Tuy được phát triển dựa vào nhân linux nhưng thực ra nhân linux đã được nâng cấp và sửa đổi rất nhiều để phù hợp với tính chất của những thiết bị cầm tay như hạn chếvề bộ vi xử lý, dung lượng bộ nhớ, kích thước màn hình, nhu cầu kết nối mạng không dây.Các thành phần của nhân Linux: Hình 1.2: Các thành phần của nhân Linux 12 - Display Driver : Điều khiển việc hiển thị lên màn hình cũng như thu nhận những điều khiển của người dùng lên màn hình ( di chuyển, cảm ứng…).
- Camera Driver : điều khiển hoạt động của camera, nhận luồng dữ liệu từ camera về. - Bluetooth Driver : Điều khiển thiết bị phát và thu sóng Bluetooth. - USB Driver : Điều khiển bàn phím. - Wifi Driver : Chịu trách nhiệm về việc thu phát sóng wifi.
- Audio Driver : Điều khiển các bộ thu phí phát âm thanh, giải mã các tính hiệu dạng audio thành tín hiệu số và ngược lại. - Power Management : Giám sát việc tiêu thụ điện năng. - M-system Driver : Quản lý việc đọc ghi… lên các thiết bị nhớ như thẻ SD, flash. - Binder IPC Driver : Chịu trách nhiệm về việc kết nối và liên lạc với mạng vô tuyến như CDMA, GSM, 3G, 4G, E để đảm bảo những chức năng truyền thông được thực hiện.3: Thư viện android Android cung cấp một số các APIs cho phát triển ứng dụng.
Danh sách các API cơ bản sau được cung cấp bởi tất cả các thiết bị trên nền Android: -android.util: Gói tiện ích cơ bản bao gồm nhiều lớp mức thấp như là các lớp quản lý (List, Stack…) lớp xử lý chuỗi, lớp xử lý XML.graphics: Cung cấp các lớp đồ họa mức thấp thực hiện các chức năng đồ họa, màu, vẽ cơ bản.database: Cung cấp các lớp mức thấp bắt buộc cho việc điều khiển cursor khi làm việc với các cơ sở dữ liệu.content: Các giao tiếp lập trình nội dung được dùng để quản lý truy cập dữ liệu và xuất bản bằng cách cung cấp các dịch vụ thao tác với tài nguyên, Content Provider, và các gói.view: View là lớp giao diện người dùng cơ bản nhất.