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ż
- Sprawdzanie możliwości przestrzennych
- Przejście z HSM na FSM
- Dodawanie środowisk przestrzennych do aplikacji
- Dodawanie modeli 3D do aplikacji