Sesja

Session to główny interfejs umożliwiający korzystanie z funkcji przestrzennych w aplikacji. Każda aktywność przestrzenna musi utworzyć i zawierać instancję sesji. Po utworzeniu aplikacja może używać interfejsów sesji do tworzenia elementów treści przestrzennych, takich jak panele lub modele 3D, a także ustawiania środowiska przestrzennego, identyfikowania pozycji użytkownika oraz dokowania treści do świata rzeczywistego.

Otwieranie sesji w Jetpack Compose w przypadku XR

Gdy używasz Jetpack Compose na potrzeby XR, sesja jest tworzona dla Ciebie i możesz uzyskać do niej dostęp za pomocą LocalSession.current. Zobacz ten przykład:

import androidx.xr.compose.platform.LocalSession

class myActivity : Activity() {
   val xrSession = checkNotNull(LocalSession.current)
}

Dostęp do sesji z Jetpack SceneCore

Jeśli tworzysz pozycje przestrzenne z biblioteki SceneCore, musisz samodzielnie utworzyć instancję sesji.

Tworzenie sesji jest obsługiwane tylko na urządzeniu XR z Androidem. Jeśli w tej chwili utworzysz Session i spróbujesz go użyć na urządzeniu, które nie jest zgodne z Androidem XR, otrzymasz komunikat NullPointerException.

Możesz utworzyć tylko 1 sesję na aktywność. Aby utworzyć sesję, prześlij aktywność do metody create, jak pokazano w tym przykładzie. Próba utworzenia sesji na urządzeniu niezgodnym może spowodować błędy czasu wykonywania.

import androidx.xr.scenecore.Session

class myActivity : Activity() {
  val xrSession = Session.create(this)
}

Gdy aktywność sesji zostanie zniszczona, wszystkie związane z nią elementy UI i treści 3D zostaną zniszczone, a sesja przestanie być ważna.

Zobacz również