Dostęp do sesji umożliwiającej tworzenie przestrzennego interfejsu i encji

Odpowiednie urządzenia z XR
Te wskazówki pomogą Ci tworzyć treści na te typy urządzeń z XR.
Gogle XR
Przewodowe okulary XR

Session udostępnia podstawowy interfejs do funkcji przestrzennych w aplikacji. Każdy obiekt przestrzenny Activity musi utworzyć i przechowywać instancję Session. Po utworzeniu sesji aplikacja może używać interfejsów Session do tworzenia elementów treści przestrzennych, takich jak panele czy modele 3D, a także do ustawiania środowiska przestrzennego, określania pozycji użytkownika i zakotwiczania treści w świecie rzeczywistym.

Uzyskiwanie dostępu do sesji z Jetpack Compose for XR

Gdy używasz Jetpack Compose for XR, sesja jest tworzona automatycznie i można uzyskać do niej dostęp za pomocą LocalSession.current. Przyjrzyj się temu przykładowi:

@Composable
fun ComposableUsingSession() {
    val session = LocalSession.current
}

Uzyskiwanie dostępu do sesji z Jetpack XR Runtime

Jeśli tworzysz elementy przestrzenne z biblioteki Jetpack SceneCore, musisz utworzyć sesję.

Aby utworzyć sesję, przekaż Context do metody create(). Ten Context może być Activity na immersyjnych urządzeniach z XR lub urządzeniach mobilnych albo wyświetlanym kontekstem na inteligentnych okularach.

Tworzenie sesji ARCore może być kosztownym zadaniem i powinno być przetwarzane w tle, jak w tym przykładzie:

lifecycleScope.launch {
    when (val result = Session.create(context)) {
        is SessionCreateSuccess -> {
            val xrSession = result.session
            // ...
        }
        else ->
            TODO(/* A different unhandled exception was thrown. */)
    }
}

Funkcja create() może używać opcjonalnego parametru LifecycleOwner, który umożliwia zarządzanie cyklem życia sesji przez inną funkcję LifecycleOwner. Cykl życia obiektu LifecycleOwner musi rozpoczynać się i kończyć w zakresie podanego kontekstu, w przeciwnym razie może dojść do wycieku obiektu Session.

Zobacz też