การกำหนดค่าและความต่อเนื่อง

ไอคอนพร้อมใช้งานบนหน้าจอขนาดใหญ่ระดับ 3

ระดับ 3 - พร้อมใช้งานบนหน้าจอขนาดใหญ่

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

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

อุปกรณ์หน้าจอขนาดใหญ่จะมีการเปลี่ยนแปลงการกำหนดค่าทั้งหมดเหมือนกับโทรศัพท์หน้าจอขนาดเล็ก แต่หน้าจอขนาดใหญ่ยังมีการเปลี่ยนแปลงการกำหนดค่าที่ไม่ซ้ำกันด้วย เช่น

  • การพับและการกางอุปกรณ์
  • การปรับขนาดหน้าต่างแบบอิสระในโหมดหลายหน้าต่าง

การสร้างกิจกรรมขึ้นมาใหม่

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

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

การจัดการการกําหนดค่าด้วยตนเอง

สำหรับกรณีพิเศษ เช่น การเพิ่มประสิทธิภาพเฉพาะแอป ให้แอปจัดการการเปลี่ยนแปลงการกำหนดค่าแทนที่จะปล่อยให้ Android ทำลายและสร้างกิจกรรมของแอปขึ้นมาใหม่

ระบุการเปลี่ยนแปลงการกำหนดค่าที่แอปจัดการโดยตั้งค่าแอตทริบิวต์ android:configChanges ขององค์ประกอบ <activity> ในไฟล์ Manifest ของแอป

ตัวอย่างเช่น เปิดใช้แอปให้จัดการการเปลี่ยนแปลงการกำหนดค่าหลายหน้าต่าง

<activity
  android:name=".MyActivity"
  android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout" />

การจัดการสถานะ

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

ขั้นตอนถัดไป

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีจัดการการเปลี่ยนแปลงการกําหนดค่าและรักษาความต่อเนื่องของแอปได้ที่คู่มือนักพัฒนาแอปต่อไปนี้