Ces astuces abordent certaines des techniques de raccourci Java les plus courantes que vous rencontrerez lorsque vous débuterez dans le développement Android..
Vous trouverez ces petites informations de code, appelées javascript, utilisées dans l'exemple de code du SDK Android, ainsi que dans presque tous les livres de développement Android publiés à ce moment-là, sans parler des tutoriels en ligne et des forums de développeurs. Aucune de ces astuces n’est spécifique à Android; il s’agit simplement de techniques Java qui confondent systématiquement les débutants en Java et Android, en fonction des courriels que nous recevons de nos lecteurs.
Beaucoup de développeurs aiment leur code court et facile à lire. Comme certains autres langages de programmation, Java inclut des opérateurs unaires pour facilement incrémenter et décrémenter les valeurs de variable de 1.
En d'autres termes,
int counter = 1; counter ++; compteur--;
Ce code est équivalent à:
int counter = 1; compteur = compteur + 1; compteur = compteur - 1;
Ces opérateurs unaires peuvent apparaître avant (préfixe) ou après (postfixe) la variable. L'emplacement de l'opérateur détermine si l'opération d'incrémentation / décrémentation a lieu avant ou après l'évaluation du reste de l'expression. Par exemple, le code suivant montre le fonctionnement des opérateurs unaires en manipulant une variable appelée compteur à l'aide de la journalisation Android:
int counter = 0; Log.i (DEBUG_TAG, "La valeur du compteur est =" + counter ++); // affiche 0 Log.i (DEBUG_TAG, "la valeur du compteur est =" + compteur); // affiche 1 Log.i (DEBUG_TAG, "la valeur du compteur est =" + counter--); // affiche 1 Log.i (DEBUG_TAG, "la valeur du compteur est =" + compteur); // affiche 0 Log.i (DEBUG_TAG, "la valeur du compteur est =" + (compteur ++)); // affiche 1 Log.i (DEBUG_TAG, "la valeur du compteur est =" + - compteur); // imprime 0
Les développeurs Java évitent généralement de créer des variables dont ils n'ont pas vraiment besoin. Ceci est particulièrement vrai pour les emplois temporaires outemp ,les variables qui sont utilisées une fois pour stocker le résultat d'une instruction, uniquement pour être abandonnées.
Au lieu de cela, les développeurs Java utilisent souvent simplement l'instruction à évaluer en tant que? Result? valeur elle-même. Cela se voit souvent quand il s'agit de renvoyer des déclarations, mais vous le verrez aussi ailleurs. Par exemple, la méthode détaillée suivante utilise une variable "temp" appelée somme pour stocker la somme de deux entiers, puis renvoie cette valeur:
int sumVerbose (int a, int b) int temp = a + b; retour temp;
De nombreux développeurs Java ignorent simplement la surcharge et les difficultés liées à la création de la variable temporaire et évaluent simplement l'instruction dans le cadre de l'instruction return, comme ceci:
int somme (int a, int b) retour (a + b);
Ce style est valable pour les cas où la variable temporaire n'est utilisée qu'une seule fois. Si la méthode inclut d'autres opérations sur cette valeur, il est généralement prudent d'utiliser une variable bien nommée pour la lisibilité du code. De plus, vous verrez souvent plus? Verbeux? style de code dans le code qui a beaucoup de fonctionnalités de débogage.
Vous verrez souvent les méthodes Java enchaînées. Souvent, ces méthodes sont appelées sur l’instance de la classe actuelle (ainsi, le ce mot-clé). Semblable au conseil discuté ci-dessus, les valeurs de retour de chaque méthode ne sont utilisées que pour accéder à une méthode sous-jacente. Par conséquent, la valeur de retour n'est pas stockée dans une valeur de conteneur, mais la méthode sous-jacente est simplement appelée. Par exemple:
InputStream est = getResources (). OpenRawResource (R.drawable.icon);
Ce code est logiquement équivalent à ce qui suit:
Ressources myAppResources = this.getResources (); InputStream est = myAppResources.openRawResource (R.drawable.icon);
Une déclaration conditionnelle que vous verrez probablement utilisera le support des opérateurs ternaires de Java. Il s’agit d’une manière abrégée de concevoir une instruction If-Else simple à l’aide d’une instruction conditionnelle (qui peut ou non être encapsulée entre parenthèses), suivie d’un point d’interrogation (?). deux points (:) et une autre déclaration à se produire si le conditionnel est faux.
Voici un exemple d’opérateur ternaire utilisé:
int lowNum = 1; int élevé = 99; int plus grand = basNum < highNum ? highNum : lowNum;
C'est l'équivalent logique de l'extrait de code suivant, beaucoup plus long:
int plus grand; si (lowNum < highNum) largerNum = highNum; else largerNum = lowNum;
Ce genre de raccourci Java n’est vraiment approprié que lorsque votre déclaration If-Else est simple. Vous verrez parfois les développeurs entasser beaucoup de logique dans l'une de ces déclarations; nous ne recommandons pas cela. N'utilisez les opérateurs ternaires que lorsqu'ils rendent votre code plus facile à lire, pas plus difficile.
En Java, vous pouvez avoir des instructions vides simplement en terminant une ligne de code vide par son point-virgule. Cette astuce est souvent utilisée pour spécifier des conditions de boucle for () afin de créer une boucle infinie, comme ceci:
for (;;) // Faites quelque chose encore et encore.
Chacun des composants de la boucle for () est une instruction vide. Ceci est évalué comme étant vrai et la boucle continue donc indéfiniment. Comme pour toute conception de code, assurez-vous que toutes les boucles infinies que vous créez ont des cas de sortie raisonnables..
Cela peut être frustrant lorsque des développeurs débutant en Java rencontrent une syntaxe de code étrange le premier jour où ils travaillent avec une syntaxe Android qui ne fait normalement pas l'objet d'une description classique. Tout maîtriser en Java en 20 minutes? Didacticiel. Maintenant, vous savez ce que certains de ces? Sténographie? Les astuces ressemblent et ce qu’elles veulent dire. Que vous les utilisiez ou non vous-même dépend de vous, mais au moins ils ne vous dérangeront pas lorsque vous les verrez dans un exemple de code! Bonne chance et n'hésitez pas à partager une partie de votre code Java préféré que vous trouverez également dans la section commentaires.!
Les développeurs mobiles Lauren Darcey et Shane Conder ont co-écrit plusieurs livres sur le développement Android: un livre de programmation en profondeur intitulé Développement d'applications sans fil Android et Sams TeachYourself Développement d'applications Android en 24 heures. Lorsqu'ils n'écrivent pas, ils passent leur temps à développer des logiciels mobiles dans leur entreprise et à fournir des services de conseil. Vous pouvez les contacter par courrier électronique à l'adresse [email protected], via leur blog à l'adresse androidbook.blogspot.com et sur Twitter @androidwireless..