Session
는 애플리케이션의 공간화된 기능에 대한 기본 인터페이스를 제공합니다. 각 공간화된 활동은 세션 인스턴스를 만들고 유지해야 합니다. 애플리케이션은 세션 인터페이스를 사용하여 패널이나 3D 모델과 같은 공간화된 콘텐츠 항목을 만들고 공간 환경을 설정, 사용자 위치를 식별, 실제 세계에 콘텐츠를 고정할 수 있습니다.
XR용 Jetpack Compose에서 세션에 액세스
XR용 Jetpack Compose를 사용하면 세션이 자동으로 생성되며 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
이 표시됩니다.
활동당 세션은 하나만 만들 수 있습니다. 세션을 만들려면 다음 예와 같이 활동을 create
메서드에 전달합니다.
호환되지 않는 기기에서 세션을 만들려고 하면 런타임 오류가 발생할 수 있습니다.
import androidx.xr.scenecore.Session
class myActivity : Activity() {
val xrSession = Session.create(this)
}
세션의 활동이 소멸되면 해당 세션과 연결된 모든 공간 UI 및 3D 콘텐츠가 소멸되고 세션이 더 이상 유효하지 않습니다.