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 ไฟล์เหล่านี้จะมีเค้าโครงสำหรับส่วนที่กำหนดไว้
สุดท้ายแก้ไขไฟล์กิจกรรมเพื่อกำหนดตรรกะที่แท้จริงของการแทนที่ชิ้นส่วนตามความต้องการของคุณ
ประเภทของชิ้นส่วน
โดยทั่วไปชิ้นส่วนจะแบ่งออกเป็นสามขั้นตอนดังที่แสดงด้านล่าง
ชิ้นส่วนเฟรมเดียว - ชิ้นส่วนเฟรมเดี่ยวใช้สำหรับอุปกรณ์จับมือเช่นโทรศัพท์มือถือที่นี่เราสามารถแสดงชิ้นส่วนเดียวเป็นมุมมองได้
รายการแฟรกเมนต์ - แฟรกเมนต์ที่มีมุมมองรายการพิเศษเรียกว่าแฟรกเมนต์ของรายการ
ธุรกรรมแฟรกเมนต์ - ใช้กับธุรกรรมแฟรกเมนต์ เราสามารถย้ายส่วนหนึ่งไปยังอีกส่วนหนึ่งได้