2.1 .Tổng quan về Android
2.5. Khả năng hỗ trợ phát triển ứng dụng
Như các hệ điều hành khác, để phát triển ứng dụng chạy trên hệ điều hành Android thì trước hết cần phải hiểu về môi trường phát triển, cấu trúc và các thành phần cơ bản tạo lên ứng dụng. Điều này giúp cho các nhà lập trình tạo ra các ứng dụng linh hoạt và có thể tận dụng chiếc điện thoại của mình một cách triệt để.
2.5.1. Yêu cầu về phần cứng
Với bất kỳ một hệ điều hành nào khi chạy trên máy tính, điện thoại hoặc thiết bị cầm tay nào khác đều cần phải có những yêu cầu về phần cứng, nhằm thúc đẩy sản phẩm chạy một cách có hiệu quả [28][26]. Để tương thích với các cấu hình phần cứng của laptop cũng như máy tính để bàn hay thiết bị cầm tay, thì Android cũng cần có các hệ điều hành hỗ trợ:
- Windows XP (32-bit), Vista(32 hoặc 64 bit), hoặc Windows 7( 32 hoặc 64 bit) - Mac OS X 10.5.8 hoặc các phiên bản mới hơn (chỉ x86).
- Linux (đã được kiểm tra trên Ubuntu Linux, Lucid Lynx).
+ Yêu cầu thư viện GNU C (glibc) 2.7 hoặc những phiên bản mới hơn. + Phiên bản 8.04 trên Ubuntu Linux hoặc mới hơn.
+ Với các phiên bản 64 bit phải có khả năng chạy các ứng dụng 32 bit.
2.5.2. Android SDK
Android SDK cung cấp các thư viện API và các công cụ phát triển cần thiết để xây dựng, kiểm tra và gỡ lỗi ứng dụng cho Android [26]. Có thể chọn và tải về file nén hợp với hệ điều hành tại địa chỉ http://developer.android.com/sdk/index.html.
Bảng 2.4: Android SDK
Platform Package Size MD5 Checksum
Windows android-sdk_r21.1-windows.zip 99360755 bytes dbece8859da9b66a1e8e7cd47b1e647e installer_r21.1-windows.exe (Recommended) 77767013 bytes 594d8ff8e349db9e783a5f2229561353 Mac OS X android-sdk_r21.1-macosx.zip 66077080 bytes 49903cf79e1f8e3fde54a95bd3666385 Linux android-sdk_r21.1-linux.tgz 91617112 bytes 3369a439240cf3dbe165d6b4173900a8
Android SDK bao gồm các dự án mẫu với mã nguồn mở, công cụ phát triển, emulator, và các thư viện để yêu cầu xây dựng ứng dụng Android. Các ứng dụng của Android được viết bằng ngôn ngữ Java và chạy trên máy ảo Dalvik để nhúng các ứng dụng chạy phía trên của Linux Kernel. Bằng cách cung cấp các gói thư viện API như bảng 2.5 sau [26] :
Bảng 2.5: Các gói thư viện SDK
android
Chứa các lớp nguồn được sử dụng bởi ứng dụng trong platform và định nghĩa quyền ứng dụng cho các tính năng hệ thống.
android.accessibilityservice Để phát triển các dịch vụ miễn phí cung cấp thông tin phản hồi cho người sử dụng.
android.app Truy cập mô hình ứng dụng Android.
android.bluetooth
Quản lý chức năng Bluetooth, như quét các thiết bị, kết nối với các thiết bị, và quản lý dữ liệu chuyển đổi giữa các thiết bị.
android.content Truy cập và phổ biến dữ liệu trên Android.
android.database Khám phá dữ liệu trả về thông qua một nhà cung cấp. android.graphics Cung cấp các công cụ đồ họa mức thấp như canvas, bộ
lọc màu, point, hình chữ nhật …
android.hardware Hỗ trợ các tính năng phần cứng, như là camera và các cảm biến khác.
android.location Cung cấp các tiện ích cho phép xác định vị trí người dùng.
android.opengl Cung cấp các tiện ích OpenGL cho đồ họa 2D/3D. android.os Truy cập cấp hệ thống đến môi trường Android. android.provider Các lớp liên quan đến ContentProvider.
android.net Các lớp trợ giúp truy cập mạng dựa trên java.net.* APIs.
Android.
android.text Cung cấp các trường hợp sử dụng bố trí văn bản. android.util Tạo các phương thức tiện ích và tiện ích XML. android.view Cung cấp các lớp giao diện người sử dụng cơ bản. android.webkit Cung cấp các công cụ cho trình duyệt web.
android.widget Thêm các yếu tố giao diện người sử dụng.
2.5.3. Java Development Kit (JDK)
Android SDK cung cấp các công cụ và các API cần thiết để bắt đầu phát triển ứng dụng trên Android Platform dùng ngôn ngữ lập trình Java. Ta cần chuẩn bị thiết lập môi trường cho Java bằng cách tải gói tin tại địa chỉ http://www.orcale.com/technetwork/java/javase/downloads/ để cài đặt. Sau đó tạo biến môi trường.
Bảng 2.6 dưới đây cung cấp các ước tính gần đúng yêu cầu không gian đĩa để cài đặt Java Development Kit (JDK)
Bảng 2.6. JDK yêu cầu không gian đĩa
Thành phần Dung lượng Ghi chú
Các công cụ phát triển 132MB Bắt buộc có
Demonstrations 24MB Không bắt buộc
Mã nguồn 27MB/1platform Không bắt buộc
Môi trường thời gian thực Java 72MB/1 Add-on Bắt buộc có
Ngôn ngữ hỗ trợ 20MB Không bắt buộc
Phông chữ và truyền thông hỗ trợ 6MB/1platform Không bắt buộc
2.5.4. Eclipse IDE
Sau khi cài đặt xong Java Development Kit, môi trường để hỗ trợ phát triển Java. Tiếp theo ta cài đặt Eclipse IDE cho các nhà phát triển Java. Để cài đặt hoặc cập nhật Eclipse , tải về các gói thích hợp từ trang web http://www.eclipse.org/downloads/ Một số loại gói của Eclipse có sẵn cho mỗi lền tảng.
Hiện tại với các phiên bản mới nhất của Android thì Eclipse 3.6.2 hoặc phiên bản mới hơn mới có thể hỗ trợ.
2.5.5. Android Emulator
Android Emulator là một thiết bị giả lập điện thoại di động – một thiết bị di động ảo chạy trên máy tính. Giả lập này cho phép các nhà phát triển thử nghiệm và phát triển các ứng dụng Android mà không cần sử dụng một thiết bị vật lý.
Để sử dụng Android Emulator trước tiên hệ thống yêu cầu cài đặt môi trường hỗ trợ Java, cài đặt Android SDK, thiết lập môi trường giả lập để kiểm tra ổ đĩa Android trên máy.
Hình 2.7: Cửa sổ thiết lập máy ảo
- Chọn Virtual Devices từ menu bên trái.
- Chọn nút New để tạo máy: đặt tên ứng dụng Emulator, chọn phiên bản Android muốn thử nghiệm.
- Nhập các thông số cần thiết.
- Cuối cùng ta lựa chọn được thiết bị emulator như hình 2.8.
CHƯƠNG 3: TÍCH HỢP ANDROID VỚI THIẾT BỊ PHẦN CỨNG
Khi phát triển một sản phẩm nhúng trên hệ điều hành Android, trước tiên ta phải tích hợp Android với thiết bị phần cứng cụ thể. Để tích hợp Android với thiết bị phần cứng nào đó, công việc tích hợp hệ điều hành Android trở lên dễ dàng và được tiến hành theo các bước chuẩn bị phần cứng và môi trường làm viêc, thiếp lập cấu hình phần cứng, biên dịch và thử nghiệm phần cứng ta có thể thực hiện theo các phần cụ thể sau [31]:
- Yêu cầu phần cứng: Các thiết bị hỗ trợ để tích hợp được Android thành công.
- Thiết lập môi trường phát triển: Cài đặt các gói cần thiết và lấy mã nguồn thông qua máy chủ.
- Bắt đầu thực hiện tích hợp: Thiết lập các thành phần cốt lõi cần thiết cho thiết bị như đầu vào bàn phím và các điều khiển hiển thị.