ANDROID LÀ GÌ ?
NHỮNG NỘI DUNG CHÍNH TRONG CHƯƠNG
Lịch sử phát triển của Android
Các loại thiết bị cài đặt Android
Ưu và nhược điểm của Android
Ngày nay, điện thoại di động đã trở thành công cụ thiết yếu trong cuộc sống của người dân Việt Nam Ban đầu, người dùng chỉ cần nghe gọi và nhắn tin, nhưng giờ đây, họ mong muốn nhiều tiện ích hơn như nghe nhạc, nghe đài, chụp ảnh và chơi game Những thiết bị di động cũ không thể đáp ứng nhu cầu đa dạng này, dẫn đến sự ra đời của điện thoại thông minh Mục tiêu của điện thoại thông minh là cung cấp cho người dùng không chỉ là một chiếc điện thoại mà còn là một máy vi tính cầm tay.
Trong chương này, chúng ta sẽ khám phá nền tảng Android, một hệ điều hành dành cho thiết bị di động thông minh Bài viết sẽ đề cập đến lịch sử ra đời của Android, các phiên bản nâng cấp quan trọng và lý do vì sao Android lại phát triển nhanh chóng trong thời gian gần đây.
LỊCH SỬ PHÁT TRIỂN CỦA ANDROID
Vào đầu thế kỷ XXI, Andy Rubin phát triển Android như một hệ điều hành mở cho thiết bị di động Năm 2005, Google mua lại Android và bổ nhiệm Rubin làm giám đốc phát triển nền tảng di động Quyết định này không chỉ củng cố vị thế của Google trong lĩnh vực Internet 2.0 mà còn tạo ra sự cạnh tranh gay gắt với Apple iPhone, đang dẫn đầu thị trường lúc bấy giờ.
Vào tháng 11 năm 2007, Android phiên bản 1.0 được ra mắt cùng với sự thành lập tổ chức OHA (Open Handset Alliance), bao gồm nhiều công ty phần cứng và phần mềm Mục tiêu của OHA là nghiên cứu và phát triển tiêu chuẩn mở cho thiết bị di động, nhằm giảm chi phí sản xuất và nâng cao chất lượng dịch vụ Android, hệ điều hành mở đầu tiên cho thiết bị di động, được xây dựng trên nền tảng Linux và ngôn ngữ lập trình Java Nền tảng này yêu cầu hoạt động như một máy tính nhỏ gọn nhưng đủ mạnh để chạy ứng dụng Ngoài ra, Android cung cấp công cụ, tài liệu và thư viện hỗ trợ cho các nhà phát triển phần mềm và phần cứng, giúp họ dễ dàng phát triển ứng dụng cho điện thoại Qua nhiều năm, Android đã trải qua nhiều phiên bản nâng cấp, từ 1.5 đến 2.3 và hiện tại là phiên bản mới nhất.
Năm 2013, phiên bản Android 4.3.x đã được phát hành, với thiết bị cầm tay đầu tiên cài đặt hệ điều hành này là T-Mobile G1 do HTC sản xuất, bán ra tại thị trường Mỹ Hiện nay, nhiều nhà sản xuất điện thoại di động như HTC, Samsung, LG Electronics và T-Mobile đều sử dụng Android làm hệ điều hành cho các dòng sản phẩm mới của họ.
Android là hệ điều hành di động được phát triển bởi Google, dựa trên nền tảng Linux và phần mềm mã nguồn mở Hệ điều hành này nhằm cạnh tranh với các đối thủ như iOS, BlackBerry OS, và Windows Mobile Tính đến năm 2011, Android chiếm 38.9% thị phần toàn cầu trong lĩnh vực hệ điều hành di động, dẫn đầu so với iOS với 18.2% và BlackBerry.
OS xếp thứ ba với 14.2%
Hệ điều hành mở, hay còn gọi là Phần mềm nguồn mở miễn phí (FOSS), cho phép người dùng sửa đổi, cải tiến và phát triển phần mềm theo những nguyên tắc đã được quy định.
Hình 1.1: Thống kê ứng dụng Android trên Android Market năm 2011
Cộng đồng phát triển ứng dụng Android rất đông đảo, với số lượng ứng dụng trên Android Market đạt gần 350,000 vào ngày 09 tháng 12 năm 2011, theo thống kê từ AppBrain Trong vòng 2 năm, Android Market đã ghi nhận kỷ lục 10 tỷ lượt tải ứng dụng.
1 – 2), vượt trội Apple với thời gian 2.5 năm để đạt được mức này
Google không kiểm duyệt chất lượng sản phẩm trên App Market, nhưng cứ mỗi ba tháng, họ sẽ tiến hành rà soát và kiểm tra các ứng dụng đã được tải lên Những ứng dụng tiện ích chất lượng sẽ được giữ lại, trong khi các ứng dụng kém chất lượng sẽ bị loại bỏ.
Android Market, hay còn gọi là App Market, là cửa hàng phần mềm trực tuyến do Google phát triển dành cho thiết bị sử dụng hệ điều hành Android Người dùng có thể truy cập cửa hàng này thông qua ứng dụng “Market” đã được cài đặt sẵn trên tất cả các thiết bị Android, cho phép họ tìm kiếm và tải về những ứng dụng yêu thích.
App Market có chức năng quản lý và phát hành ứng dụng cho người dùng thiết bị Android, nhưng vẫn còn nhiều hạn chế như khó khăn trong việc tìm kiếm và thiếu kênh chia sẻ với bạn bè AppBrain ra đời như một giải pháp cải tiến, giúp khắc phục những vấn đề này.
(2) AppBrain không phải là một phiên bản thay thế App Market
AppBrain không phát hành ứng dụng và không chấp nhận thanh toán, nhưng hỗ trợ tìm kiếm ứng dụng dễ dàng tại website http://www.appbrain.com/ Người dùng có thể cài đặt ứng dụng lên thiết bị và chia sẻ ý kiến về các ứng dụng với bạn bè Ứng dụng được phát triển bằng ngôn ngữ Java kết hợp với thư viện Java do Google cung cấp Các nhà phát triển có thể sử dụng máy tính chạy Windows, MacOS hoặc Linux cùng với Android SDK để phát triển ứng dụng cho Android Hệ điều hành Android bao gồm 12 triệu dòng mã lệnh, trong đó có 3 triệu dòng XML, 2,8 triệu dòng C, 2,1 triệu dòng Java và 1,75 triệu dòng C++.
Hình 1.2: Thống kê lượt tải Android Apps trên Android Market
Kỷ nguyên Android chính thức bắt đầu vào ngày 22 tháng 10 năm
Vào năm 2008, T-Mobile G1 được giới thiệu tại thị trường Mỹ, mặc dù thiếu nhiều tính năng cơ bản như bàn phím trên màn hình, cảm ứng đa điểm và ứng dụng thương mại trên App Market Tuy nhiên, sự ra đời của G1 đã đặt nền tảng cho sự phát triển nhanh chóng của một nền tảng điện thoại mới, trở thành đối thủ đáng gờm của các nền tảng thống trị thị trường như iOS và BlackBerry.
(4) Android SDK là chữ viết tắt của Android Software
Bộ công cụ phát triển phần mềm (Development Kit) trên hệ điều hành Android được Google phát hành miễn phí, giúp các lập trình viên dễ dàng xây dựng và phát triển ứng dụng cho nền tảng này.
Hình 1.3: Các giai đoạn phát triển của Android
Vào tháng 02/2009, chỉ 5 tháng sau khi ra mắt phiên bản Android đầu tiên, phiên bản Android 1.1 đã được giới thiệu Phiên bản này chủ yếu tập trung vào việc sửa lỗi của Android 1.0 mà không có nhiều cải tiến đáng kể về ý tưởng.
GIỚI THIỆU NỀN TẢNG ANDROID
NHỮNG NỘI DUNG CHÍNH TRONG CHƯƠNG
Giới hạn của thiết bị cầm tay
Kiến trúc nền tảng Android
Các ứng dụng sẵn có trên Android
Phát triển phần mềm trên nền tảng Android
Android là một nền tảng mã nguồn mở bao gồm hệ điều hành, middleware và các ứng dụng chủ chốt dành cho thiết bị di động Mục tiêu của Android là quản lý phần cứng và tài nguyên phần mềm trên thiết bị, đồng thời đóng vai trò trung gian trong việc giao tiếp giữa người sử dụng và phần cứng Nền tảng này cung cấp một môi trường thuận lợi cho người dùng phát triển và thực hiện các ứng dụng một cách dễ dàng.
Trong chương này, chúng ta sẽ khám phá kiến trúc hệ điều hành Android, cách thức hoạt động của nó, những hạn chế của thiết bị di động và cách Android khắc phục những giới hạn này.
GIỚI HẠN CỦA THIẾT BỊ CẦM TAY
Mặc dù điện thoại di động và máy tính bảng mang lại nhiều tiện ích cho người dùng, nhưng chúng vẫn tồn tại nhiều hạn chế Các thiết bị cầm tay này được phát triển sau các thiết bị cố định như máy tính cá nhân và laptop, do đó công nghệ của chúng còn nhiều điểm yếu cần cải thiện.
Hệ điều hành là phần mềm thiết yếu trên máy tính, có nhiệm vụ quản lý và điều hành các thiết bị phần cứng cũng như tài nguyên phần mềm Nó đóng vai trò trung gian quan trọng trong việc tạo ra sự giao tiếp hiệu quả giữa người sử dụng và phần cứng của máy tính.
Middleware là phần mềm đóng vai trò kết nối các thành phần phần mềm hoặc ứng dụng trên máy tính Việc phát triển middleware cho thiết bị cầm tay vẫn đang tiếp tục diễn ra Tuy nhiên, để khắc phục những giới hạn hiện tại, cần một khoảng thời gian Các giới hạn cơ bản của thiết bị cầm tay cần được chú ý và giải quyết.
Hầu hết các thiết bị cầm tay hiện nay đều có bộ nhớ lưu trữ hạn chế Tuy nhiên, nhờ vào nỗ lực của nhiều tập đoàn sản xuất công nghệ bán dẫn, vấn đề này sẽ sớm được khắc phục trong tương lai gần.
Khả năng xử lý giới hạn
Nhiều dịch vụ trực tuyến như game, nhạc và video yêu cầu bộ xử lý nhanh và dung lượng lưu trữ lớn Mặc dù chip Intel PXA và PXA210 đã giúp điện thoại di động cải thiện hiệu suất, nhưng so với PC và laptop, khả năng xử lý của thiết bị cầm tay vẫn còn nhiều hạn chế.
Nguồn năng lượng (hay còn gọi là pin)
Việc thay đổi vị trí thường xuyên của các thiết bị cầm tay dẫn đến tiêu hao năng lượng nhanh chóng Nhiều nghiên cứu hiện nay đang tập trung vào việc tối ưu hóa khả năng sử dụng năng lượng trong thiết bị, đồng thời phát triển các nguồn năng lượng mới có tuổi thọ dài hơn, như pin nhiên liệu.
Bàn phím nhỏ, cách thức nhập liệu khác biệt
Bàn phím trên các thiết bị cầm tay thường có kích thước nhỏ hoặc số lượng phím hạn chế Nhiều thiết bị thậm chí không trang bị bàn phím vật lý, buộc người dùng phải sử dụng bàn phím ảo trên màn hình để nhập liệu Điều này gây khó khăn và làm chậm quá trình tương tác với các dịch vụ.
Công nghệ và nền tảng khác nhau
Mỗi thiết bị cầm tay được thiết kế dựa trên nền tảng và tiêu chuẩn riêng của nhà sản xuất, điều này tạo ra hạn chế về khả năng tương thích và giao tiếp giữa các thiết bị khác nhau về công nghệ.
Kích thước và màu sắc màn hình
Yêu cầu ngày càng cao đối với thiết bị cầm tay là kích thước nhỏ gọn và độ phân giải màn hình cao Tuy nhiên, bộ nhớ lưu trữ thường tỷ lệ thuận với kích thước màn hình, dẫn đến thách thức trong việc tối ưu hóa cả kích thước và khả năng lưu trữ Đây đang là bài toán lớn mà nhiều nhà sản xuất thiết bị cầm tay phải đối mặt.
Giao diện người dùng đơn giản
Với kích thước màn hình hạn chế, không gian thiết kế giao diện ứng dụng trên thiết bị di động cũng bị giới hạn Do đó, các nhà phát triển ứng dụng cần tạo ra những giao diện đơn giản, thân thiện và hấp dẫn để thu hút người dùng.
Sự gia tăng người dùng thiết bị cầm tay đã làm tăng nhu cầu về băng thông mạng không dây, đặt ra thách thức trong việc tối ưu hóa sử dụng băng thông Sản phẩm mới như Wi-Fi5 với tiêu chuẩn tốc độ cao 54Mbps đã được phát triển để đáp ứng nhu cầu thị trường Tuy nhiên, người dùng vẫn kỳ vọng vào sự cải thiện băng thông mạng trong tương lai, đồng thời số lượng người sử dụng thiết bị cầm tay sẽ tiếp tục tăng.
Kết nối mạng không ổn định là một vấn đề quan trọng, đặc biệt khi người dùng thường xuyên di chuyển Để duy trì kết nối không dây liên tục, cần có giải pháp giảm thiểu tình trạng đứt kết nối, đảm bảo trải nghiệm sử dụng mượt mà và ổn định.
Nhiều dòng thiết bị cầm tay hiện nay có ưu và khuyết điểm riêng, nhưng nền tảng của chúng thường đóng, dẫn đến sự phụ thuộc vào nhà sản xuất trong việc phát triển và tối ưu hóa Tuy nhiên, vào năm 2007, Google và OHA đã ra mắt Android, một nền tảng mở cho phép sự phát triển không chỉ từ Google mà còn từ cộng đồng toàn cầu Điều này hứa hẹn mang lại sự phát triển nhanh chóng và vượt trội so với các đối thủ cạnh tranh.
KIẾN TRÚC NỀN TẢNG ANDROID
TẠO ỨNG DỤNG ANDROID ĐẦU TIÊN
NHỮNG NỘI DUNG CHÍNH TRONG CHƯƠNG
Tạo mới ứng dụng Android trong Eclipse
Thiết lập máy ảo Android
Chạy ứng dụng hello Android
Cấu trúc lưu trữ dự án Android
Trước khi bắt đầu tìm hiểu cách tạo dự án Android bằng công cụ Eclipse, chúng ta cần nắm rõ quy trình xây dựng một ứng dụng Android Điều này giúp đảm bảo rằng bạn có kiến thức vững chắc về các thành phần cấu tạo của một dự án Android.
Hình 3.1: Quy trình xây dựng một ứng dụng Android
Tạo mới ứng dụng Android
Thiết lập máy ảo tương thích
Chạy ứng dụng trên máy ảo Ứng dụng đã đầy đủ chức năng?
Kiểm lỗi và biên dịch
Để xây dựng một ứng dụng Android thành công, việc chuẩn bị ý tưởng và thiết kế giao diện cùng chức năng là rất quan trọng trước khi bắt đầu lập trình Một bản thiết kế chi tiết giúp bạn duy trì định hướng trong quá trình phát triển, bao gồm các giao diện của ứng dụng, sự kiện cho từng đối tượng, phản hồi từ hệ thống và các thuật toán sử dụng.
Khi bạn đã có bản thiết kế cho ứng dụng, bước tiếp theo là hiện thực hóa nó thành sản phẩm cụ thể Quy trình bao gồm việc tạo dự án mới, thiết lập máy ảo tương thích với hệ điều hành Android và chạy thử ứng dụng trên máy ảo Trong quá trình xây dựng, cần thường xuyên kiểm tra các tính năng so với bản thiết kế ban đầu Nếu chưa đạt yêu cầu, bạn phải nâng cấp, kiểm lỗi, biên dịch và thử nghiệm trên thiết bị giả lập Công việc này cần được lặp lại cho đến khi sản phẩm hoàn thiện và đáp ứng đầy đủ các tính năng đã được xác định trong thiết kế.
Trong chương này, chúng ta sẽ tìm hiểu cách tạo một dự án Android mới trong Eclipse, thiết lập máy ảo tương thích và chạy thử ứng dụng trên máy ảo Các bước kiểm tra chức năng, nâng cấp ứng dụng, kiểm lỗi và biên dịch sẽ được thực hành trong các chương sau.
TẠO MỚI ỨNG DỤNG ANDROID TRONG ECLIPSE
Để bắt đầu phát triển ứng dụng Android trong môi trường Eclipse, bước đầu tiên là khởi động Eclipse Sau khi hoàn tất quá trình khởi động, giao diện của Eclipse sẽ hiển thị như hình 3.2.
Hình 3.2: Môi trường phát triển tích hợp Eclipse
Trước khi bắt đầu thực hành chương này, bạn cần cài đặt JDK, tải Android SDK và cài đặt các nền tảng Android cần thiết Việc tạo ứng dụng Android chỉ có thể thực hiện khi tất cả các yêu cầu trên được đáp ứng đầy đủ.
1 Trong Eclipse, chọn File New Android Application Project
Hộp thoại New Android Application sẽ hiển thị như hình 3.3 chứa những thông tin sau:
Hình 3.3: Hộp thoại New Android Application
Project Name là tên của dự án Android mà bạn đang muốn xây dựng
Tên ứng dụng Android sẽ hiển thị trong danh sách ứng dụng của thiết bị khi được tải lên máy ảo hoặc cài đặt trên thiết bị thực.
Một ứng dụng Android có thể bao gồm một hoặc nhiều dự án Android Điều này có nghĩa là trong một ứng dụng, bạn có thể chứa nhiều dự án khác nhau Mặc dù có thể đặt trùng tên ứng dụng trong cùng một workspace, nhưng việc đặt trùng tên dự án là không thể thực hiện được.
Java Package là công nghệ giúp tổ chức các lớp Java thành một đơn vị và lưu trữ trong tệp có định dạng *.jar Các lập trình viên Java thường sử dụng package để nhóm các lớp có liên quan hoặc thực hiện chức năng tương tự, nhằm tăng cường tính tổ chức và quản lý mã nguồn.
Tên Package trong dự án Android cần phải có ít nhất một dấu “.” để hợp lệ Ví dụ, tên Package "android" không hợp lệ, trong khi "android.cook" hoặc "android.cook.test" là những tên hợp lệ.
Minimum Required SDK là con số chỉ định phiên bản tối thiểu của hệ điều hành Android có thể sử dụng được ứng dụng của bạn
Nếu thiết lập Minimum Required SDK là 8, ứng dụng sẽ có thể chạy trên các thiết bị sử dụng hệ điều hành Android phiên bản 2.2 trở lên.
Target SDK là phiên bản hệ điều hành Android tối ưu để ứng dụng của bạn hoạt động hiệu quả Mặc dù con số này chỉ mang tính chất tham khảo, nhưng nó rất quan trọng trong việc đảm bảo tính tương thích và hiệu suất của ứng dụng.
Compile With là chỉ số phiên bản hệ điều hành Android mà ứng dụng sử dụng để phát triển, có vai trò quan trọng hơn giá trị Target SDK Khi biên dịch ứng dụng thành tập tin apk, Android sẽ dựa vào giá trị SDK này để sử dụng thư viện tương ứng Nếu chỉ định giá trị quá cũ, ứng dụng sẽ không thể tận dụng các tính năng mới của Android Ngược lại, nếu thiết lập giá trị với phiên bản quá mới, ứng dụng sẽ khó chạy trên các thiết bị cài đặt phiên bản Android cũ hơn.
Từ phiên bản Android Ice Cream Sandwich trở về trước, việc thiết lập theme cho ứng dụng không được hỗ trợ Người dùng thường phải tự xây dựng theme cho các ứng dụng trên các phiên bản Android cũ hơn Sau khi hoàn thành thông tin cần thiết, hãy nhấn chọn Next để hiển thị hộp thoại New Android Application.
2 Hộp thoại New Android Project (hình 3.4) chứa những thông tin sau
Hình 3.4: Cửa sổ New Android Application
Nếu không chọn tùy chọn này, logo ứng dụng sẽ hiển thị hình android mặc định Ngược lại, khi bạn chọn tùy chọn, bạn có thể tùy chỉnh logo cho ứng dụng theo ý thích của mình.