Quelqu'un pourrait-il expliquer les lignes suivantes dans le manifeste -
<activity
Android:name=".AboutUs"
Android:label="@string/app_name">
<intent-filter >
<action Android:name="com.example.app1.ABOUT" />
<category Android:name="Android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
Quelle est l'importance des champs dans le filtre d'activité et d'intention et quand sont-ils utilisés/référés? Désolé, j'ai essayé de lire la documentation, mais je ne pouvais toujours pas comprendre grand-chose.
Je vous remercie
Android:name=".AboutUs"
Ceci est le nom de votre classe d’activité, le point en tête est la notation abrégée de votre paquet. Donc, cela signifie en fait com.your.package.name.AboutUs
qui signifie que votre fichier Java qui représente cette activité s'appelle AboutUs.Java
Android:label="@string/app_name"
label est la chaîne affichée dans le programme de lancement (si l'activité est répertoriée dans le programme de lancement) et en haut de la fenêtre lorsque l'activité est ouverte.
<intent-filter > ... </intent-filter>
le filtre d'intention définit les intentions que votre activité "écoute" pour pouvoir être lancées.
<action Android:name="com.example.app1.ABOUT" />
<category Android:name="Android.intent.category.DEFAULT"/>
Action et catégorie sont les deux champs qui sont définis sur une intention avant qu'elle ne soit "déclenchée" dans le système. Le système recherchera ensuite toutes les activités correspondant à l'action et à la catégorie. S'il en trouve une, il lancera cette activité ou, s'il en trouve plusieurs, il les montre toutes à l'utilisateur et les laisse choisir.
Dans votre cas, l'action que vous écoutez com.example.app1.ABOUT
est une action personnalisée propre à votre application et non l'une des actions du système.
Voici donc à quoi pourrait ressembler l’intention qui lancerait cette activité:
Intent i = new Intent();
i.setAction("com.example.app1.ABOUT");
i.addCategory("Android.intent.category.DEFAULT");
startActivity(i);
Notez que, dans la mesure où vous avez créé une action personnalisée, cette intention ne nécessite pas l'accès à votre AboutUs.class
; cette intention pourrait donc techniquement être déclenchée depuis n'importe quelle application du périphérique et se lancer dans votre activité.
Une activité est un composant de l'application qui fournit un écran avec lequel les utilisateurs peuvent interagir afin de faire quelque chose, comme composer un numéro, prendre une photo, envoyer un courrier électronique ou afficher une carte. Pour déclarer votre activité, ouvrez votre fichier manifeste et ajoutez un élément en tant qu'enfant de l'élément, comme dans votre exemple.
Un élément peut également spécifier divers filtres d'intention (à l'aide de l'élément) afin de déclarer comment d'autres composants de l'application peuvent l'activer.
Veuillez vous référer au http://developer.Android.com/guide/components/activities.html