Android - ชิ้นส่วน

Fragment เป็นส่วนหนึ่งของกิจกรรมที่ช่วยให้สามารถออกแบบกิจกรรมแบบแยกส่วนได้มากขึ้น จะไม่ผิดถ้าเราพูดว่าเศษคือชนิดของsub-activity.

ต่อไปนี้เป็นประเด็นสำคัญเกี่ยวกับส่วน -

  • แฟรกเมนต์มีเค้าโครงของตัวเองและพฤติกรรมของตัวเองโดยมีการเรียกกลับวงจรชีวิตของตัวเอง

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

  • คุณสามารถรวมส่วนต่างๆไว้ในกิจกรรมเดียวเพื่อสร้าง UI แบบหลายบานหน้าต่าง

  • สามารถใช้แฟรกเมนต์ในกิจกรรมต่างๆได้

  • วงจรชีวิตของแฟรกเมนต์มีความสัมพันธ์อย่างใกล้ชิดกับวงจรชีวิตของกิจกรรมโฮสต์ซึ่งหมายความว่าเมื่อหยุดกิจกรรมชั่วคราวเศษทั้งหมดที่มีอยู่ในกิจกรรมจะหยุดลงด้วย

  • แฟรกเมนต์สามารถใช้ลักษณะการทำงานที่ไม่มีคอมโพเนนต์ส่วนติดต่อผู้ใช้

  • มีการเพิ่ม Fragments ใน Android API ใน Android เวอร์ชัน Honeycomb ซึ่ง API เวอร์ชัน 11

คุณสร้างส่วนย่อยโดยการขยาย Fragment คลาสและคุณสามารถแทรกแฟรกเมนต์ลงในโครงร่างกิจกรรมของคุณโดยการประกาศแฟรกเมนต์ในไฟล์เลย์เอาต์ของกิจกรรมเป็นไฟล์ <fragment> ธาตุ.

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

ต่อไปนี้เป็นตัวอย่างทั่วไปของวิธีที่โมดูล UI สองโมดูลที่กำหนดโดยชิ้นส่วนสามารถรวมเป็นกิจกรรมเดียวสำหรับการออกแบบแท็บเล็ต แต่แยกออกจากกันสำหรับการออกแบบโทรศัพท์มือถือ

แอปพลิเคชันสามารถฝังสองส่วนในกิจกรรม A เมื่อทำงานบนอุปกรณ์ขนาดแท็บเล็ต อย่างไรก็ตามบนหน้าจอขนาดโทรศัพท์มือถือมีพื้นที่ไม่เพียงพอสำหรับทั้งสองส่วนดังนั้นกิจกรรม A จึงรวมเฉพาะส่วนสำหรับรายการบทความและเมื่อผู้ใช้เลือกบทความจะเริ่มกิจกรรม B ซึ่งรวมถึงส่วนที่สองเพื่ออ่าน บทความ.

วงจรชีวิตของชิ้นส่วน

ส่วนย่อยของ Android มีวงจรชีวิตของตัวเองคล้ายกับกิจกรรมของ Android ส่วนนี้จะสรุปขั้นตอนต่างๆของวงจรชีวิต

วงจรชีวิตของแฟรกเมนต์

นี่คือรายการวิธีการที่คุณสามารถแทนที่ในคลาสแฟรกเมนต์ของคุณ -

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

  • onCreate()ระบบเรียกเมธอดนี้เมื่อสร้างแฟรกเมนต์ คุณควรเริ่มต้นส่วนประกอบที่สำคัญของส่วนที่คุณต้องการเก็บรักษาไว้เมื่อชิ้นส่วนนั้นหยุดชั่วคราวหรือหยุดทำงานแล้วจึงกลับมาทำงาน

  • onCreateView()ระบบเรียกการเรียกกลับนี้เมื่อถึงเวลาที่แฟรกเมนต์จะวาดส่วนติดต่อผู้ใช้เป็นครั้งแรก ในการวาด UI สำหรับส่วนของคุณคุณต้องส่งคืนไฟล์Viewส่วนประกอบจากเมธอดนี้ซึ่งเป็นรูทของเค้าโครงของแฟรกเมนต์ของคุณ คุณสามารถคืนค่าว่างได้หากแฟรกเมนต์ไม่มี UI

  • onActivityCreated()onActivityCreated () ถูกเรียกหลังจากเมธอด onCreateView () เมื่อมีการสร้างกิจกรรมโฮสต์ มีการสร้างอินสแตนซ์กิจกรรมและแฟรกเมนต์รวมทั้งลำดับชั้นมุมมองของกิจกรรม ณ จุดนี้สามารถเข้าถึงมุมมองได้ด้วยเมธอด findViewById () ตัวอย่าง. ในวิธีนี้คุณสามารถสร้างอินสแตนซ์วัตถุที่ต้องการวัตถุบริบท

  • onStart()เมธอด onStart () ถูกเรียกใช้เมื่อชิ้นส่วนสามารถมองเห็นได้

  • onResume()Fragment เริ่มทำงาน

  • onPause()ระบบเรียกเมธอดนี้ว่าเป็นการบ่งชี้แรกว่าผู้ใช้กำลังออกจากแฟรกเมนต์ โดยปกติจะเป็นที่ที่คุณควรดำเนินการเปลี่ยนแปลงใด ๆ ที่ควรจะคงอยู่นอกเหนือจากเซสชันของผู้ใช้ปัจจุบัน

  • onStop()Fragment จะหยุดลงโดยการเรียก onStop ()

  • onDestroyView()มุมมองส่วนย่อยจะทำลายหลังจากเรียกใช้เมธอดนี้

  • onDestroy()onDestroy () เรียกให้ทำการล้างสถานะของชิ้นส่วนขั้นสุดท้าย แต่ไม่รับประกันว่าจะเรียกโดยแพลตฟอร์ม Android

วิธีใช้ Fragments?

สิ่งนี้เกี่ยวข้องกับขั้นตอนง่ายๆในการสร้าง Fragments

  • ก่อนอื่นให้ตัดสินใจว่าคุณต้องการใช้ชิ้นส่วนในกิจกรรมกี่ชิ้น ตัวอย่างเช่นเราต้องการใช้สองส่วนเพื่อจัดการโหมดแนวนอนและแนวตั้งของอุปกรณ์

  • ถัดไปตามจำนวนของชิ้นส่วนสร้างคลาสซึ่งจะขยายคลาสFragment คลาส Fragment มีฟังก์ชันเรียกกลับที่กล่าวถึงข้างต้น คุณสามารถแทนที่ฟังก์ชันใดก็ได้ตามความต้องการของคุณ

  • โดยสอดคล้องกับแต่ละส่วนคุณจะต้องสร้างไฟล์เลย์เอาต์ในไฟล์ XML ไฟล์เหล่านี้จะมีเค้าโครงสำหรับส่วนที่กำหนดไว้

  • สุดท้ายแก้ไขไฟล์กิจกรรมเพื่อกำหนดตรรกะที่แท้จริงของการแทนที่ชิ้นส่วนตามความต้องการของคุณ

ประเภทของชิ้นส่วน

โดยทั่วไปชิ้นส่วนจะแบ่งออกเป็นสามขั้นตอนดังที่แสดงด้านล่าง

  • ชิ้นส่วนเฟรมเดียว - ชิ้นส่วนเฟรมเดี่ยวใช้สำหรับอุปกรณ์จับมือเช่นโทรศัพท์มือถือที่นี่เราสามารถแสดงชิ้นส่วนเดียวเป็นมุมมองได้

  • รายการแฟรกเมนต์ - แฟรกเมนต์ที่มีมุมมองรายการพิเศษเรียกว่าแฟรกเมนต์ของรายการ

  • ธุรกรรมแฟรกเมนต์ - ใช้กับธุรกรรมแฟรกเมนต์ เราสามารถย้ายส่วนหนึ่งไปยังอีกส่วนหนึ่งได้