1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Lập trình di động - Bài 5: Intent và cơ chế trao đổi dữ liệu giữa các thành phần trong android

39 21 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Intent Và Cơ Chế Trao Đổi Dữ Liệu Giữa Các Thành Phần Trong Android
Trường học Standard Format University
Chuyên ngành Mobile Programming
Thể loại Lecture
Năm xuất bản 2023
Thành phố Standard City
Định dạng
Số trang 39
Dung lượng 1,33 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Lập trình di động - Bài 5: Intent và cơ chế trao đổi dữ liệu giữa các thành phần trong android, cung cấp cho người học những kiến thức như: Giới thiệu về intent; Intent tường minh vs ngầm định; Các thành phần của intent; Sử dụng intent để trao đổi dữ liệu. Mời các bạn cùng tham khảo!

Trang 1

LẬP TRÌNH DI ĐỘNG

Bài 5: Intent và cơ chế trao đổi dữ liệu giữa các thành phần trong android

Trang 2

Nhắc lại bài trước

▪Các điều khiển hữu ích: ProgressBar, Progress

Dialog, AutoComplete TextView, TimePicker,

TimePicker Dialog, DatePicker, DatePicker Dialog,

ListView, Spinner, WebView

▪Quá trình xây dựng giao diện:

1 Thiết lập giao diện trong XML

2 Cái nào không dùng XML được thì viết trong onCreate

3 Thiết lập dữ liệu cho điều khiển

4 Viết các hàm xử lý sự kiện cho điều khiển

Trang 3

Nội dung

1 Giới thiệu về intent

2 Intent tường minh vs ngầm định

Trang 4

Phần 1

Giới thiệu về intent

Trang 5

Intent & Intent Service

▪Intent là chuẩn giao tiếp giữa các thành phần trongAndroid OS (activity, service, provider, receiver)

▪Intent service là dịch vụ hệ thống, vai trò như người

đưa thư: chuyển intent tới thành phần nhận phù hợpnhất (chiếu theo địa chỉ ghi trong intent)

▪Intent giống một lá thư: các thông tin cần thiết được

đóng gói bên trong một intent (địa chỉ + nội dung)

Trang 6

Phần 2

Intent tường minh vs ngầm

định

Trang 7

Intent tường minh (explicit)

Trang 8

Intent ngầm định (implicit)

▪Dùng các thành phần action, category,…

▪Hệ thống tự động xác định đối tượng phù hợp nhất

để đáp ứng với Intent đó (theo nguyên tắc “phân

giải intent” đã trình bày ở slide 14)

▪Dùng để giao tiếp với các dịch vụ hệ thống hoặc

dịch vụ do bên thứ ba cung cấp:

▪ Gọi activity: startActivity / startActivityForResult

▪ Gọi service: startService / bindService

▪ Gửi boardcast: sendBoardcast / sendOrderedBoardcast

Trang 9

Intent ngầm định (implicit)

Một số trường hợp sử dụng implicit intent

Trang 10

Các action được định nghĩa sẵn

Trang 11

Phần 5

Các thành phần của intent

Trang 12

Các thành phần của Intent

Trang 13

Các thành phần của Intent

▪Component name: tên class xử lí intent (ví dụ:

“com.example.project.app.MyActivity1”)

▪Action: tên các hành động mà intent yêu cầu thực

hiện (ví dụ: action_view, action_call,…)

▪Data: dữ liệu yêu cầu được xử lí, dữ liệu này

thường được biểu diễn dưới dạng URI (ví dụ:

"tel:216-555-1234")

▪ Trường hợp dữ liệu phức tạp hoặc không cố định, người

ta thường đẩy vào phần extras

Trang 14

Các thành phần của Intent

▪Type: định dạng kiểu dữ liệu của data (dùng chuẩnMIME), thường được tự xác định bởi hệ thống

▪Category: bổ sung thông tin cho các action của

intent (ví dụ: nếu một activity có thuộc tính

category là CATEGORY_LAUNCHER nghĩa là activity

đó có thể khởi chạy cấp ứng dụng)

▪Extras: dữ liệu bổ sung nếu vùng Data là chưa đủ,

extras sử dụng cấu trúc bundle gồm các cặp (key,

value)

Trang 16

Ví dụ sử dụng Intent

Mở trang web www.tdu.edu.vn

Trang 17

Ví dụ sử dụng Intent

Mở activity quay số với số 0912102165 điền sẵn

Trang 18

Dùng Intent và nhận dữ liệu trả về

• Thảo luận với một ví dụ sau:

Tạo một ứng dụng chụp ảnh:

1 Giao diện gồm một nút lệnh và imageView

2 Khi ấn nút lệnh → gọi đến giao diện camera

3 Tại giao diện camera → chụp ảnh → hoàn tất

4 Trở lại giao diện đầu → imageView hiển thị ảnh

chụp được bên camera

Trang 19

Dùng Intent và nhận dữ liệu trả về

Trang 20

Dùng Intent và nhận dữ liệu trả về

Trang 21

Dùng Intent và nhận dữ liệu trả về

Trang 22

Dùng Intent và nhận dữ liệu trả về

Ánh xạ nút lệnh chụp ảnh và hiển thị hình ảnh

Hàm openCamera(): tạo một intent gọi đến ứng dụng camera

Trang 23

Dùng Intent và nhận dữ liệu trả về

Xử lý việc nhận kết quả trả về thông qua phương thức onActivityResult() của Activity, có 3 tham số:

- requestCode: mã số yêu cầu (được gửi đi khi thực hiện intent)

- resultCode: mã số kết quả (có giá trị RESULT_OK: yêu cầu được hoàn tất)

- data: nhận dữ liệu trả về - tại đây data chứa dữ liệu của hình được chụp từ

Trang 24

Phần 2

Sử dụng intent để trao đổi dữ

liệu

Trang 25

Trao đổi intent giữa các activity

▪Dữ liệu được đóng gói vào intent

▪ Lựa chọn dữ liệu đưa vào intent phù hợp

▪ Có chuẩn trao đổi dữ liệu chung để dễ xử lý

▪Sau đó gọi activity phù hợp để xử lý

Trang 26

Trao đổi intent giữa các activity

▪Về phía bên activity nhận, lấy intent gửi cho mình

bằng getIntent()

▪Nếu cần trả về kết quả nào đó cho activity trước

▪ Thông báo thất bại: setResult(RESULT_CANCELED);

▪ Thông báo thành công: setResult(RESULT_OK, x);

• Với x là intent mà sẽ trả ngược lại cho activity gọi

• Cần đưa dữ liệu vào x trước khi setResult

• Việc đưa dữ liệu sử dụng các hàm putExtra)

▪ Chú ý trường hợp dữ liệu phức tạp: putSerializable

Trang 27

Thảo luận

Trang 30

Tại ActivityMain

Trang 31

Sự kiện click của nút lệnh chỉnh sửa gọi đến hàm OpenEdit()

Hàm OpenEdit() thực hiện mở EditActivity, gửi nội dung trên tvNote

và có yêu cầu kết quả trả về

Trang 32

Hàm onActivityResult() xử lý kết quả trả về từ EditActivity

• onActivityResult() đây là hàm có sẵn trong activity

Trang 33

Tại EditActivity

Trang 34

Hàm getData() – đặt vào onCreate của activity thực hiện lấy

dữ liệu gửi đến và hiển thị lên edtEdit

Xử lý sự kiện click cho nút HỦY

Trang 35

Xử lý sự kiện click cho nút LƯU

Trang 36

Quay lại ứng dụng UocChung – thực hiện việc trả kết

quả về cho activity nhập dữ liệu sau khi tính xong giá trị

ước chung và bội chung

Trang 37

Phần 3

Intent filter

Trang 38

Intent filter (bộ lọc intent)

• Là thành phần giúp cho hệ thống Android biết được ứng dụng của bạn có thể làm

được những gì

• Activity, Service và Broadcast receiver sử dụng intent filter để thông báo cho hệ thống biết các dạng intent mà nó có thể xử lý

Trang 39

Intent filter (bộ lọc intent)

• Phân giải intent (intent resolution): khi nhậnđược một intent, hệ thống tiến hành chọn activityphù hợp nhất với intent đó theo ưu tiên sau

– Action trong intent: mô tả hành động sẽ thực hiện Ở đây nó

mô tả ứng dụng của tôi sẽ xử lý các hành động liên quan tới gửi

dữ liệu – Category của intent: mặc định

– data: thẻ này nói rõ hơn cho hệ thống biết là tôi chỉ nhận những

Ngày đăng: 09/12/2021, 10:06

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w