กิจกรรม Android คืออะไร และวงจรการใช้งานคืออะไร - เทคโนโลยี
ข้ามไปที่เนื้อหา

กิจกรรม Android คืออะไรและวงจรชีวิตเป็นอย่างไร

หนึ่งในแนวคิดหลักในการพัฒนาแอพพลิเคชั่นมือถือคือแนวคิดของกิจกรรมซึ่งเป็นพื้นฐานของแอพพลิเคชั่น คราวนี้เราจะมาดูกันว่าพวกมันประกอบด้วยอะไรและวงจรชีวิตของพวกมันคืออะไร

โฆษณา


ในหน้านักพัฒนาซอฟต์แวร์ Android อย่างเป็นทางการ เราจะพบคำอธิบายโดยละเอียดเพิ่มเติมเกี่ยวกับกิจกรรมที่นำเสนอ (https://developer.android.com/guide/components/activities/intro-activities) ที่นี่เราจะเห็นภาพรวมเกี่ยวกับพวกมันและวงจรชีวิตของพวกมัน


เราได้เห็นแล้วว่าแอปพลิเคชัน Android ประกอบด้วยองค์ประกอบหรือมุมมองกราฟิกที่แตกต่างกัน และนอกจากนี้ยังมีโครงสร้างไดเร็กทอรีที่อนุญาตให้ส่วนต่อประสานกราฟิกเป็นอิสระจากตรรกะของแอปพลิเคชัน หน้าจอได้รับการจัดการผ่านไฟล์ xml ที่มี เลย์เอาต์หรือตัวจัดการเนื้อหาและตรรกะทำงานในกิจกรรมที่สอดคล้องกับคลาสกิจกรรม นอกจากนี้ยังมีแนวคิดอื่นที่เรียกว่าแฟรกเมนต์ที่อยู่ภายในกิจกรรม แต่นี่คือสิ่งที่เราจะกล่าวถึงในภายหลัง


คลาสกิจกรรมเป็นหนึ่งในองค์ประกอบหลักของแอปพลิเคชัน สิ่งเหล่านี้เป็นพื้นฐานสำหรับการสร้างแอพอย่างแท้จริง เนื่องจากพวกมันจัดการตรรกะของระบบและสิ่งที่ผู้ใช้จะโต้ตอบด้วย แอปพลิเคชัน Android เริ่มต้นด้วยอินสแตนซ์ของกิจกรรมที่มีวงจรชีวิตที่กำหนดไว้เพื่อให้แอปพลิเคชันทำงานต่อไป


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


ภายใน เมื่อเราเปลี่ยนหน้าจอ สิ่งที่ทำคือการเรียกระหว่างกิจกรรม (หรือชิ้นส่วนถูกแทนที่ด้วยกิจกรรมเดียวกัน) และเมื่อเราเปลี่ยนระหว่างแอปพลิเคชันด้วยวิธีเดียวกัน แอปพลิเคชันจะถูกเรียกใช้โดยการเรียกกิจกรรมเริ่มต้น


แอปพลิเคชันมักจะประกอบด้วยหลายหน้าจอ ซึ่งเทียบเท่ากับการมีกิจกรรมหลายอย่างที่สื่อสารระหว่างกัน แม้ว่าจะมีการกล่าวถึงแล้วว่าแอปพลิเคชันสามารถเริ่มต้นจากกิจกรรมใดก็ได้ แต่กิจกรรมจะถูกกำหนดเป็นกิจกรรมหลักเสมอ MainActivity (แม้ว่า ไม่จำเป็นต้องเป็นคนแรกที่แสดง) และจากนั้นทำเครื่องหมายจุดเริ่มต้นสำหรับการนำทางในระบบที่เรียกกิจกรรมหรือส่วนย่อยใหม่

ไฟล์รายการ (AndroidManifest.xml)


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



เมื่อกิจกรรมถูกสร้างขึ้น androidStudio จะดูแลการกำหนดพารามิเตอร์ในไฟล์ AndroidManifest.xml โดยอัตโนมัติ และคุณยังสามารถเพิ่มตัวกรองหรือคุณสมบัติเพื่อกำหนดการทำงานเพิ่มเติมของแอปพลิเคชัน ตัวอย่างเช่น ในภาพก่อนหน้า คุณจะเห็นว่า MainActivity คือ ระบบกิจกรรมหลัก (อันที่แสดงก่อน) ตั้งแต่ ถูกเพิ่มเข้าไปด้วยพร็อพเพอร์ตี้ <action android:name="android.intent.action.MAIN" />

วงจรชีวิตของกิจกรรม


กิจกรรมต้องผ่านหลายสถานะในระหว่างการดำเนินการ สถานะเหล่านี้เกิดขึ้นผ่านการโต้ตอบของผู้ใช้กับกิจกรรม เช่น เมื่อเข้า ออก เข้าอีกครั้ง หรือเมื่อปิด Android อนุญาตให้เราควบคุมแต่ละสถานะเหล่านี้ผ่านชุดของสถานะที่กำหนดไว้ วิธีที่เราสามารถนำไปใช้ในการจัดการพฤติกรรมได้ เช่น คุณสามารถหยุดเล่นวิดีโอชั่วคราวเมื่อเปลี่ยนหน้าจอหรือยกเลิกกระบวนการเชื่อมต่อเมื่อออกจากแอปพลิเคชัน ในหน้านักพัฒนาซอฟต์แวร์ Android เราจะพบรายละเอียดของวิธีการเหล่านี้ (เรายังสามารถค้นหาได้ที่นั่นด้วย ไดอะแกรมต่อไปนี้ที่แสดงวิธีการทำงาน:


นี่คือบทสรุปของแต่ละรัฐ:


  • เมื่อสร้าง ()

    เมธอดนี้สร้างขึ้นตามค่าเริ่มต้นในกิจกรรมและเปิดใช้งานเมื่อเริ่มอ้างอิงเค้าโครงที่สอดคล้องกับส่วนกราฟิกผ่านเมธอด setContentView() ซึ่งเป็นเมธอดแรกที่ดำเนินการ

  • เมื่อเริ่มต้น ()

    เมื่อปิด onCreate() กิจกรรมจะเปลี่ยนสถานะจากสร้างเป็นเริ่มแล้วและแสดงต่อผู้ใช้ นี่คือจุดที่มุมมองและกิจกรรมกลายเป็นแบบโต้ตอบ

  • ในระยะสั้น ()

    หลังจากเริ่มกิจกรรม สถานะ onResume() จะเปลี่ยนไป ซึ่งมีหน้าที่ในการประมวลผลข้อมูลการโต้ตอบของผู้ใช้ ที่นี่ทุกอย่างที่ผู้ใช้ป้อนจะถูกจดจำและบันทึก

  • เมื่อหยุดชั่วคราว ()

    ในกรณีที่กิจกรรมสูญเสียโฟกัสและถูกขัดจังหวะ สถานะหยุดชั่วคราวจะถูกเรียก เช่น เมื่อผู้ใช้กดปุ่มย้อนกลับหรือเปลี่ยนหน้าจอ หมายความว่ากิจกรรมยังคงมองเห็นได้บางส่วนในขณะที่กิจกรรมนั้นถูกปิด

    จากสถานะนี้คุณสามารถกลับไปที่ onResume() หรือ onStop() ได้อีกครั้ง

  • บนหยุด()

    สถานะนี้เริ่มต้นเมื่อผู้ใช้มองไม่เห็นกิจกรรมอีกต่อไป อาจเป็นเพราะกิจกรรมถูกลบไปแล้ว กิจกรรมที่หยุดไปแล้วกำลังถูกเปิดใช้งานอีกครั้ง หรือเพราะกิจกรรมใหม่กำลังเริ่มต้น ในกรณีนี้กิจกรรมที่หยุดจะไม่ปรากฏให้ผู้ใช้เห็นอีกต่อไป ผู้ใช้ ผู้ใช้ จากที่นี่ คุณสามารถเรียกใช้ onRestart() หรือ onDestroy()

  • เมื่อเริ่มต้นใหม่ ()

    ระบบจะเข้าสู่สถานะนี้เมื่อกิจกรรมที่หยุดไปกำลังจะเริ่มต้นใหม่อีกครั้ง ที่นี่สถานะกิจกรรมจะถูกเรียกคืนจากช่วงเวลาที่หยุดทำงานและทำการเรียก onStart()

  • เมื่อทำลาย ()

    สุดท้าย ระบบเรียกเมธอดนี้ก่อนที่จะลบกิจกรรม ซึ่งเป็นสถานะสุดท้ายที่กิจกรรมต้องผ่านและดำเนินการเมื่อปิดหรือปล่อยทรัพยากรทั้งหมดของกิจกรรมต้องรับประกัน


วิธีการเหล่านี้สามารถนำไปใช้ในโครงการได้ดังนี้:


ดังนั้นเมื่อเริ่มแอปพลิเคชันเราจะเห็นพฤติกรรมใน logcat

เพียงเท่านี้ เมื่อเราเห็นว่ากิจกรรมประกอบด้วยอะไรบ้าง และเราสามารถควบคุมวงจรชีวิตได้อย่างไร จากนั้นเราจึงสามารถทำงานในแอปพลิเคชันพื้นฐานต่อไปได้

นอกจากนี้ยังอาจสนใจคุณ




มีอะไรที่คุณต้องการเพิ่มหรือแสดงความคิดเห็นเกี่ยวกับรายการนี้หรือไม่? อย่าลังเลที่จะทำ….และถ้าคุณชอบมัน ... ฉันขอเชิญคุณแบ่งปัน วาย สมัครสมาชิกโดยคลิกที่ปุ่ม "เข้าร่วมไซต์นี้" เพื่อฟังโพสต์เพิ่มเติมเช่นนี้ 😉