intTypePromotion=1
ADSENSE

Phát triển Android khi sử dụng Eclipse và các widget của Android (kỳ 1)

Chia sẻ: Nguyễn Phương Linh Phương | Ngày: | Loại File: PDF | Số trang:26

87
lượt xem
16
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tóm tắt: Hướng dẫn này dành cho bất cứ ai quan tâm đến việc bắt đầu phát triển Android trên Eclipse bằng cách sử dụng trình cắm thêm (plug-in) các công cụ phát triển Android (ADT). Hướng dẫn này mang đến cái nhìn thấu đáo về các tính năng nổi bật của một ứng dụng Android, cùng với lời giải thích ngắn gọn về các thành phần cơ bản của nó.

Chủ đề:
Lưu

Nội dung Text: Phát triển Android khi sử dụng Eclipse và các widget của Android (kỳ 1)

  1. Phát triển Android khi sử dụng Eclipse và các widget của Android (kỳ 1) Tóm tắt: Hướng dẫn này dành cho bất cứ ai quan tâm đến việc bắt đầu phát triển Android trên Eclipse bằng cách sử dụng trình cắm thêm (plug-in) các công cụ phát triển Android (ADT). Hướng dẫn này mang đến cái nhìn thấu đáo về các tính năng nổi bật của một ứng dụng Android, cùng với lời giải thích ngắn gọn về các thành phần cơ bản của nó. Quá trình Android được giới thiệu để phát triển các Giao diện người dùng (UI) phong phú cho các ứng dụng, như các widget (tiện ích). Cuối cùng, nó giới thiệu một cách dễ dàng để kiểm thử các ứng dụng đã phát triển bằng cách triển khai ứng dụng đó trên một trình mô phỏng
  2. thiết bị Android có kèm trong bộ công cụ phát triển phần mềm (SDK). Mở đầu Android là một hệ điều hành di động, tương tự như Symbian, iOS, Windows® Mobile, và những hệ điều hành khác. Ban đầu Android do công ty Android Inc. phát triển, về sau Google đã mua lại công ty này. Android bây giờ thuộc quyền sở hữu của Open Handset Alliance (Liên minh mở về thiết bị cầm tay) và hoàn toàn là nguồn mở, đó là lý do làm nó ngày càng phổ biến. Google đã phát hành hầu hết các mã Android theo Giấy phép của Apache. Với giấy phép này, các nhà cung cấp có thể thêm phần mở rộng độc quyền mà không cần đệ trình chúng lại cho cộng đồng nguồn mở. Nhiều phiên bản Android đã ra thị trường kể từ lúc khởi đầu (gần đây nhất là quý 3 năm 2010), bao gồm power-packed Froyo (Froyo được đóng gói mạnh) (phiên bản V2.2). Android đã vượt ra
  3. ngoài, không còn chỉ là một nền tảng cho các thiết bị di động; hệ thống truyền hình mới của Google cũng chạy trên Android. Android sử dụng một nhân (kernel) Linux® đã cải biên và cho phép ứng dụng được phát triển bằng công nghệ Java™, sử dụng các thư viện Java (một số trong các thư viện đó được Google phát triển cho Android). Mặc dù các ứng dụng Android được viết bằng ngôn ngữ Java, không có Máy ảo Java (Java Virtual Machine) nào chạy trong nền tảng này và mã byte Java không được thi hành ở đây. Các lớp Java được biên dịch lại thành mã Dalvik thi hành được và chạy trên một máy ảo Dalvik. Dalvik là một máy ảo Android đã cải biên và tối ưu hóa cho các thiết bị chạy bằng nguồn pin và có CPU thấp. Đối với các nhà phát triển, Android SDK (Bộ công cụ phát triển phần mềm của Android) cung cấp một tập hợp các công cụ phong phú, bao gồm trình gỡ rối,
  4. các thư viện, trình mô phỏng thiết bị cầm tay, tài liệu, mã mẫu và các hướng dẫn. Các ứng dụng Android có thể dễ dàng được phát triển khi sử dụng Eclipse (nền tảng phát triển chính thức của Android) với sự trợ giúp của một trình cắm thêm được gọi là ADT (Android Development Tools – Các công cụ phát triển Android). Điều này giúp tận dụng các tính năng phong phú của Eclipse, như là hỗ trợ nội dung, tìm kiếm Java, các tài nguyên mở, tích hợp JUnit và các khung nhìn và các ảnh phối cảnh khác nhau để phát triển một ứng dụng Android. Một mảng rộng rãi các widget (tiện ích), tương tự như các widget swing của Java, tạo điều kiện thuận lợi trong việc tạo một giao diện người dùng phong phú cho các ứng dụng. Một công cụ Javadoc chi tiết giúp cho quá trình phát triển này khá dễ dàng. Ở đây, chúng ta bắt đầu với một hướng dẫn để chuẩn bị hệ thống cho việc phát triển Android. Sau đó
  5. chúng ta đề cập ngắn đến các tính năng quan trọng nhất của một ứng dụng Android bằng cách sử dụng một ứng dụng Hello World (Chào thế giới) cơ bản của Android. Chúng ta cũng bàn về các tệp tạo nên một ứng dụng Android và cách thức giao diện người dùng được tách khỏi việc triển khai thực hiện như thế nào. Sau khi trình bày xong quá trình tạo, phát triển và khởi chạy một ứng dụng Android từ Eclipse, chúng ta chuyển sang thảo luận về một vài widget của Android giúp cho việc xây dựng một giao diện người dùng phong phú (một phần rất quan trọng của các ứng dụng di động). Chúng ta trình bày một số widget cơ bản với sự trợ giúp của một ứng dụng mẫu. Chúng ta cũng bàn về cách sử dụng widget listView trong một ứng dụng giống như danh bạ điện thoại và những cách triển khai thực hiện nó. Trong lúc đó, chúng ta cũng bàn về các quyền hạn cần phải được thiết lập để có thể cho phép một ứng dụng truy cập một số dữ liệu từ hệ điều hành. Nhìn chung, vài giờ
  6. học theo bài viết này sẽ giúp bạn tạo một ứng dụng triển khai thực hiện những chức năng cơ bản và có một giao diện người dùng hấp dẫn. 1. Các yêu cầu hệ thống Trước khi bắt đầu phát triển Android, hãy chắc chắn rằng bạn đã cài đặt các phần mềm sau: Eclipse SDK (Bộ công cụ phát triển phần mềm  Eclipe) — phiên bản V3.5 được đề xuất sử dụng với Android SDK mới nhất. Có thể tải phần mềm này từ trang tải Galileo. Android SDK (Bộ công cụ phát triển phần mềm  Android). Android Development Tools (ADT - Các công  cụ phát triển Android) — Đây là một trình cắm thêm Eclipse. Nó tương đương với JDT (Các công cụ phát triển Java) để phát triển Android. Hãy làm theo các hướng dẫn chi tiết để cài đặt
  7. trình cắm thêm ADT cũng như thiết lập vị trí của Android SDK trong Eclipse. 2. Thuật ngữ Android Một ứng dụng Android điển hình có các thành phần sau. Dưới đây cũng trình bày các định nghĩa do trang Web của nhà phát triển Android cung cấp: Activity (Hoạt động) — Một hoạt động biểu thị  một giao diện người dùng trực quan của một nỗ lực tập trung có chủ hướng mà người dùng có thể thực hiện. Ví dụ, một hoạt động có thể biểu thị một danh sách các mục trình đơn mà người dùng có thể lựa chọn từ đó hoặc nó có thể hiển thị các hình ảnh cùng với lời chú thích của chúng. Một ứng dụng tin nhắn văn bản có thể có một hoạt động để hiển thị một danh sách các địa chỉ liên lạc để gửi tin nhắn đến, có một hoạt động thứ hai để viết tin nhắn cho địa chỉ liên lạc đã chọn và các hoạt động khác để xem lại tin nhắn cũ hoặc
  8. thay đổi các giá trị cài đặt. Mặc dù các hoạt động này làm việc cùng nhau để tạo thành một giao diện người dùng gắn kết, nhưng mỗi hoạt động độc lập với các hoạt động khác. Content providers (Những nhà cung cấp nội  dung) — Một nhà cung cấp nội dung tạo ra một tập hợp cụ thể các dữ liệu của ứng dụng, sẵn có cho các ứng dụng khác. Các dữ liệu có thể được lưu trữ trong hệ thống tệp, trong một cơ sở dữ liệu SQLite hoặc theo cách hợp lý bất kỳ khác. Service (Dịch vụ) — Một dịch vụ không có một  giao diện người dùng trực quan mà chạy ở nền sau, trong một khoảng thời gian không xác định. Ví dụ, một dịch vụ có thể chơi nhạc nền khi người dùng tham dự vào các vấn đề khác hoặc nó có thể tìm nạp dữ liệu qua mạng hoặc tính toán một cái gì đó và cung cấp kết quả cho các hoạt động cần nó.
  9. Broadcast receivers (Các bộ thu quảng bá) —  Một bộ thu quảng bá là một thành phần không làm gì khác ngoài thu nhận và phản ứng lại với các thông báo quảng bá. Nhiều thông báo quảng bá bắt nguồn từ mã hệ thống — các thông báo thay đổi-múi giờ, các thông báo pin sắp hết pin, thay đổi ngôn ngữ-ưa thích, v.v. 3. Một số thuật ngữ khác cần biết: Intent (Ý định) — Các hoạt động, các dịch vụ và  các bộ thu quảng bá được kích hoạt bằng các thông báo không đồng bộ được gọi là các ý định. Một ý định là một đối tượng Intent để lưu giữ các nội dung của thông báo. Ví dụ, nó có thể truyền đạt yêu cầu một hoạt động để hiển thị một hình ảnh cho người sử dụng hoặc cho phép người dùng chỉnh sửa một số văn bản. Intent filter (Bộ lọc ý định) — Một đối tượng  Intent có thể gọi tên rõ ràng một thành phần
  10. đích. Nếu nó làm như vậy thì Android sẽ tìm thấy thành phần đó (dựa vào các khai báo trong tệp bản kê) và kích hoạt thành phần này. Tuy nhiên, nếu đích không được gọi tên rõ ràng, thì Android phải định vị thành phần tốt nhất để đáp ứng ý định đó. Nó làm như vậy bằng cách so sánh đối tượng Intent với các bộ lọc ý định của các đích có tiềm năng. Bộ lọc ý định của một thành phần thông báo cho Android về các loại ý định mà thành phần đó có khả năng xử lý. 4. Tạo một Thiết bị ảo Android Bước này cần thiết để tạo một trình mô phỏng điện thoại Android/AVD (Android Virtual Device - Thiết bị ảo của Android ) trên đó các ứng dụng có thể chạy và được thử nghiệm. Lưu ý rằng để khởi động cho một AVD phải mất một chút thời gian. Tin vui là không cần các AVD riêng biệt cho mỗi ứng dụng được triển khai và thử nghiệm. Một khi AVD được
  11. khởi chạy, có thể triển khai một số lượng ứng dụng bất kỳ trong khi nó vẫn còn đang chạy và thậm chí có thể sử dụng nó để gỡ rối ứng dụng. Để tạo một AVD: 1. Trong Eclipse, chọn Window > Android SDK và AVD Manager (Trình quản lý AVD). 2. Chọn Virtual Devices (Các thiết bị ảo) ở khung bên trái. 3. Nhấn New. Hộp thoại Create New AVD (Tạo AVD mới) xuất hiện. 4. Gõ tên của AVD vào, ví dụ như "myPhone." 5. Chọn một đích. Đích là một nền tảng (đó là một phiên bản Android SDK, ví dụ như 2.1) để chạy trên trình mô phỏng . Bạn cũng sẽ nhận được một tùy chọn để chọn các API của Google, nhưng việc đó là không cần thiết trừ khi chúng ta đặc biệt muốn có một số API của Google trong ứng dụng. Các trường còn lại tạm thời có thể bỏ qua vào lúc này.
  12. 6. Nhấn Create AVD (Tạo AVD). Một khi AVD này được khởi chạy, bạn có thể thấy nó mang lại dáng vẻ và cảm nhận đầy đủ của một điện thoại di động dựa trên Android thực, có đủ bàn phím và hỗ trợ đa chạm. Nó cũng có thể được sử dụng trong một loạt các cấu hình để thử nghiệm ứng dụng của bạn, như là chế độ hướng trang nằm ngang/thẳng đứng, cường độ mạng và mạng chuyển vùng , v.v. Tất cả những tùy chọn này có thể được cấu hình khi sử dụng trình quản lý AVD. AVD hoàn toàn độc lập để mô phỏng các thiết bị khác nhau sẵn có. Bạn có thể tạo các AVD khác nhau theo các cấu hình khác nhau và thử nghiệm ứng dụng của bạn trên từng AVD để chắc chắn rằng nó tương thích với mọi loại thiết bị. 5. Tạo một dự án Android Đây là cách tạo một dự án Android mới trong Eclipse (xem Hình 1):
  13. 1. Từ Eclipse, chọn File > New > Project. Một thư mục có tên là Android sẽ có mặt trong hộp thoại nếu trình cắm thêm ADT cho Eclipse đã được cài đặt thành công. Mở rộng thư mục đó sẽ cung cấp tùy chọn cho một dự án Android mới. Chọn nó và nhấn Next. 2. Bạn sẽ được nhắc điền các chi tiết sau đây vào trong một biểu mẫu: Project name (Tên dự án) — Đây là tên của dự  án của bạn và có thể là cái tên nào đó như "HelloWorld" chẳng hạn. Application name (Tên ứng dụng) — Đây là tên  sẽ xuất hiện ở khắp mọi nơi trong thiết bị Android của bạn, cùng với các biểu tượng trong trình đơn, trong các phím tắt và trên thanh tiêu đề khi bạn chạy ứng dụng của mình. Đây cũng có thể là cái tên nào đó như là "Hello Android."
  14. Package name (Tên gói) —  com.example.helloandroid hoặc vùng tên riêng của bạn. Tên gói theo cùng các quy tắc như các tên gói trong ngôn ngữ Java. Create activity (Tạo hoạt động) — Ở đây, với  mục đích minh họa, ta có thể gọi nó là SaySomething (Nói gì đó). Đây là tên cho lớp sẽ được ADT (Các công cụ phát triển Android) tạo ra. Đây sẽ là một lớp con của lớp Activity của Android. Một hoạt động đơn giản là một lớp có thể chạy và thực hiện một số công việc. Nó có thể có một giao diện người dùng. Một ứng dụng có thể chứa một hoặc nhiều hoạt động. Thông thường chúng có mối quan hệ 1:1 với các màn hình có trong một ứng dụng. Một ứng dụng di chuyển từ một hoạt động này sang một hoạt động khác bằng cách gọi một phương thức có tên là startActivity() hay startSubActivity().
  15. Min SDK version (Phiên bản SDK tối thiểu) —  Điều này quy định mức API tối thiểu theo yêu cầu của ứng dụng của bạn. Phiên bản mới nhất là 7. Hình 1. Tạo một dự án Android mới 6. Các chi tiết của dự án Hello Android (Chào Android) Hello Android là một dự án Android cơ bản, chỉ đơn giản in Hello World trên màn hình. Nó có vai trò sau trong bài viết này:
  16. Để trình diễn quá trình tạo một dự án Android  mới. Để đưa ra một tổng quan về các tệp trong một dự  án Android và mục đích của chúng. Để trình diễn cách triển khai một ứng dụng trên  AVD và thử nghiệm nó. Để xem các tệp và phần tài nguyên khác của dự án Android hãy sử dụng khung nhìn Package Explorer (Trình thám hiểm gói) trong Eclipse (Window > Show View > Package Explorer). Dự án Android vừa được tạo ra sẽ bao gồm các thứ sau (xem Hình 2): Có hai thư mục chứa mã nguồn:  1. src chứa tất cả các lớp do người dùng xác định, bao gồm lớp hoạt động mặc định. 2. gen chứa các tệp do ADT tạo tự động. Tệp R.java bên trong thư mục này chứa các tham chiếu tĩnh tới tất cả tài nguyên hiện có trong thư
  17. mục res để cho chúng có thể được tham khảo dễ dàng và động từ mã Java. Không nên sửa đổi thủ công các nội dung của R.java. Hình 2. Các nội dung của dự án Hello Android Một thư mục res chứa tất cả các tài nguyên cho  dự án: các biểu tượng, các hình ảnh, các chuỗi ký tự và các bố trí. Việc có một thư mục tài nguyên tách riêng giữ cho các tài nguyên không phải mã nguồn ở ngoài mã nguồn và các tài nguyên có thể được lựa chọn động dựa trên phần cứng, ngôn ngữ, hướng trang và vị trí. Nó bao gồm:
  18. a. (Các) thư mục drawable — dành cho tất cả các tệp hình ảnh. b. Thư mục layout (bố trí) — dành cho các bố trí quy định các màn hình giao diện người dùng cho các hoạt động, dưới dạng mã XML. Tệp Main.xml được tự động tạo ra. Thư mục này gắn liền với cách bố trí thẳng đứng mặc định. Để biểu diễn một số giao diện người dùng theo bố trí nằm ngang (khi một thiết bị Android xoay 90 độ), tạo một thư mục layout-land (vùng bố trí) và đặt tệp XML bố trí của bạn ở đó. Tệp main.xml có một biểu diễn giao diện người dùng hấp dẫn, như trong Hình 3. Bạn có thể kéo và thả các bố trí khác nhau và các khung nhìn trên một màn hình trống để xây dựng các thành phần giao diện người dùng cho hoạt động này.
  19. c. Thư mục values (các giá trị) — dành cho tất cả các cặp tên-giá trị (các chuỗi ký tự mà ứng dụng của bạn sẽ xác định). Tệp AndroidManifest.xml cũng là một phần  quan trọng của dự án. Nó tương đương với tệp plugin.xml cho các trình cắm thêm. Về cơ bản nó định nghĩa các hoạt động trong các ứng dụng và quy định các hành động đã được chỉ rõ cho mỗi hoạt động. Nó cũng liệt kê ra các quyền hạn mà ứng dụng yêu cầu để thực hiện các hành động khác nhau. Một lần nữa, tệp này có một giao diện người dùng đẹp. Hình 3. Giao diện người dùng cho tệp main.xml
  20. Hãy xem xét các nội dung thực tế của thư mục project (dự án) trên đĩa. Mở Navigator View (Khung nhìn của dẫn hướng) trong Eclipse (Window > Show View > Navigator). Bạn sẽ nhận được cấu trúc cho dự án HelloWorld như trong Hình 4. Ngoài các tệp class được biên dịch, bạn nhận được ba tệp sau đây trong thư mục bin: 1. Tệp classes.dex — Tệp có thể thực thi được tạo ra từ các lớp biên dịch. 2. Tệp HelloWorld.apk — Tệp lưu trữ nén sẽ được chuyển đến thiết bị Android. Ứng dụng này có thể được cài đặt trên thiết bị Android bất kỳ thông qua tệp lưu trữ này. 3. Tệp resources.ap_ — Tệp các tài nguyên ứng dụng nén. Cấu trúc thư mục của dự án Android
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2