Session cung cấp giao diện chính cho chức năng không gian hoá cho ứng dụng của bạn. Mỗi Activity không gian hoá phải tạo và giữ một thực thể của Session. Sau khi tạo một phiên, ứng dụng của bạn có thể sử dụng các giao diện Session để tạo các thực thể nội dung không gian như bảng điều khiển hoặc mô hình 3D, cũng như thiết lập môi trường không gian, xác định vị trí của người dùng và neo nội dung vào thế giới thực.
Truy cập vào một phiên từ Jetpack Compose cho XR
Khi bạn dùng Jetpack Compose cho XR, phiên sẽ được tạo cho bạn và bạn có thể truy cập bằng LocalSession.current. Hãy xem ví dụ sau:
@Composable fun ComposableUsingSession() { val session = LocalSession.current }
Truy cập vào một phiên từ Jetpack XR Runtime
Nếu đang tạo thực thể không gian từ thư viện Jetpack SceneCore, bạn cần tạo một phiên.
Để tạo một phiên, hãy truyền Context đến phương thức create(). Context này có thể là Activity trên
thiết bị XR sống động hoặc thiết bị di động, hoặc
bối cảnh được chiếu trên Kính thông minh.
Việc tạo phiên ARCore có thể là một tác vụ tốn kém và cần được xử lý ở chế độ nền, như trong ví dụ sau:
lifecycleScope.launch { when (val result = Session.create(context)) { is SessionCreateSuccess -> { val xrSession = result.session // ... } else -> TODO(/* A different unhandled exception was thrown. */) } }
Hàm create() có thể sử dụng tham số LifecycleOwner không bắt buộc, cho phép quản lý vòng đời của phiên bằng một LifecycleOwner khác. LifecycleOwner phải bắt đầu và kết thúc vòng đời trong phạm vi của bối cảnh được cung cấp, nếu không, Session có thể dễ bị rò rỉ.
Xem thêm
- Kiểm tra các chức năng không gian
- Chuyển đổi giữa HSM và FSM
- Thêm môi trường không gian vào ứng dụng
- Thêm mô hình 3D vào ứng dụng