Session
เป็นอินเทอร์เฟซหลักสำหรับฟังก์ชันการทำงานแบบพื้นที่ของแอปพลิเคชัน กิจกรรมที่ระบุตำแหน่งแต่ละรายการต้องสร้างและเก็บอินสแตนซ์ของเซสชันไว้ เมื่อสร้างแล้ว แอปพลิเคชันจะใช้อินเทอร์เฟซเซสชันเพื่อสร้างเอนทิตีเนื้อหาที่ปรับเปลี่ยนพื้นที่ เช่น แผงหรือโมเดล 3 มิติ รวมถึงตั้งค่าสภาพแวดล้อมเชิงพื้นที่ ระบุตำแหน่งของผู้ใช้ และกำหนดเนื้อหาให้สอดคล้องกับโลกแห่งความเป็นจริงได้
เข้าถึงเซสชันจาก Jetpack Compose สำหรับ XR
เมื่อใช้ Jetpack Compose สําหรับ XR ระบบจะสร้างเซสชันให้คุณและเข้าถึงได้โดยใช้ LocalSession.current
โปรดดูตัวอย่างต่อไปนี้
import androidx.xr.compose.platform.LocalSession
class myActivity : Activity() {
val xrSession = checkNotNull(LocalSession.current)
}
เข้าถึงเซสชันจาก Jetpack SceneCore
หากสร้างเอนทิตีที่แยกแยะพื้นที่ได้จากคลัง SceneCore คุณจะต้องสร้างอินสแตนซ์เซสชันด้วยตนเอง
การสร้างเซสชันใช้ได้ในอุปกรณ์ Android XR เท่านั้น ขณะนี้ หากสร้าง Session
แล้วพยายามใช้กับอุปกรณ์ที่ไม่ใช่ Android XR คุณจะได้รับ NullPointerException
คุณสร้างเซสชันได้เพียง 1 รายการต่อกิจกรรม หากต้องการสร้างเซสชัน ให้ส่งกิจกรรมไปยังเมธอด create
ดังที่แสดงในตัวอย่างต่อไปนี้
การพยายามสร้างเซสชันในอุปกรณ์ที่เข้ากันไม่ได้อาจทำให้เกิดข้อผิดพลาดรันไทม์
import androidx.xr.scenecore.Session
class myActivity : Activity() {
val xrSession = Session.create(this)
}
เมื่อกิจกรรมของเซสชันถูกทำลาย UI เชิงพื้นที่และเนื้อหา 3 มิติทั้งหมดที่เชื่อมโยงกับเซสชันนั้นก็จะหายไปด้วย และเซสชันจะใช้งานไม่ได้อีกต่อไป
ดูเพิ่มเติม
- ตรวจสอบความสามารถเชิงพื้นที่
- การเปลี่ยนระหว่าง HSM กับ FSM
- เพิ่มสภาพแวดล้อมเชิงพื้นที่ลงในแอป
- เพิ่มโมเดล 3 มิติลงในแอป