สวัสดีเพื่อนๆ และยินดีต้อนรับกลับมา
เราได้เรียนรู้เกี่ยวกับผู้จัดการงานในแอนดรอยด์
ตอนนี้เราจะติดตามและสังเกตสถานะของผู้จัดการงาน
หากกำลังทำงานอยู่, หากสำเร็จ, หากล้มเหลวหรือยกเลิก, และอื่น ๆ
ดังนั้นสำหรับเรื่องนี้ ผมจะใช้ work manager dot get instance และผมจะใช้ get application context
บรรทัดโค้ดนี้เรียกใช้เมธอด get instance
เพื่อรับอินสแตนซ์ของตัวจัดการงาน โดยส่งค่าบริบทของแอปพลิเคชันเป็นอาร์กิวเมนต์
รับบริบทของแอปพลิเคชันเป็นพารามิเตอร์
จากนั้นฉันจะใช้เมธอด get work info by id LiveData
วิธีนี้จะดึงเอาวัตถุข้อมูลแบบเรียลไทม์ที่ช่วยให้คุณสามารถสังเกตสถานะและความคืบหน้าของคำขอทำงานเฉพาะได้
คุณจำเป็นต้องระบุรหัสประจำตัวที่ไม่ซ้ำกันสำหรับคำขอทำงานที่คุณต้องการตรวจสอบสถานะ
ในกรณีนี้ คุณกำลังใช้คำขอทำงานนี้ w r w r dot
รับ ID เพื่อรับตัวระบุเฉพาะสำหรับคำขอทำงาน w r
จากนั้นฉันจะใช้เมธอดสังเกต
สังเกตวิธีการ
โค้ดนี้ตั้งค่าผู้สังเกตการณ์บนวัตถุข้อมูลสดเพื่อฟังการเปลี่ยนแปลงในสถานะของคำขอทำงาน
ผู้สังเกตการณ์จะได้รับการแจ้งเตือนเมื่อสถานะของคำขอเปลี่ยนแปลง
และสามารถดำเนินการที่เหมาะสมตามสถานะใหม่ของผู้จัดการงานนี้
พารามิเตอร์แรกคือสิ่งนี้ ซึ่งเป็นเจ้าของ และพารามิเตอร์ที่สองคือผู้สังเกตการณ์
และเราได้ทำงานร่วมกับผู้สังเกตการณ์และข้อมูลสดในส่วนก่อนหน้านี้
ดังนั้นโปรดอ้างอิงข้อมูลสดและวิธีการสังเกตการณ์
พารามิเตอร์แรกแสดงถึงเจ้าของวงจรชีวิตและโดยทั่วไปจะเป็นกิจกรรมหรือแฟรกเมนต์
มันระบุวงจรชีวิตของเจ้าของเพื่อสังเกตข้อมูลสด
และในกรณีนี้ดูเหมือนว่าจะอยู่ในขอบเขตของกิจกรรมซึ่งเป็นกิจกรรมหลัก
พารามิเตอร์ที่สองคือผู้สังเกตการณ์ใหม่ประเภทข้อมูลการทำงาน และคุณจะเห็นว่าฉันกำลังเขียนทับเมธอด
changed
พารามิเตอร์ที่สองคือคลาสภายในนิรนามที่กำหนดผู้สังเกตการณ์สำหรับคลาสข้อมูลงาน
นี่คือที่ที่คุณกำหนดตรรกะที่ควรดำเนินการเมื่อสถานะของคำขอทำงานเปลี่ยนแปลง
เดี๋ยวฉันจะตรวจสอบให้
หากข้อมูลงานไม่เท่ากับค่าว่าง (null) ฉันจำเป็นต้องแสดงข้อความแจ้งเตือนแบบป๊อปอัพเพื่อแจ้งสถานะของคำขอทำงานนี้และข้อมูลงาน dot get
state dot name method
เรียกใช้แอปพลิเคชัน
รันสถานะของผู้จัดการงาน อยู่ในคิว กำลังดำเนินการ และสำเร็จแล้ว
ถ้าเราเปิดจุดชมวิว เราจะเห็นมันนับถึง 1000 หรือ 999
มาทำความเข้าใจให้ดียิ่งขึ้น
ฉันจะไปที่คลาสพนักงานของฉันที่นี่และไปที่เมธอดทำงาน
ฉันจะเปลี่ยนเป็น 100,000 เพื่อให้เข้าใจผู้จัดการงานได้ดีขึ้น จากนั้นรันแอปพลิเคชัน Logcat
และที่นี่คลิกเรียกใช้ เรียกใช้
คุณสามารถดูได้ และฉันจะออกจากแอปพลิเคชัน
การนับยังคงดำเนินอยู่
ขอแสดงความยินดีด้วยครับ/ค่ะ
เราได้เรียนรู้เกี่ยวกับสถานะของผู้จัดการงาน