WEBVTT

1
00:00.080 --> 00:01.910
สวัสดีเพื่อนๆ และยินดีต้อนรับกลับมา

2
00:01.910 --> 00:04.840

เราได้เรียนรู้เกี่ยวกับผู้จัดการงานในแอนดรอยด์

3
00:04.850 --> 00:10.370

ตอนนี้เราจะติดตามและสังเกตสถานะของผู้จัดการงาน

4
00:10.370 --> 00:15.860
หากกำลังทำงานอยู่, หากสำเร็จ,
หากล้มเหลวหรือยกเลิก, และอื่น ๆ

5
00:15.860 --> 00:24.710
ดังนั้นสำหรับเรื่องนี้ ผมจะใช้ work
manager dot get instance และผมจะใช้ get
application context

6
00:24.710 --> 00:31.940
บรรทัดโค้ดนี้เรียกใช้เมธอด get instance

7
00:31.940 --> 00:33.290
เพื่อรับอินสแตนซ์ของตัวจัดการงาน
โดยส่งค่าบริบทของแอปพลิเคชันเป็นอาร์กิวเมนต์

8
00:33.290 --> 00:35.540
รับบริบทของแอปพลิเคชันเป็นพารามิเตอร์

9
00:35.540 --> 00:41.510
จากนั้นฉันจะใช้เมธอด get work info by id
LiveData

10
00:41.510 --> 00:48.920

วิธีนี้จะดึงเอาวัตถุข้อมูลแบบเรียลไทม์ที่ช่วยให้คุณสามารถสังเกตสถานะและความคืบหน้าของคำขอทำงานเฉพาะได้

11
00:48.920 --> 00:51.620


12
00:51.620 --> 00:57.560

คุณจำเป็นต้องระบุรหัสประจำตัวที่ไม่ซ้ำกันสำหรับคำขอทำงานที่คุณต้องการตรวจสอบสถานะ

13
00:57.560 --> 01:03.710
ในกรณีนี้ คุณกำลังใช้คำขอทำงานนี้ w r w r
dot

14
01:03.710 --> 01:09.080
รับ ID เพื่อรับตัวระบุเฉพาะสำหรับคำขอทำงาน
w r

15
01:09.080 --> 01:12.560
จากนั้นฉันจะใช้เมธอดสังเกต

16
01:12.560 --> 01:13.760
สังเกตวิธีการ

17
01:13.760 --> 01:22.310

โค้ดนี้ตั้งค่าผู้สังเกตการณ์บนวัตถุข้อมูลสดเพื่อฟังการเปลี่ยนแปลงในสถานะของคำขอทำงาน

18
01:22.310 --> 01:22.880


19
01:22.880 --> 01:30.620

ผู้สังเกตการณ์จะได้รับการแจ้งเตือนเมื่อสถานะของคำขอเปลี่ยนแปลง

20
01:30.620 --> 01:33.830

และสามารถดำเนินการที่เหมาะสมตามสถานะใหม่ของผู้จัดการงานนี้

21
01:33.860 --> 01:39.920
พารามิเตอร์แรกคือสิ่งนี้ ซึ่งเป็นเจ้าของ
และพารามิเตอร์ที่สองคือผู้สังเกตการณ์

22
01:39.920 --> 01:44.240

และเราได้ทำงานร่วมกับผู้สังเกตการณ์และข้อมูลสดในส่วนก่อนหน้านี้

23
01:44.240 --> 01:48.020

ดังนั้นโปรดอ้างอิงข้อมูลสดและวิธีการสังเกตการณ์

24
01:48.020 --> 01:54.170

พารามิเตอร์แรกแสดงถึงเจ้าของวงจรชีวิตและโดยทั่วไปจะเป็นกิจกรรมหรือแฟรกเมนต์

25
01:54.170 --> 02:01.490

มันระบุวงจรชีวิตของเจ้าของเพื่อสังเกตข้อมูลสด

26
02:01.490 --> 02:04.280

และในกรณีนี้ดูเหมือนว่าจะอยู่ในขอบเขตของกิจกรรมซึ่งเป็นกิจกรรมหลัก

27
02:04.280 --> 02:13.430

พารามิเตอร์ที่สองคือผู้สังเกตการณ์ใหม่ประเภทข้อมูลการทำงาน
และคุณจะเห็นว่าฉันกำลังเขียนทับเมธอด

28
02:13.430 --> 02:14.000
changed

29
02:14.000 --> 02:23.240

พารามิเตอร์ที่สองคือคลาสภายในนิรนามที่กำหนดผู้สังเกตการณ์สำหรับคลาสข้อมูลงาน

30
02:23.240 --> 02:30.620

นี่คือที่ที่คุณกำหนดตรรกะที่ควรดำเนินการเมื่อสถานะของคำขอทำงานเปลี่ยนแปลง

31
02:30.620 --> 02:31.970
เดี๋ยวฉันจะตรวจสอบให้

32
02:31.970 --> 02:39.800
หากข้อมูลงานไม่เท่ากับค่าว่าง (null)
ฉันจำเป็นต้องแสดงข้อความแจ้งเตือนแบบป๊อปอัพเพื่อแจ้งสถานะของคำขอทำงานนี้และข้อมูลงาน
dot get

33
02:39.800 --> 02:46.580
state dot name method

34
02:46.580 --> 02:47.840
เรียกใช้แอปพลิเคชัน

35
02:47.840 --> 02:53.060
รันสถานะของผู้จัดการงาน อยู่ในคิว
กำลังดำเนินการ และสำเร็จแล้ว

36
02:53.060 --> 02:58.910
ถ้าเราเปิดจุดชมวิว เราจะเห็นมันนับถึง 1000
หรือ 999

37
02:58.910 --> 03:00.770
มาทำความเข้าใจให้ดียิ่งขึ้น

38
03:00.770 --> 03:05.150

ฉันจะไปที่คลาสพนักงานของฉันที่นี่และไปที่เมธอดทำงาน

39
03:05.150 --> 03:12.200
ฉันจะเปลี่ยนเป็น 100,000
เพื่อให้เข้าใจผู้จัดการงานได้ดีขึ้น
จากนั้นรันแอปพลิเคชัน Logcat

40
03:12.200 --> 03:14.630
และที่นี่คลิกเรียกใช้ เรียกใช้

41
03:14.630 --> 03:17.480
คุณสามารถดูได้ และฉันจะออกจากแอปพลิเคชัน

42
03:17.480 --> 03:20.240
การนับยังคงดำเนินอยู่

43
03:20.240 --> 03:21.980
ขอแสดงความยินดีด้วยครับ/ค่ะ

44
03:21.980 --> 03:25.790

เราได้เรียนรู้เกี่ยวกับสถานะของผู้จัดการงาน


