Session

Session fournit l'interface principale aux fonctionnalités spatialisées de l'application. Chaque activité spatialisée doit créer et conserver une instance de session. Une fois créée, l'application peut utiliser les interfaces de session pour créer des entités de contenu spatialisées telles que des panneaux ou des modèles 3D, ainsi que pour définir un environnement spatial, identifier la position de l'utilisateur et ancrer le contenu dans le monde réel.

Accéder à la session à partir de Jetpack Compose pour XR

Lorsque vous utilisez Jetpack Compose pour XR, la session est créée pour vous et vous pouvez y accéder à l'aide de LocalSession.current. Consultez l'exemple suivant :

import androidx.xr.compose.platform.LocalSession

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

Accéder à la session à partir de Jetpack SceneCore

Si vous créez des entités spatialisées à partir de la bibliothèque SceneCore, vous devez instancier la session vous-même.

La création d'une session n'est possible que sur un appareil Android XR. Pour le moment, si vous créez un Session et que vous essayez de l'utiliser sur un appareil autre qu'Android XR, vous obtiendrez un NullPointerException.

Vous ne pouvez créer qu'une seule session par activité. Pour créer une session, transmettez une activité à la méthode create, comme illustré dans l'exemple suivant. Si vous essayez de créer une session sur un appareil incompatible, des erreurs d'exécution peuvent se produire.

import androidx.xr.scenecore.Session

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

Lorsque l'activité d'une session est détruite, l'UI spatiale et le contenu 3D associés à cette session sont également détruits, et la session n'est plus valide.

Voir aussi