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

Lập trình Android tiếng việt - Service pdf

9 689 12

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 146,12 KB

Nội dung

Lifecycle – startService onCreate onStart onDestroy Service đang chạy Service được start lần đầu Service lại được yêu cầu start trong khi đã chạy rồi Bên ngoài gọi stopService h

Trang 1

Service

MultiUni

Trần Vũ Tất Bình

Trang 2

Tổng quan

• Là một trong 4 loại thành phần của một ứng dụng

• Service chạy nền và không tương tác trực tiếp với người dùng

• Tham khảo:

http://developer.android.com/reference/android/a pp/Service.html

Trang 3

Lifecycle – startService()

onCreate()

onStart()

onDestroy()

Service đang chạy

Service được start

lần đầu

Service lại được yêu

cầu start trong khi đã

chạy rồi

Bên ngoài gọi stopService() hoặc service tự stop

Trang 4

Lifecycle – startService()

• Khi có một context nào đó gọi startService()

để start service mong muốn Nếu service đó

chưa được tạo thì sẽ gọi onCreate() rồi gọi tiếp onStart() và khi đó service chạy nền bên dưới

• Nếu sau đó lại có một context muốn start

service này mà service đã đang chạy, chỉ có

phương thức onStart() của service được gọi

• Dù service có được gọi start bao nhiêu lần thì cũng chỉ có 1 instance của service và chỉ cần gọi stopService() một lần để kết thúc service

Trang 5

Lifecycle – bindService()

onCreate() onBind()

Service đang chạy

Activity gọi

bindService() để

kết nối tới

service

Bên ngoài gọi unbindService() hoặc kết nối bị

ngắt

onUnbind()

Service không còn kết nối với client nào nữa và cũng ko

có context nào start service này

onDestroy()

Service còn chạy, client muốn kết nối với service

onRebind()

Lần trước unBind() với client này trả về true

Trang 6

Lifecycle – bindService()

• Thông thường, lifecycle của service khi có

client kết nối từ đầu như sau:

– Cũng bắt đầu bằng onCreate() rồi đến onBind() và service chạy background

– Khi không còn client kết nối tới thì service gọi

onUnbind() rồi onDestroy()

Trang 7

Lifecycle

• Có một số trường hợp không thông thường, ví

dụ như:

– Có một context khởi động (start) một service, sau

đó có một số client kết nối (bind) tới service

– Có nhiều client cùng lúc kết nối (bind) tới service – Một activity vừa gọi startService() vừa gọi

bindService()

Các bạn có thể tự làm ví dụ để thử các trường hợp này

Trang 8

Xem demo LocalService

• ApiDemos  src 

com.example.android.apis.app

 LocalService

 LocalServiceBinding

LocalServiceController

Trang 9

Sử dụng service

– Dùng trong các ứng dụng nghe nhạc

– Dùng để xử lý các thao tác mất thời gian và không nhất thiết phải hiển thị lên activity (download,

upload…)

– Đôi khi cần một ứng dụng vận hành liên tục để xử

lý những việc mong muốn mà không làm phiền

người dùng  service

– Làm những thao tác tính toán, xử lý đều đặn nào

đó và kết quả khi nào người dùng cần thì mới xem

Ngày đăng: 27/06/2014, 01:20

TỪ KHÓA LIÊN QUAN

w