Duplicaté possible: strong>
Quel est le "point" pour l'enregistrement d'une activité p>Dans tous les exemples Android Exemples noms d'activités, de services, etc. Tout commence par un point: p>
xxx pré> J'ai oublié de le faire dans tous les projets Android - mais ils travaillent Parfait. P>
Ma question: Est-ce que ce point de premier point est vraiment requis? p>
Edit: Strong> Voici un petit exemple d'instantané d'une de mes applications. Cette application fonctionne parfaite. Il n'utilise pas de noms qualifiés et il n'utilise pas de points: p>
xxx pré> blockquote>
4 Réponses :
C'est nécessaire. C'est une abréviation pour le nom du paquet. Android: Le nom est censé spécifier le nom de la classe complète. En mettant dans un point de premier plan, nous pouvons indiquer que le nom de la classe suivant se trouve dans le «paquet» déclaré ci-dessus dans le manifeste. P>
Pourquoi toutes mes applications fonctionnent-elles? Dans aucune de mes applications, j'utilise des noms pleinement qualifiés et je n'utilise pas le point.
Le point consiste à utiliser le chemin relatif de l'application donne nom_face_name code>. Vous pouvez remplacer
.myactivité code> avec
com.youractitenitypackage.myactivité code> p>
Pourquoi toutes mes applications fonctionnent-elles? Dans aucune de mes applications, j'utilise des noms pleinement qualifiés et je n'utilise pas le point.
oui, l'activité Voir le doc P > [Android: nom] code> devrait spécifier un package
entièrement qualifié.class code> ou s'il commence par un point, puis il est annexé à la
Application code> S. S. P>
Pourquoi toutes mes applications fonctionnent-elles? Dans aucune de mes applications, j'utilise des noms pleinement qualifiés et je n'utilise pas le point.
ometter le point et non qualificatif que le nom du colis / de la classe fonctionnera si et uniquement si la classe spécifiée ne fait pas partie d'un sous-vue dans votre application. P>
Si votre nom de package d'application est Mais si vous avez le même package d'applications et une classe d'activité dans un sous-vue dans votre arborese source, tel que 3 ne fonctionne pas car cela déduira que le nom de la classe que vous voulez dire est en réalité 4 ne fonctionne pas car il ressemble à un nom de classe entièrement qualifié, c'est-à-dire que le système l'interprétera pour signifier que Vous avez besoin du premier point ici pour clarifier que vous utilisez un chemin relatif, pas un chemin absolu. Si vous spécifiez simplement un nom de classe sans aucune information de package, le système déduit que la classe est à la racine de votre hiérarchie de votre package d'application. P> com.example.myapp code>, et vous avez une classe d'activité
com.example.myapp.myactivité code>: p>
android: nom = "myactivité" code> fonctionnera. li>
android: nom = ". myactivité" code> fonctionnera. li>
android: nom = "com.example.myapp.myactivity" code> fonctionnera. Li>
ol>
com.example.myapp.myactivités.myactivité code> Les choses changent. P>
android: nom = ". myACtivities.myactivité" code> fonctionnera li>
android: nom = "com.example.myapp.myactivités.myactivité" code> fonctionnera li>
android: nom = "myactivity" code> ne fonctionnera pas strong> li>
android: nom = "myACtivities.myactivité" code> ne fonctionnera pas strong> li>
ol>
com.example.myapp.myactivité code> comme dans le premier exemple ci-dessus. Une classe avec ce nom ne sera pas trouvée et vous obtiendrez une erreur. P>
myactivities.myactivité code> est le nom total qualifié lui-même, pas le vrai nom de
com.example.myapp.myactivités.myactivité code>. p>
J'ai remarqué qu'à utiliser l'ancien ADT / SDK, il n'a pas de point, mais le plus récent le faire automatiquement ... de ce que j'ai vu.
De l'expérience douloureuse, j'utilise toujours DOT, pas le nom de classe complet. Ceci après que j'avais des accidents dans une application sur certains téléphones avec certains niveaux d'API et non seulement l'API connexe, 2 désirs HTC, les deux 2.3. On s'est écrasé, on n'a pas! Je n'ai jamais trouvé de raison pour cela.