CHƯƠNG 1: TỔNG QUAN VỀ ANDROID 1.1 Lịch sử ra đời của android Tháng 7 năm 2005, Google mua lại Android, Inc, một doanh nghiệp nhỏ có tuổi đời non trẻ trụ sở tại Palo Alto, California Mỹ. Những người cùng sáng lập Android và những cựu chiến binh xuyên suốt quá trình phát triển Android bao gồm Andy Rubin (đồng sáng lập của Danger .Inc), Rich Miner (người đồng sáng lập của Wildfire Communication .Inc), Nick Sears (Phó chủ tịch T-Mobile). việc Google mua lại Android, Inc khiến Android bắt đầu “nổi” với tin đồn Google đã lập kế hoạch cho ra hệ điều hành mới cho thị trường di động. Sau khi được sát nhập vào Google, một nhóm phát triển dẫn đầu là Rubin và các đồng nghiệp đã tiến hành xây dựng nền tảng hỗ trợ thiết bị di động dựa trên lõi Linux.
Hệ thống này được bán trên thị trường để các nhà sản xuất thiết bị cầm tay có thể mang về để nâng cấp chỉnh sửa cho phù hợp và tối ưu nhất cho hệ thống của họ. Google đã cung cấp hàng loạt các thành phần hỗ trợ phần cứng và các phần mềm mở rộng của bên thứ ba để mang lại thuận tiện nhất cho người sử dụng. Vào năm 2007, Liên doanh thiết bị cầm tay mã nguồn mở (Open Handset Alliance) gồm các đại gia trong ngành thiết bị cầm tay như Texas Instrument, Broadcom Corporation, Google, HTC, Intel, LG, Marwell Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel, T-Mobile … đã cho ra mắt sản phẩm đầu tiên, Android, hệ điều hành xây dựng trên nhân Linux phiên bản 2. Với thời gian cập nhật nhanh chóng, Android được hiệu lực như là bộ mã nguồn mở kể từ 21-11-2008.
Goolge công bố toàn bộ source code ngay cả source về mạng lẫn công nghệ stack dưới sự cấp phép của Apache. Với giấy phép Apache 2.0, các nhà cung cấp có thể thêm phần mở rộng độc quyền của họ mà không cần báo cáo cho cộng đồng nguồn mở.2 Các phiên bản chính thức và đặt tính kỹ thuật 1.1 Phát hành ngày 09-02-2009. Ngày 30-04-2009, phiên bản 1.5 có tên Cupcake được phát hành. Bao gồm các tính năng.
• Có khả năng thu phát hình ảnh thông qua chế độ camcorder. • Tải video lên YouTube và hình ảnh lên Picasa Web Album trực tiếp trên điện thoại di động.27 • Hỗ trợ Bluetooth chuẩn A2DP và AVRCP. • Tự động kết nối vào thiết bị Bluetooth trong khoảng cách. • Thêm các widget và các widget này có thể hiển thị như shortcut trên màn hình chính.
• Thêm các hiệu ứng di chuyển trạng thái. 15-9-2009, bộ SDK phiên bản 1.6 cũng được cho ra mắt. Thêm các tính năng: • Thêm Android Market. • Giao diện camera, camcorder, gallery ảnh đẹp mắt.6 (Donut) Nhân Linux • Xóa nhiều hình ảnh cùng lúc trong gallery.27 • Cập nhật tìm kiếm bằng giọng nói, cũng như thực hiện các lệnh điều khiển điện thoại bằng giọng nói.
• Cập nhật công nghệ hỗ trợ mạng CDMA /EVDO, IEEE 802.1x … 7 • Hỗ trợ độ phân giải WVGA (800x480, 848x480 hoặc 854x480). • Tăng tốc tìm kiếm và ứng dụng cho video. • Thêm công cụ xây dựng Gesture framework và Gesturebuilder. Cũng vào thời điểm 26-11-2009, bộ SDK 2.0 cũng được ra mắt.
Các thay đổi gồm: • Tối ưu sử dụng phần cứng để đem lại tốc độ nhanh nhất. • Hỗ trợ thêm một số độ phân giải. • Thay đổi giao diện đẹp mắt. • Trình duyệt web mới va hỗ trợ HTML5.
• Nhiều dạng Contact lists.1 (Eclair) Nhân • Better white-black ratio for backgrounds. • MotionEvent class enhanced to track multi-touch events. • Sửa đổi bàn phím ảo phù hợp.1 phát hành ngày 3-12-2009.1 phát hành ngày 12-1-2010.2 (Froyo) Phát hành 20-05-2010 cùng bộ SDK. Gồm các thay đổi: Nhân Linux 8 V2.32 • Tăng tốc hệ điều hành, memory… • Các trình ứng dụng chạy nhanh hơn nhờ vào khả năng thực thi JIT.
• Tích hợp V8 JavaScript engine của Chrome vào trình duyệt web. • Cải tiến hỗ trợ Microsoft Exchange. • Tăng tốc ứng dụng chạy bằng shortcut và liên kết từ trình duyệt. • Khả năng chia sẽ mạng qua USB và qua Wireless.
• Thêm chức năng kiểm soát dữ liệu mạng. • Nâng cấp ứng dụng Market (tự động cập nhật). • Keyboard có chức năng chuyển đổi từ điển nhanh chóng. • Voice dialing và contact sharing thông qua Bluetooth.
• Hỗ trợ password dạng số lẫn chữ. • Hỗ trợ upoload file trên Browser. • Hỗ trợ cài đặt ứng dụng trên bộ nhớ mở rộng. • Hỗ trợ Adobe flash 10.
Các chức năng đã được chứng thực. Gingerbread, • Hỗ trợ WebM video playback. Nhân Linux • Cải thiện chức năng copy-paste.33/34 Các chức năng chưa được chứng thực. 9 • Hỗ trợ định dạng FLAC7.
• Market sẽ có thêm chức năng mua nhạc. • Media streaming from PC library. • Một giao diện mới hoàn toàn.1 Bảng công nghệ được hỗ trợ bởi Android. Google cho biết, tính trung bình mỗi ngày, họ phải thực hiện kích hoạt đến hơn 160.000 chiếc di động chạy Android.
Hệ thống chợ ứng dụng Android Market hiện nay đã bước đến con số 70.3 Công nghệ sử dụng Hệ thống mã nguồn mở nên có thể chỉnh sửa nâng cấp, các thư viện Handset Layouts hỗ trợ bao gồm VGA, 2D graphic library, 3D graphic library, (OpenGL 2.0), traditions smartphone layouts. Storage SQLite, hệ quản trị cơ sở dữ liệu gọn nhẹ cho thiết bị di động. Connectivity GSM/EDGE, IDEN, EV-DO,UTMS, Bluetooth, Wifi, Wimax. SMS, MM, Android cloud to device messaging Framework Messaging (C2DM).
Trình duyệt web trên Android dựa trên hệ thống mã nguồn mở Web browser WebKit engine. V8 JavaScript engine của Chrome. Đạt 93/100 điểm Acid3. Trong khi ứng dụng trên Android chủ yếu viết trên Java mà Android thì không có Java Virtual Machine.
Các lớp của Java sẽ Java support được biên dịch thành Dalvik executeable và chạy trên Dalvik virtual machine. Android không hỗ trợ J2ME. Additional Với hệ điều hành Android, người sử dụng có thể sử dụng camera, 10 hardware support touchscreen, GPS, accelerometers, accelerated 2D bit bits bằng các thư viên xử lý như đổi hướng, scaling, tăng tốc xử lý hình ảnh 3D. Hỗ trợ cho các nhà phát triển công cụ lập trình hiệu quả nhất, các Development công cụ debug, trình quản lý memory…, plugin cho eclipse IDE.
enviroment Cũng giống như các cửa hàng online của các hệ điều hành trên di động khác, Android Market cung cấp hàng loạt ứng dụng miễn phí được cung cấp bởi các nhà phát triển. Các ứng dụng này có thể tải và cài đặt trực tiếp trên máy một cách nhanh chóng mà không cần Market phải kết nối vào máy tính. Android Market đang được nâng cấp nhanh chóng, thỏa mãn yêu cầu của người dung. Tính đến 30-3- 2010 đã có hơn 50,000 các ứng để tải về.
Chức năng đa điểm chạm này đã có từ phiên bản đầu tiên, tuy nhiên chức năng này đã được Google tắt đi ở lớp lõi, điều này hoàn toàn hợp lý vì Google đã rất tôn trọng bản quyền của Apple nhưng không vì thế mà làm mất đi sự linh hoạt cũng như sự hấp dẫn của Multi-touch hệ điều hành này. Do tính chất “mở” của Android, các hacker vẫn có thể mở chức năng multi-touch dễ dàng. Hiện tại thì chức năng này đã được cấp phép ở hai chiếc điện thoại di động Nexus one – con cưng của Google và Motorola Droid. Hỗ trợ cho A2DP và AVRCP từ phiên bản 1.5, gửi nhận file Bluetooth (OOP), truy cập danh bạ (PBAP) các chức năng này điều có trong phiên bản 2.
Rất tiếc là đã không có phiên bản phần cứng nào sử dụng trước Videocalling đây, chức năng này chỉ được sử dụng ở máy HTC Evo 4G. Multitasking Đa Nhiệm (multitasking) được hỗ trợ từ phiên bản đầu tiên.2 Bảng công nghệ được hỗ trợ bởi Android. 2 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VỀ ANDROID 2.1 Các phần mềm chuẩn bị TÊN PHẦN MỀM LÝ DO SỬ DỤNG LINK DOWNLOAD HĐH Windows 7 Được cung cấp kèm theo phần cứng. JDK-6u24 Là bộ công cụ biên dịch http://java.com/javase/download Java mới nhất.1 Theo khuyến cáo của http://eclipse.org/downloads/downlo Google đây là IDE phù ad.php hợp nhất.6 Là plugin của eclipse do http://dl.com/android/ADT- Google tạo ra để hỗ trợ 0.zip các nhà phát triển.
Android SDK Là máy ảo Android để http://dl.com/android/ thử nghiệm các phần mềm.1 Các công cụ hỗ trợ lập trình ứng dụng trên Android. Cài đặt Android SDK Plugin cho Eclipse 3.5 trên windows Tích hợp Android Plugin vào Eclipse để giúp chúng ta dễ dàng tạo và quản lí Android Project. Để thực hành thì trước tiên chúng ta cần phải làm những bước cơ bản sau: 1.5 (GALILEO) tại địa chỉ sau: http://www.org/downloads/dow.zip hoặc http://d2u376ub0heus3. Giải nén tệp vừa cài đặt vào thư mục mà bạn muốn đặt Eclipse, ví dụ: C:\Eclipse3.5 (nếu bạn dùng nhiều phiên bản eclipse khác nhau thì nên đặt tên theo kiểu này) hoặc C:\Eclipses (nếu bạn chỉ dùng duy nhất 1 phiên bản eclipse) - Ổ đĩa không bắt buộc là ổ C.
***Sau khi đã hoàn tất 2 bước trên chúng ta sẽ tiến hành cài đặt Android plugin theo các bước sau: Bước 1: Khởi động Eclipse Hình 2.1 Tích hợp Android vào Eclipse 13 Bước 2: Chọn Help/Install New Update Hình 2.2 Tích hợp Android vào Eclipse Bước 3: Chọn nút Add trên hộp thoại để hiện của sổ Add site Bạn hãy làm theo những gì trên hình 2.3 Lưu ý: hộp Name có thể đặt tên theo ý của bạn còn hộp Localtion thì bắt buộc phải là https://dl-ssl.com/android/eclipse/ 14 Hình 2.3 Tích hợp Android vào Eclipse [Chọn OK để để tiếp tục quá trình cài đặt] Bước 4: Đợi eclipse lấy thông số plugin từ địa chỉ trên 15 Hình 2.4Tích hợp Android vào Eclipse 16 Bước 5: Bạn check vào Developer Tools sau đó chọn Next để tiếp tục Hình 2.5 Tích hợp Android vào Eclipse và đợi eclipse gom các yêu cầu hệ thống và các thư viện liên quan sau đó sẽ tải chúng về nếu máy của bạn chưa có sẵn 17 Hình 2.6 Tích hợp Android vào Eclipse 18 Bước 6: Chọn Next theo hình 2.7 Tích hợp Android vào Eclipse 19 Bước 7: chấp nhận thỏa thuận sử dụng sau đó chọn Finish Hình 2.8 Tích hợp Android vài Eclipse Bước 8: Ngồi đợi quá trình cài đặt tự động 20 Hình 2.9 Tích hợp Android vài Eclipse Bước cuối cùng là Restart lại Eclipse hoặc chọn Apply để Eclipse cập nhật những thông số cho Android.Hướng dẫn tích hợp Android vào Eclipse) 21 2.2 Mô hình kiến trúc và các điểm nổi bật của Android 2.1 Kiến trúc hệ điều hành Android Biểu đồ 2. 1 Biểu đồ kiến trúc hệ điều hành Android.1 Application Hệ điều hành Android cho ra mắt cùng các ứng dụng có sẵn như email, chương trình tin nhắn SMS, lịch, bản đồ, trình duyệt, địa chỉ liên hệ … Tất cả các ứng dụng được viết bằng ngôn ngữ lập trình java.2 Application Framework Việc gửi gắm đến các nhà phát triển một môi trường lập trình hoàn toàn mở và các framework cấp cao giúp các nhà phát triển có khả năng xây dựng các ứng dụng một cách nhanh chóng và có thể đổi mới, thay thế một cách dễ dàng.