Di động cho mọi người: Giới thiệu sơ lược về Android

Khảo sát môi trường lập trình trên Android và xây dựng ứng dụng đầu tiên!

Các nền tảng di động rất phong phú với nhiều triển vọng, Android là một nền tảng khả thi và thú vị cho các nhà phát triển. Loạt bài mới này bắt đầu với một giới thiệu về Android được thiết kế đặc biệt cho các nhà phát triển Java™ chỉ mới bắt đầu với lập trình cho điện thoại di động. Tìm hiểu về hệ thống versioning ba lớp của Android (và tìm hiểu lý do tại sao nó quan trọng), sau đó thiết lập môi trường phát triển và xây dựng ứng dụng Android đầu tiên.

Andrew Glover, Trưởng ban công nghệ, Stelligent Incorporated

Andrew GloverAndrew Glover là nhà phát triển, tác giả, diễn giả và nhà doanh nghiệp có niềm đam mê về phát triển theo hành vi, Tích hợp liên tục và phát triển phần mềm Agile. Ông là người sáng lập khung công tác BDD (Behavior-Driven Development - Phát triển theo hành vi) easyb và là đồng tác giả của ba cuốn sách: Continuous Integration (Tích hợp liên tục), Groovy in Action (Thực hành Groovy) và Java Testing Patterns (Các mẫu thử nghiệm Java). Bạn có thể xem blog và theo dõi ông trên Twitter.



02 07 2013

Giới thiệu

Về loạt bài này

Phát triển ứng dụng di động đang bùng nổ, và đó là thị trường cho các nhà phát triển ứng dụng di động. Loạt bài này trên developerWorks giới thiệu tổng quan về di động cho các nhà lập trình có kinh nghiệm nhưng vẫn còn mới với lĩnh vực di động này.

Bắt đầu viết các ứng dụng bằng mã Java™, sau đó mở rộng bộ công cụ của bạn để thêm vào các ngôn ngữ JVM, các Framework ngôn ngữ kịch bản, HTML5/CSS/JavaScript, các công cụ của bên thứ ba, và hơn thế nữa. Từng bước một, bạn sẽ rành về các kỹ năng cần thiết để phát triển bất kỳ ứng dụng di động nào.

Sự gia tăng gần đây trong việc sử dụng công nghệ điện thoại di động thật đáng kinh ngạc ngay cả đối với những người hoạt động trong lĩnh vực công nghiệp này. Giám đốc điều hành của Apple Tim Cook đã tổng kết những cảm nhận trong một cuộc phỏng vấn vào tháng 9/2012, như ông đã thảo luận thành công của Apple với iPad. Bán 67 triệu iPad trong hai năm ngắn ngủi là điều đáng chú ý nhất. Tim Cook đưa ra con số đó vào bối cảnh lịch sử khi ông lưu ý rằng "chúng tôi đã phải mất 24 năm để bán máy tính Mac, năm năm đối máy nghe nhạc iPod và hơn ba năm đối với iPhone mới có thể đạt được con số đó." (Xem phần Tài nguyên.)

Nếu iOS đang làm rất tốt thì sau đó Android, nền tảng lấy Java làm trung tâm, cũng đã giữ tốc độ tăng trưởng. Theo một tuyên bố gần đây của Google, 500 triệu thiết bị Android được kích hoạt kể từ khi Android được chính thức phát hành trong năm 2008, và 1,3 triệu thiết bị mới được kích hoạt mỗi ngày. Theo báo cáo, trên iTunes App Store của Apple và Google Play liệt kê ít nhất 1.400.000 ứng dụng và hơn 60,000,000,000 lượt tải ứng dụng. (Xem phần Tài nguyên.)

Tất cả những thiết bị di động được kích hoạt có nghĩa là có nhiều cơ hội mới cho doanh số bán ứng dụng và thị trường ứng dụng cho điện thoại di động cũng được phát triển. Đối với các nhà phát triển, những người muốn xây dựng các ứng dụng di động một cách nhanh chóng thì Android là một môi trường tuyệt vời để bắt đầu. Nếu bạn có thể lập trình bằng Java và các ngôn ngữ JVM khác, thì bạn chỉ cần tập trung vào việc nghiên cứu cách thức xây dựng ứng dụng và triển khai ứng dụng từ đó. Tính linh hoạt của Android có nghĩa là bạn có thể dễ dàng áp dụng và thử nghiệm với các công nghệ mới như HTML5 và PhoneGap. Và nền tảng có mặt khắp nơi — cùng với Google Play — đảm bảo rằng các ứng dụng của bạn sản xuất có thể được chia sẻ rộng rãi.

Bài viết đầu tiên này trong loạt bài mới Di động cho mọi người là một giới thiệu sơ lược về Android. Bắt đầu với tổng quan về hệ thống các phiên bản của Android, sau đó thiết lập một môi trường phát triển và bắt đầu xây dựng ứng dụng đầu tiên.

Ba cách để hướng sang lĩnh vực di động

Ở cấp độ cao, hệ sinh thái di động có ba nền tảng phát triển chính: nền tảng trực tiếp (native), nền tảng web, và nền tảng lai.

  • Nền tảng trực tiếp cung cấp cho ứng dụng một giao diện, cảm nhận và hiệu năng tốt hơn so với hai nền tảng còn lại. Nhược điểm của nền tảng trực tiếp là bạn phải viết các ứng dụng khác nhau riêng cho mỗi nền tảng.
  • Ứng dụng Web trên di động thường được viết trên HTML5, CSS, và JavaScript. Bạn có thể viết ứng dụng web di động một lần và chạy nó trên nhiều nền tảng, tuy nhiên có thể nó sẽ không có giao diện bóng bẩy, cảm nhận và hiệu năng bằng các ứng dụng chạy trực tiếp.
  • Các công cụ và frameworks lai là cấu nối để kết hợp các ứng dụng web vào ứng dụng chạy trực tiếp. Các nhà phát triển tranh cãi nhiều về việc nền tảng nào là tốt hơn (một số người gọi đây là "Cuộc tranh cãi về ứng dụng di động tuyệt vời") nhưng thực tế là mỗi nền tảng đều có ưu điểm riêng.

Loạt bài này sẽ đi qua cả ba loại nền tảng này.


Khái quát về Android

Thiết bị Android được phân phối đang có tốc độ tăng trưởng nhanh hơn bất kỳ nền tảng di động khác, điều đó giúp Android trở thành một sự lựa chọn tuyệt vời trong hành trình phát triển ứng dụng trên điện thoại di động, đặc biệt là nếu bạn là một nhà phát triển Java. Một nhược điểm lớn của ứng dụng Android là sự phân mảnh, trong đó trình bày những thách thức đáng kể cho các ứng dụng thử nghiệm. Thực tế cho thấy là hầu hết các nhà phát triển ứng dụng gần như không thể kiểm tra một ứng dụng cho mọi thiết bị Android cho đến các phiên bản hệ điều hành. (Trong thực tế, làm như vậy theo một cách hiệu quả kinh tế chính là sự phát triển của ngành công nghiệp dịch vụ.) Phần sau của bài viết sẽ nhìn vào các vấn đề kỹ thuật liên quan đến việc xuất ra nhiều phiên bản Android, cộng với các công cụ dựa trên Java để thử nghiệm các ứng dụng Android trên điện thoại di động. Bây giờ, chúng ta hãy cùng khảo sát qua các phiên bản Android để bạn có thể hiểu và phát triển ứng dụng trên nền tảng này.

Các phiên bản Android

Trong khi các số phiên bản của Android phiên bản hệ điều hành tuần tự là —1.6, 2.1, 4.2, và v.v.... Các bản phát hành cũng được đặt tên tương tự như các mặt hàng khác nhau trong một thực đơn tráng miệng hảo hạng: Donut, Eclair, và Jelly Bean. Khi mọi người ám chỉ Jelly Bean có nghĩa là phiên bản Android 4.2. Phiên bản Android cũng được mô tả ở cấp độ API, bởi số nguyên tăng dần theo trình tự. Vì vậy, Android API ở mức 17 đề cập đến Android phiên bản 4.2, còn được gọi là Jelly Bean.

Không phải chỉ mình bạn nghĩ điều này là không rõ ràng đâu. Tuy vậy, việc hiểu rõ là rất quan trọng bởi vì ba phương án đặt phiên bản được dùng lẫn lộn.

Hầu hết các nhà phát triển Java phải đảo ngược suy nghĩ cơ bản của họ khi nói đến việc hỗ trợ các phiên bản Android khác nhau. Nền tảng Java đã nổi danh chủ yếu như một công nghệ phía máy chủ, nơi mà các giao tiếp với người dùng là thường là một trang web. Nếu các trang web có thể xem được, độc giả của các trang web đó không quan tâm phiên bản Java mà ứng dụng của bạn đang chạy trên đó. Tuy nhiên, với Android, mã nguồn các ứng dụng của bạn lại thực sự an toàn khi chạy trên các thiết bị mà bạn không có khả năng kiểm soát..

Nhiều người tiêu dùng tiềm năng nâng cấp ứng dụng của bạn lên phiên bản mới hơn cùng với phiên bản của hệ điều hành Android khi điện thoại cũ của họ không được sử dụng nữa. Quyết định của bạn trong đó hệ điều hành Android hỗ trợ là rất quan trọng. Trong khi phiên bản mới nhất của Android là 4.2, khoảng một nửa số thiết bị Android vẫn hỗ trợ Android 2.3.x. Một ứng dụng được viết để nhằm mục tiêu cho thiết bị chạy Android 3.1 không thể chạy trên phiên bản mới hơn như 4.2, và cũng không chạy trên phiên bản trước đó như 2.3. Vì vậy, nó là lý do, nếu bạn muốn có một phân phối rộng hơn, sự lựa chọn của bạn tốt hơn là hãy nhắm mục tiêu đến một phiên bản cũ của hệ điều hành.

Một nhược điểm của việc nhằm vào mục tiêu lớn hơn và nền tảng phân phối rộng rãi hơn là phiên bản mới hơn luôn luôn có các tính năng mới mà bạn muốn áp dụng cho ứng dụng của mình. Nếu bạn là người may mắn, nhóm phát triển Android sẽ phát hành thư viện tương thích để bạn có thể sử dụng.


Chạy ứng dụng Android với Eclipse ADT

Như phần đầu tiên giới thiệu tóm tắt về Android, tôi giúp bạn tạo một ứng dụng Android đơn giản càng nhanh càng tốt. Bạn sẽ sử dụng Android 4.2 và một plugin mà mọi người yêu thích, được gọi là Công cụ phát triển Android trên Eclipse (Eclipse Android Development Tools - ADT): Một ứng dụng Hello World dựa trên ngôn ngữ Java.

Các IDE hỗ trợ Android

Khi bạn phát triển ứng dụng trên Android, bạn sử dụng các công cụ Java và các Framework quen thuộc. Ví dụ, hai IDE phổ biến để lập trình Java là Eclipse và IntelliJ, cả hai đều hỗ trợ Android. Android có ràng buộc chặt chẽ với Eclipse, với những plugin giúp cho quá trình xây dựng-kiểm thử-triển khai ứng dụng gần như hoàn hảo. Các ví dụ trong bài này được xây dựng trên Eclipse, tuy nhiên vẫn hoạt động tốt trên IntelliJ.

Lựa chọn hai cách để thiết lập môi trường phát triển cho Android. Các nhà phát triển nếu cảm thấy mới khi tiếp cận với Eclipse và Android thì có thể bắt đầu bằng cách tải về gói ADT (Android Developer Tools). Gói ADT kết hợp với Android SDK và một phiên bản của Eclipse có các plugin ADT đã được cài đặt. Gói này là cách nhanh chóng để bắt đầu dễ dàng với Android.

Nếu Eclipse được cài đặt và thiết lập sẵn trên máy tính của bạn, thì bạn có thể tự tải về và cài đặt Android SDK. Cơ sở Android SDK có chứa các công cụ hệ thống cấp để tạo điều kiện phát triển với Android. Tuy nhiên, nó thiếu các thư viện Android thực tế được yêu cầu để phát triển cho một phiên bản Android cụ thể. Sau khi bạn tải về cơ sở Android SDK cho hệ điều hành của bạn, hãy vào thư mục cài đặt các công cụ SDK và chạy câu lệnh như Liệt kê 1.

Liệt kê 1. Khởi động Android SDK Manager
~/Development/tools/android/android-sdk-mac_x86/tools$>./android

Câu lệnh này sẽ kích hoạt Android SDK Manager, sẵn sàng cho bạn tải về các phiên bản khác nhau và các thư viện cho Android và tạo ra các môi trường giả lập hoặc các thiết thiết bị ảo. Android SDK Manager mở ra một cửa sổ với một danh sách lớn các tùy chọn để tải về, như trong Hình 1.

Hình 1. SDK Manager
Giao diện trình quản lý SDK

Trong các lựa chọn bên trái, bạn hãy chọn Tools và sau đó chọn Android 4.2 (API 17). Thư mục đó sẽ hiển thị một số tùy chọn. Bạn hãy chọn SDK Platform và file ảnh ARM EABI v7a System, như trong Hình 2.

Hình 2. Các lựa chọn trong SDK Manager
Hình ảnh hệ thống và các tùy chọn công cụ trong trình quản lý SDK

Bây giờ bạn hãy nhấn nút Install packages và đồng ý với các điều khoản cần thiết; sau đó để trình quản lý tự động hoàn tất công việc của nó.

Tạo thiết bị giả lập

Tiếp đến, ta hãy tạo một nền tảng giả lập, để có thể chạy thiết bị ảo trên đó và sau đó bạn có thể chạy ứng dụng của mình. Các thiết bị giả lập phải dành riêng cho phiên bản Android cụ thể, vậy ta hãy tạo một nền tảng giả lập chạy Android phiên bản 4.2.

Khởi động SDK manager của bạn một lần nữa nếu bạn đã đóng nó. Nếu các công cụ SDK Android hoặc các công cụ nền tảng được cập nhật, ta hãy khởi động lại SDK Manager. Trong thanh thực đơn menu của SDK Manager, bạn hãy chọn Tools > Manage AVDs để mở một hộp thoại Android Virtual Device Manager (Trình quản lý thiết bị Android ảo), như Hình 3.

Hình 3. Android Virtual Device Manager
Hình ảnh chọn Android Virtual Device Manager (trình quản lý máy ảo Android) từ menu Tools (thanh công cụ)

Hộp thoại này liệt kê các giả lập có trên máy tính của bạn. Danh sách giả lập sẽ không hiển thị thiết bị nào cho đến khi bạn tạo ra một thiết bị mới. Hãy nhấn New để mở hộp thoại Create a new Android Virtual Device (AVD) (Tạo mới một thiết bị Android ảo) và bạn có thể định nghĩa mới một giả lập. Trong danh sách drop-down Target, ta chọn Android version 4.2. Trong mục AVD Name, bạn hãy đặt tên cho giả lập — tôi sẽ đặt là Android_4.2. Khi bạn sẵn sàng để thử nghiệm ứng dụng, hãy sử dụng tên này để khởi động giả lập từ dòng lệnh.

Hình 4. Tạo mới một thiết bị Android ảo
Hình ảnh tạo mới một máy ảo Android trong trình quản lý SDK

Trong Hình 4, bạn thấy có một vài tùy chọn cho AVDs, bao gồm loại thiết bị, các thiết lập camera, bộ nhớ, và khả năng lưu trữ. Trong trường hợp này, tôi đã chọn Galaxy Nexus, thiết lập cho nó một thẻ nhớ SD card với 200 MB. Cuối cùng, tôi chọn tùy chọn Uuse Host GPU (Sử dụng card màn hình thông qua máy tính), để đạt được hiệu năng cao của thể giả lập này.

Nhấn OK để xem thiết bị ảo mới của bạn được liệt kê trong hộp thoại AVD. Chọn nó và nhấn Start để mở một hộp thoại với các tùy chọn khởi động. Bây giờ, hãy giữ các thiết lập mặc định và nhấn Launch. Giả lập này cần một khoảng thời gian để khởi động, bạn nên đi uống một tách café, hay kiểm tra Facebook, hay cập nhật Twitter trong lúc chờ đợi.

Hình 5. Một thiết bị Android mới!
Hình ảnh máy ảo Android (AVD) mô phỏng Galaxy Nexus

Sau một vài phút, một thiết bị mô phỏng (tương tự Hình 5) hiển thị trên màn hình chủ của bạn, có nghĩa là bạn đã có đầy đủ công cụ để bắt đầu! Bạn đã sẵn sàng để bắt đầu xây dựng các ứng dụng Android 4.2.

Thiết lập Eclipse ADT

Nếu bạn đã cài đặt sẵn Eclipse rồi thì bạn phải thêm vào plugin Công cụ phát triển Android (ADT) trước khi bắt đầu.

Trong trình đơn menu của Eclipse, bạn hãy mở Help > Find New Software. Chọn Add và thêm vào đường dẫn URL cho Plugin ADT: https://dl-ssl.google.com/android/eclipse/ (Xem Hình 6).

Hình 6. Thêm vào kho plugin ADT
Hình ảnh hiển thị tùy chọn bổ sung kho plugin ADT vào Eclipse

Sau khi tải plugin, bạn hãy làm theo hướng dẫn để cài đặt nó. Cấu hình các plugin ADT sử dụng SDK mà bạn đã cài đặt. Bây giờ dự án của bạn xây dựng trên nền tảng Android 4.2 và sử dụng cấu hình giả lập của bạn.


Xin chào Android 4.2!

Để tạo ra một ứng dụng Android trong Eclipse, bạn hãy chọn tùy chọn để tạo ra một Application Android Project. Trong hộp thoại New Application Android, hãy đặt tên ứng dụng (application name), tên dự án (project name) và tên gói (package name). Tên ứng dụng (application name) là thông tin mà bạn thấy bên dưới những biểu tượng trên điện thoại của bạn; tên dự án (project name) là tên dự án của bạn trong Eclipse.

Hình 7. Tạo một dự án Android mới
Hình ảnh tạo mới một dự án Android

Bắt đầu từ hộp thoại New Android Application trong Hình 7 và thực hiện các bước:

  1. Trong danh sách drop-down (sổ xuống) của các Target SDK, hãy chọn API 17: Android 4.2 (Jelly Bean), sau đó nhấn Next.
  2. Trong hộp thoại tiếp theo, hãy giữ các thiết lập mặc định, mặc dù bạn có thể đặt mã nguồn trong bất cứ đâu. Nhấn Next.
  3. Giữ giá trị mặc định trong hộp thoại Configure Launcher Icon và nhấn Next.
  4. Ngoài ra, bạn cũng giữ giá trị mặc định trong hộp thoại Create Activity và hộp thoại cuối cùng, được sử dụng để lựa chọn các hoạt động của ứng dụng. Nhấn Finish.

Nếu dự án của bạn được tạo, trên của sổ làm việc, bây giờ bạn nhìn thấy một dự án mới với một giao diện người dùng đơn giản tương tự như Hình 8.

Hình 8. Bắt đầu một dự án mẫu trong Eclipse
Hình ảnh ứng dụng mặc định trong Eclipse

Chạy ứng dụng của bạn trên trình giả lập Android

Mặc định, các dự án Android được tạo ra với wizard ADT sẽ tự động tạo một ứng dụng Hello World! (Xem Hình 8.) Trước khi bắt đầu trang trí nó, ta hãy xem những gì sẽ xảy ra khi bạn chạy các ứng dụng cơ bản trong một trình giả lập.

Nếu bạn đã đóng trình giả lập thì hãy mở lại nó. Thay vì mở nó trong trình quản lý AVD thì bạn hãy thử dùng dòng lệnh xem sao. Bạn có thể truy cập các tập lệnh emulator (giả lập) từ thư mục tools của bộ SDK. Khi bạn khởi động lệnh, hãy cung cấp cho nó tên của trình giả lập của bạn. Trình giả lập của tôi được đặt tên là Android_4.2, vì thế tôi chạy lệnh như trong Liệt kê 2 để khởi động trình giả lập:

Liệt kê 2. Truy cập vào trình giả lập bằng dòng lệnh
~/Development/tools/android/android-sdk-mac_x86/tools$>./emulator -avd Android_4.2

Khởi động trình giả lập của bạn, quay về Eclipse, và chọn dự án của bạn. Bây giờ nhấn chuột phải và chọn Run As > Android Application.

Hình 9. Chạy dự án của bạn bên trong Eclipse
Hình ảnh ứng dụng đang chạy trong Eclipse

Theo mặc định, Eclipse triển khai ứng dụng của bạn trên trình giả lập hiện đang chạy (Hình 9). Trình giả lập của bạn bây giờ sẽ hiện một màn hình màu trắng lớn mà tất cả các nhà phát triển Java đều yêu thích! Nếu vì lý do nào Eclipse có rắc rối khi chạy ứng dụng của bạn trên giả lập, hãy trở về tùy chọn Run As và chọn Run Configurations. Trong tab Target, hãy kiểm tra lại Automatically select compatible device và đảm bảo rằng giả lập của bạn được chọn.

Hình 10. Hello World!
Hình ảnh của ứng dụng 'Hello World'

Ứng dụng Android cơ bản

Bây giờ bạn đã có một ứng dụng Hello World cơ bản tương thích bất kỳ thiết bị Android 4.2. Cuối cùng, bạn muốn tùy chỉnh ứng dụng đó và thêm các chức năng thú vị hơn. Còn bây giờ, tôi muốn phân tích qua một ứng dụng Android.

Chuyên JVM của Android

Ứng dụng Android được viết bằng mã Java nhưng chúng không chạy trên trình JVM chuẩn. Như một phần của việc xây dựng Android, các mã Java byte code được biến đổi thành ngôn ngữ đặc biệt dành riêng cho bộ nhớ và xử lý. Xem phần Tài nguyên để tìm hiểu thêm về kiến trúc ứng dụng Android và máy ảo Dalvik.

Hãy quay trở lại với Eclipse IDEE. Trong thư mục src trong dự án của bạn, tìm đến file .java duy nhất. Nếu bạn giữ tất cả các giá trị mặc định, tập tin này được đặt tên là MainActivity. Các lớp Activity của một ứng dụng di động Android, tương tự như servlet cho các ứng dụng Java phía máy chủ. Mỗi vòng đời của Activity giống như vòng đời của một Java applet (nếu bạn còn nhớ về Java applet).

Ứng dụng Hello World là cơ bản, vì vập Activity (hoạt động) của nó cũng rất đơn giản. Đầu tiên, lớp kế thừa từ lớp Activity của Android. Trỏ vào các Activities thông qua phương thức onCreate, được bắt đầu bởi nền tảng này khi ứng dụng của bạn được tạo ra. Phương thức quan trọng trong phương pháp đó là gọi setContentView. Liệt kê 3 cho thấy lớp MainActivity mặc định.

Liệt kê 3. MainActivity
package com.example.hello;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
 }

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  getMenuInflater().inflate(R.menu.activity_main, menu);
  return true;
 }
}

Trong Liệt kê 3, hàm setContentView hiển thị giao diện layout activity_main, đó là tên của layout mà bạn đã thấy trong Eclipse khi lần đầu tiên bạn mở dự án. Tên này tương ứng với các tập tin activity_main.xml có trong thư mục res/layout. Mở tập tin này để xem ứng dụng của bạn dưới dạng đồ họa. Trong tab dưới bên trái của giao diện là một lựa chọn để xem các tập tin XML thô. Kích vào tùy chọn để xem các tập tin thô, trông giống như Liệt kê 4.

Liệt kê 4. Một khai báo giao diện layout thô
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

  <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="@string/hello_world" />
</RelativeLayout>

Các Android Views được định nghĩa trong các file XML. Mỗi View có một giao diện layout mà bạn có thể thêm vào các widgets như buttons hay text fields. Hiện tại, các ứng dụng mẫu có RelativeLayout với một widget: một TextView. Nếu bạn nhìn kỹ vào widget, bạn sẽ thấy một dòng mã được thiết lập để chỉ tới: @string/hello_world.

Biến (variable) là một con trỏ đến một chuỗi giá trị thực, mà bạn có thể tìm thấy trong file res/values/strings.xml. Hãy mở file này ra. Để xem file XML thô, hãy kích vào tab strings.xml ở vùng dưới bên trái.

Liệt kê 5. File strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
 <string name="app_name">Hello 4.2</string>
 <string name="hello_world">Hello world!</string>
 <string name="menu_settings">Settings</string>
</resources>

Chuỗi thứ hai được định nghĩa trong Liệt kê 5 liên kết biến hello_world với chuỗi Hello World!.

Tập tin Android manifest

Bây giờ bạn đã thấy ba yếu tố quan trọng của một ứng dụng Android được liên kết với nhau: Activity, Layout, và các tập tin Resource (Tài nguyên). Khi ứng dụng của bạn khởi động, hệ điều hành Android gọi phương thức onCreate của MainActivity. Phương thức onCreate sau đó tải lên giao diện layout, và layout lấy một số giá trị từ một tập tin tài nguyên XML. Trong trường hợp này, kết quả là một giao diện người dùng đơn giản với dòng chữ "Hello World!"

Nhưng làm cách nào mà thiết bị biết một Activity cần gọi? Đó là lúc cần tới file AndroidManifest.xml. Hãy xem file này trong thư mục gốc trong dự án của bạn. Kích vào nó và Eclipse load một giao diện tùy chỉnh tiện lợi với một vài tab ở góc dưới bên trái của giao diện. Nhấp vào tab có nhãn AndroidManifest.xml để hiển thị các dòng XML thô như trong Liệt kê 6.

Liệt kê 6. File AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.hello"
   android:versionCode="1"
   android:versionName="1.0" >

  <uses-sdk
   android:minSdkVersion="8"
   android:targetSdkVersion="17" />

  <application
   android:allowBackup="true"
   android:icon="@drawable/ic_launcher"
   android:label="@string/app_name"
   android:theme="@style/AppTheme" >
   <activity
    android:name="com.example.hello.MainActivity"
    android:label="@string/app_name" >
    <intent-filter>
     <action android:name="android.intent.action.MAIN" />
     <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter> 
   </activity>
  </application>
</manifest>

Mục đích của tập tin này là để giải thích ứng dụng của bạn với một thiết bị cơ bản. Nó bao gồm một khối XML được gọi là application, nó giúp xác định các activity. MainActivity của bạn được tham chiếu và một action (hành động) được xác định cùng với một category. action sẽ nói cho thiết bị biết Activity cần khởi động. Trong trường hợp này, action mô tả những Activity của bạn là MAIN.

Các khai báo quan trọng khác trong tập tin AndroidManifest.xml bao gồm các phần uses-sdk, trong đó nói rằng phiên bản min (nhỏ nhất) là 8 (có nghĩa là Android 2.2.x) và Target là 17, còn được gọi là Android 4.2. Tôi sẽ giải thích chi tiết trong một bài viết sau. Còn hiện tại, tôi có đủ điều kiện để nói rằng nền tảng Android cung cấp các thư viện tương thích với các phiên bản trước đó..


Kết luận

Ứng dụng Android đầu tiên là một khởi đầu tốt. Trong quá trình này, bạn đã học được một số điều quan trọng về Android — và phát triển ứng dụng cho điện thoại di động nói chung. Bạn đã cài đặt Android SDK, tải về phiên bản Android 4.2, và tạo ra một AVD (hay trình giả lập) để mô phỏng các hoạt động của ứng dụng của bạn trên một thiết bị. Nếu bạn sử dụng Eclipse, IDE của bạn bây giờ để cấu hình, xây dựng và triển khai các ứng dụng Android cho AVD thì bạn có thể lựa chọn cho phù hợp. Tất cả các thiết lập này là cần thiết để có thể thực hiện được bất cứ điều gì với Android.

Bạn cũng đã thấy cách mà một ứng dụng Android đơn giản được cấu thành, với các lớp Activity đảm nhiệm hầu hết các công việc trong khi AndroidManifest.xml định nghĩa cho các thiết bị cơ bản. Và bạn đã thấy kết quả: một ứng dụng Hello World đơn giản, chỉ cần chờ đợi để được tùy chỉnh.

Lần tới chúng ta sẽ đi sâu hơn với Android. Trong khi chờ đợi, tôi khuyên bạn nên làm quen và sử dụng với các thiết lập ứng dụng mà bạn có cho đến giờ. Hãy thư thêm một số widget hoặc thay đổi các giá trị của các khía cạnh trong các tập tin XML của bạn, nếu bạn muốn tạo một ứng dụng Hello World mới không theo mặc định.

Tài nguyên

Học tập

Lấy sản phẩm và công nghệ

  • Tải về Android: Android SDK cung cấp cho bạn các thư viện API và các công cụ phát triển cần thiết để build, kiểm tra, và gỡ lỗi ứng dụng trên Android.
  • Gói công cụ phát triển Android (ADT): Tải về Android SDK và phiên bản Eclipse với plugin ADT là cách nhanh nhất để bắt đầu với Android.
  • Tải về bộ kit IBM developer: Cập nhất hệ thống của bạn với những công cụ và công nghệ mới tại đây.

Thảo luận

  • Cộng đồng developerWorks: Hãy tham gia vào cộng đồng developerWorks để kết nối với các thành viên cùng khám phá blog, diễn đàn, nhóm và thư viện wiki.

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=Công nghệ Java, Nguồn mở
ArticleID=936474
ArticleTitle=Di động cho mọi người: Giới thiệu sơ lược về Android
publish-date=07022013