Tìm kiếm tài liệu miễn phí

Hướng dẫn lập trình cơ bản với Android - Phần 13: Giới thiệu Intent

Tài liệu cung cấp cho người học các kiến thức: Khái niệm về Intent, các thuộc tính của Intent, phân loại Intent, một số action thường sử dụng trong Intent,... Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên đang theo học môn dùng làm tài liệu học tập và nghiên cứu. Mời các bạn cùng tham khảo chi tiết nội dung tài liệu.



Đánh giá tài liệu

0 Bạn chưa đánh giá, hãy đánh giá cho tài liệu này


  • 5 - Rất hữu ích 0

  • 4 - Tốt 0

  • 3 - Trung bình 0

  • 2 - Tạm chấp nhận 0

  • 1 - Không hữu ích 0

Mô tả

Trong bài này mình sẽ đi sâu nói rõ về Intent, phần cơ bản và đóng vai trò rất
quan trọng trong lập trình ứng dụng Android.
Khái niệm về Intent:

Theo định nghĩa của Google, Intent là một miêu tả về một hoạt động cần được
thực hiện. Còn nói một cách đơn giản và dễ hiểu hơn, Intent là một cơ cấu cho
phép truyền thông điệp giữa các thành phần của 1 ứng dụng và giữa các ứng dụng
với nhau.
Các thuộc tính của Intent:
- action: là hành động được thực hiện, vd : ACTION_VIEW, ACTION_MAIN
- data: là dữ liệu sẽ được xử lý trong action, thường được diễn tả là một Uri
(Uniform Resource Identifier, tham khảo
http://en.wikipedia.org/wiki/Uniform...rce_Identifier để hiểu rõ thêm chi tiết).
VD:
ACTION_VIEW content://contacts/people/1 - Hiển thị thông tin về người với mã
danh 1
ACTION_DIAL content://contacts/people/1 - Hiển thị màn hình gọi đến người với
mã danh 1
ACTION_DIAL tel:123 - Hiển thị màn hình gọi với số gọi là 123
Ngoài ra còn có 1 số thuộc tính mà ta có thể bổ sung vào Intent:
- category: bổ sung thêm thông tin cho action của Intent. VD:
CATEGORY_LAUNCHER thông báo sẽ thêm vào Launcher như là một ứng dụng

top-level
- type: chỉ rõ kiểu của data
- component: chỉ rõ thành phần sẽ nhận và xử lý intent. Khi thuộc tính này được
xác định thì các thuộc tính khác sẽ trở thành thuộc tính phụ.
- extras: mang theo đối tượng Bundle chứa các giá trị bổ sung.
VD:
ACTION_MAIN và CATEGORY_HOME: trở về màn hình Home của Android (khi
bấm nút Home của di động)
Phân loại Intent:
Intent được chia làm 2 loại:
- Explicit Intents: intent đã được xác định thuộc tính component, nghĩa là đã chỉ
rõ thành phần sẽ nhận và xử lý intent. Thông thường intent dạng này sẽ không bổ
sung thêm các thuộc tính khác như action, data. Explicit Intent thương được sử
dụng để khởi chạy các activity trong cùng 1 ứng dụng.
- Implicit Intents: Intent không chỉ rõ component xử lý, thay vào đó nó bổ sung
thông tin trong các thuộc tính. Khi intent được gửi đi, hệ thống sẽ dựa vào những
thông tin này để quyết định component nào thích hợp nhất để xử lý nó.
VD:
ACTION_DIAL tel:123 thông thường sẽ được hệ thống giao cho activity Phone
Dialer mặc định của Android xử lý.
Một số action thường sử dụng trong Intent:
ACTION_ANSWER - mở Activity để xử lý cuộc gọi tới, thường là Phone Dialer của
Android
ACTION_CALL - mở 1 Phone Dialer (mặc định là PD của Android) và ngay lập tức
thực hiện cuộc gọi dựa vào thông tin trong data URI
ACTION_DELETE - mở Activity cho phép xóa dữ liệu mà địa chỉ của nó chứa trong
data URI
ACTION_DIAL - mở 1 Phone Dialer (mặc định là PD của Android) và điền thông tin
lấy từ địa chỉ chứa trong data URI

ACTION_EDIT - mở 1 Activity cho phép chỉnh sửa dữ liệu mà địa chỉ lấy từ data
URI
ACTION_SEND - mở 1 Activity cho phép gửi dữ liệu lấy từ data URI, kiểu của dữ
liệu xác định trong thuộc tính type
ACTION_SENDTO - mở 1 Activity cho phép gửi thông điệp tới địa chỉ lấy từ data
URI
ACTION_VIEW - action thông dụng nhất, khởi chạy activity thích hợp để hiển thị
dữ liệu trong data URI
ACTION_MAIN - sử dụng để khởi chạy 1 Activity

OK, lý thuyết như thế là đã tạm ổn. Giờ chúng ta sẽ chuyển qua phần thực hành để
hiểu rõ cách sử dụng Intent. Như đã nêu ở trên, Intent chia làm 2 loại: explicit
intent và implicit intent. Mỗi loại Intent sẽ có cách cài đặt và sử dụng khác nhau.
Using Explicit Intents
Yêu cầu: Xây dựng chương trình gồm 2 Activity. Activity1 là Activity chạy ban
đầu lúc khởi động ứng dụng, cho phép nhập vào 1 giá trị, cho phép khởi chạy
Activity2 và gửi giá trị này tới Activity2. Activity2 sẽ nhận và hiển thị giá trị, rồi
lại gửi giá trị này tới 1 BroadcastReceiver. Cơ chế gửi và khởi chạy Activity sử
dụng thông qua Intent.
B1: Khởi tạo project: File -> New -> Android Project
Project name: Explicit Intent Example
Build Target: Chọn Android 1.5
Application name: Explicit Intent Example
Package name: at.exam
Create Activity: Activity1
=> Kích nút Finish.
B2: Tạo giao diện cho Activity1 -> res\layout\main.xml chuyển tên thành
activity1_layout.xml
Mã:










Layout cho Activity1 bao gồm 1 LinearLayout chứa 1 TextView, 1 EditText để
nhập giá trị (đã giới hạn kiểu nhập là number), và 1 RelativeLayout có 1 Button để
khởi chạy Activity2. Mình sử dụng RelaytiveLayout để có thể xếp Button này
xuống phía cuối của giao diện.

Tài liệu cùng danh mục Kỹ thuật lập trình

Lập trình Csharp căn bản

Tài Liệu tìm hiểu về ngôn ngữ Csharp Các giải pháp lập trình C# khảo sát chiều rộng của thư viện lớp .NET Framework và cung cấp giải pháp cụ thể cho các vấn đề thường gặp. Mỗi giải pháp được trình bày theo dạng “vấn đề/giải pháp” một cách ngắn gọn và kèm theo là các ví dụ mẫu.


Bài giảng Lập trình trên Windows với Microsoft® .NET: Bài 7 - Hồ Hoàn Kiếm

Bài giảng Lập trình trên Windows với Microsoft® .NET: Bài 7 được biên soạn nhằm giúp cho các bạn hiểu rõ hơn về cách sử dụng controls trong C#. Mời các bạn tham khảo bài giảng để hiểu rõ hơn về những nội dung này, với các bạn chuyên ngành Công nghệ thông tin thì đây là tài liệu hữu ích.


PHP and script.aculo.us Web 2.0 Application Interfaces

We have been developing web applications using PHP and MySQL. But now we want to learn how to make our applications interactive in terms of usage, and build a community around them. In short, we want to build simple, yet powerful applications. Look no further! script.aculo.us is our savior and our love, too. script.aculo.us is a JavaScript library that provides dynamic visual effects, user interface controls, and robust AJAX features. In this chapter, we will explore the script.aculo.us library with regards to versions, features, and real-world usage....


Professional Microsoft Smartphone Programming phần 7

Bởi vì truy cập vào một cơ sở dữ liệu là bình thường dễ gây lỗi, nó luôn luôn là một thực hành tốt để đưa các hoạt động databaserelated trong cố gắng ngăn chặn và xử lý các trường hợp ngoại lệ có thể có trong khối catch. Hình 13-5 và 13-6 cho thấy những kết quả hoạt động của ứng dụng.


Network Programming in .NET With C# and Visual Basic .NET phần 9

và dtDeparture. Một hộp combo có tên là cbType cũng được yêu cầu. Bạn phải click vào mục tài sản cho hộp kết hợp và bổ sung thêm ba chuỗi: cơ bản, trên bộ, và sang trọng. Nhấp vào nút Send và thêm mã sau đây: C #


Lecture Introduction to systems analysis and design: Chapter 3 - Whitten, Bentley

Chapter 3 - Project management. After studying this chapter you will be able to: Define the terms project and project management, and differentiate between project and process management, describe causes of failed information systems and technology projects, describe basic competencies required of project managers,...


Chương 11: INPUT – OUTPUT TRONG JAVA

Mục tiêu: Hiểu khái niệm về dòng. Biết các lớp đảm nhiệm việc việc xuất nhập dữ liệu trong Java. Biết cách sử dụng các lớp io để xuất nhập dữ liệu với màn hình và bàn phím. Biết cách xuất nhập dữ liệu với tập tin văn bản, tập tin chứa các dữ liệu thuộc kiểu cơ bản, tập tin chứa dữ liệu là các đối tượng. Biết các interface và các lớp quản lý việc in ấn.


Bài tập LT Windows Tuần 1

Tài liệu Bài tập LT Windows Tuần 1 tập hợp những bài tập về lập trình Windows. Thông qua những bài tập này sẽ giúp các bạn nắm bắt tốt hơn những kiến thức lý thuyết cũng như thực hành việc lập trình máy tính. Mời các bạn tham khảo.


PHP Object-Oriented Solutions phần 4

Những thay đổi này đơn giản làm cho lớp Pos_Date nhiều hơn nữa mạnh mẽ hơn so với các lớp cha mẹ. Điều đó hoàn thành trọng các phương pháp di truyền. Tất cả các thay đổi sau đó thêm một phương thức mới để tăng cường chức năng của lớp.


Giáo trình Advanced Certificate in Information Technology - Sanlein part 88

Tham khảo tài liệu 'giáo trình advanced certificate in information technology - sanlein part 88', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả


Tài liệu mới download

Từ khóa được quan tâm

Có thể bạn quan tâm

Dashboard phần 2
  • 26/07/2010
  • 73.630
  • 854
Arduino Adventures
  • 08/04/2013
  • 40.287
  • 887
Using Component Methods
  • 08/08/2010
  • 73.650
  • 680
Windows 7 Software testing
  • 28/11/2012
  • 87.854
  • 586

Bộ sưu tập

Danh mục tài liệu