Vidéo: Les règles d'or pour créer sa marketplace - #ECOMGUEST - Market Academy & Wizaplace 2025
Une façon de démarrer une activité spécifique dans votre application Android consiste à utiliser un contexte. Un contexte est une "interface vers des informations globales sur un environnement d'application. "(Dit les docs Android.) Informellement, un contexte est l'information de fond que vous pourriez vouloir savoir sur les choses qui se passent réellement.
Pour une application Android, l'objet Java Contexte peut inclure le nom du package, le thème, le fond d'écran, les noms des fichiers associés à l'application, les pointeurs vers les services de localisation et d'autres informations. Tout cela est disponible par programmation via un objet Java Context.
Le mot décrit par programme un élément auquel vous pouvez accéder (et peut-être même modifier) dans le code Java de votre projet.
Une activité Android s'exécute dans un certain contexte. Ça a du sens. Mais voici une idée difficile à embrasser: Une activité est un contexte. C'est un contexte pour deux raisons (l'une étant technique, l'autre étant quelque peu intuitive):
Dans le SDK Android, la classe android. app. L'activité est une sous-classe d'Android. contenu. Le contexte.
Une activité a tout ce qu'il y a dans un contexte: le nom du paquet, le thème, le fond d'écran, les noms des fichiers associés à l'application et les pointeurs vers les services de localisation. services de compte, et d'autres informations.
Dans le code ci-dessous, une activité appelle une autre activité dans la même application.
paquet mon. pack; importer Android. app. Activité; importer Android. os. Paquet; public class SomeActivity extends Activity {// … le code d'une sorte appartient ici Intent intent = new Intent (this, OtherActivity. class); startActivity (intention);}
Dans ce code, les deux dernières instructions disent: "Avec le contexte de cette activité, lancez une instance de OtherActivity. "(Si tout va bien, la classe OtherActivity étend la classe d'activité d'Android, et vous êtes prêt à partir.)
Dans l'exemple, le constructeur de la classe Intent prend deux paramètres - un contexte et une classe Java. Le mot this représente l'instance SomeActivity incluse. C'est bien, car le premier paramètre du constructeur est de type Context, et la classe Activity d'Android est une sous-classe de la classe Context abstraite.
Dans l'exemple de code ci-dessus, le constructeur Intent obtient le nom du paquet OtherActivity à partir de ce contexte de l'objet SomeActivity.
Chaque activité fait partie d'une application et une instance d'application est également un contexte.Ainsi, dans de nombreux programmes, vous pouvez utiliser l'un des appels de méthodes suivants (au lieu de cela) pour obtenir une instance de contexte:
Les méthodes getApplicationContext et getBaseContext ont des utilisations limitées et spécialisées dans les programmes Android.
paquet mon. pack; importer Android. app. Activité; importer Android. os. Paquet; public class SomeActivity extends Activity {// … le code d'un tri appartient ici try {otherContext = createPackageContext ("autre.paquet", Contexte CONTEXT_IGNORE_SECURITY | Contexte.CONTEXT_INCLUDE_CODE);} catch (NameNotFoundException e) {e. printStackTrace ();} Classe otherClass = null; essayez {otherClass = otherContext. getClassLoader (). loadClass ("autre.pack.ApplicationApplication");} catch (ClassNotFoundException e) {e. printStackTrace ();} intention intentionnelle = nouvelle intention (otherContext, otherClass); startActivity (intention);}
Le deuxième ensemble de code est plus compliqué que le premier exemple que vous voyez ici. Mais la plus grande partie de la complexité provient de la manière dont Java charge les classes. D'une manière ou d'une autre, ce code crée une intention à partir d'un contexte et d'un nom de classe, puis lance l'activité de l'intention.
