Les ressources.getSystem() vs getResources()
Je suis nouveau sur Android et je suis en train d'apprendre le SDK moi-même à partir des ressources disponibles sur le net.
Je suis tombé sur une situation. Je suis en train d'essayer le code ci-dessous:
De Type 1:getResources().getString(android.R.string.cancel);
De Type 2:
Resources.getSystem().getString(android.R.string.cancel);
Type 3:
getString(android.R.string.cancel);
Toutes les méthodes ci-dessus renvoient la même valeur. Alors, quelles sont ces méthodes, quels sont leurs cas d'utilisation. Quelles sont les bonnes pratiques sur l'utilisation de la méthode. Merci de m'aider.
OriginalL'auteur Kannan Ramaswamy | 2011-12-26
Vous devez vous connecter pour publier un commentaire.
La différence n'est pas seulement ce que vous obtenez, mais dans OÙ pouvez-vous les utiliser.
La première et la troisième sont à l'aide de "contexte". de manière invisible. Ainsi, très souvent (en statique membres ou de membres participant à l'activité), vous ne pouvez pas les utiliser directement, à moins que vous passiez de contexte ou d'une ressource comme une variable statique ou en tant que paramètre à votre portée. Mais la seconde
Vous pouvez utiliser ABSOLUMENT PARTOUT dans votre application, même dans des constantes statiques déclaration! Mais pour les ressources système uniquement
Resources.getSystem()
fournit l'accès aux seules ressources du système (pas de demande de ressources), et n'est pas configuré pour l'écran actuel (ne peut pas utiliser la dimension des unités, ne change pas en fonction de l'orientation, etc).Veuillez remarquer que la dernière phrase de la réponse. Je suis absolument d'accord avec vous.
OriginalL'auteur Gangnus
Tous les 3 retourner la même valeur, mais les Ressources.getSystem() références au système des ressources et peut provoquer un plantage
si elle est utilisée de manière incorrecte.
Le conseillé utilisation est "getString(android.R.chaîne de caractères.annuler);"
Il est également utilisé en tant que tel dans le WalkieTalkieActivity.java code sur l'Android developer site web.
OriginalL'auteur Lodorenos
Ces trois méthodes sont tous les mêmes.
C'est la racine de la méthode :
getApplicationContext().getResource().getString("")
et ici est une méthode de raccourci :getString("")
Utiliser la méthode raccourci lors du traitement de données sur les applications de contexte.
Dans presque tous les cas, nous utilisons
getString()
pour obtenir des Chaînes définies dans la Chaîne de fichier.OriginalL'auteur Vegeta