Table des matières:
- Mettez les lettres majuscules là où elles appartiennent
- Rupture d'une instruction switch
- Compare les valeurs avec un double signe égal
- Ajouter des écouteurs pour gérer les événements
- Lorsque vous définissez un constructeur avec des paramètres, comme dans
- Lorsque vous déclarez un tableau avec dix composants, les composants ont des index de 0 à 9. En d'autres termes, si vous déclarez
- Ces exemples ne sont pas enclins à lancer NullPointerException, mais dans la programmation Java réelle, vous voir cette exception tout le temps. Une exception NullPointerException survient lorsque vous appelez une méthode sur une expression qui n'a pas de valeur "légitime". Voici un exemple bon marché:
- Certaines applications requièrent des permissions explicites. Par exemple, une application peut parler aux serveurs de Twitter via Internet. Cela ne fonctionne pas, sauf si vous ajoutez un élément au AndroidManifest de l'application. Fichier xml:
- Si vous créez une seconde activité pour votre application, vous devez ajouter un nouvel élément dans AndroidManifest de l'application.fichier xml. Par exemple, une application Android peut avoir deux activités: MainActivity et MyListActivity.
Vidéo: L'ERREUR à éviter quand on veut apprendre à programmer des jeux vidéo 2024
Voici 10 rappels rapides pour éviter les erreurs faciles lorsque vous programmez des applications Android avec Java code. Ecrire vos propres programmes Java sera beaucoup plus facile et plus fluide lorsque vous parcourrez cette liste de contrôle.
Mettez les lettres majuscules là où elles appartiennent
Java est un langage sensible à la casse, donc vous devez vraiment vous occuper de vos P s et Q - ainsi que de toutes les autres lettres de l'alphabet. Voici quelques concepts à garder à l'esprit lorsque vous créez des programmes Java:
-
Les mots-clés de Java sont entièrement en minuscules. Par exemple, dans une instruction Java if, le mot if ne peut pas être If ou IF.
-
Lorsque vous utilisez des noms provenant de l'API (Application Programming Interface), la casse des noms doit correspondre à ce qui apparaît dans l'API.
-
Vous devez également vous assurer que les noms que vous composez sont capitalisés de la même manière tout au long du programme. Si vous déclarez une variable myAccount, vous ne pouvez pas vous y référer en tant que MyAccount, myaccount ou Myaccount. Si vous mettez en majuscule le nom de la variable de deux manières différentes, Java pense que vous faites référence à deux variables complètement différentes.
Rupture d'une instruction switch
Si vous ne sortez pas d'une instruction switch, vous obtenez une erreur. Par exemple, si la valeur de roll est 7, le code suivant imprime les trois mots - win, continue et perd:
switch (roll) {case 7: System. en dehors. println ("gagner"); Cas 10: Système. en dehors. println ("continuer"); Cas 12: Système. en dehors. println ("lose");}
Compare les valeurs avec un double signe égal
Lorsque vous comparez deux valeurs entre elles, vous utilisez un double signe égal. La ligne
if (inputNumber == randomNumber)
est correcte, mais la ligne
if (inputNumber = randomNumber)
n'est pas correcte.
Ajouter des écouteurs pour gérer les événements
Vous voulez savoir quand l'utilisateur clique sur un widget, quand une animation se termine, ou quand quelque chose d'autre se produit, alors vous créez des écouteurs:
implements OnClickListener, AnimationListener {… public void onClick (Voir la vue) {…} public void onAnimationEnd (Animation animation) {…} Lorsque vous créez des écouteurs, vous devez vous rappeler de définir les écouteurs:
Widget ImageView = nouvelle ImageView (ceci); widget.
setOnClickListener (this); … AlphaAnimation animation = nouvelle AlphaAnimation (0.F, 1.F); animation. setAnimationListener (this); … Si vous oubliez l'appel de setOnClickListener, rien ne se passe lorsque vous cliquez sur le widget. Cliquer plus fort sur le widget une seconde fois n'aide pas.
Lorsque vous définissez un constructeur avec des paramètres, comme dans
public Temperature (double nombre)
Java ne crée plus pour vous un constructeur par défaut sans paramètre. En d'autres termes, vous ne pouvez plus appeler
Temperature roomTemp = new Temperature ();
sauf si vous définissez explicitement votre propre constructeur de température sans paramètre.
Fixer les références non statiques
class WillNotWork {String greeting = "Hello"; public void principal (String args []) {System. en dehors. println (message d'accueil);}}
Vous obtenez un message d'erreur parce que main est statique, mais le message d'accueil n'est pas statique.
Restez dans les limites d'un tableau
Lorsque vous déclarez un tableau avec dix composants, les composants ont des index de 0 à 9. En d'autres termes, si vous déclarez
vous pouvez vous référer aux composants du tableau des invités en écrivant des invités [0], des invités [1], et ainsi de suite, jusqu'aux invités [9]. Vous ne pouvez pas écrire d'invités [10], car le tableau des invités n'a pas de composant avec l'index 10.
Anticiper les pointeurs NULL
Ces exemples ne sont pas enclins à lancer NullPointerException, mais dans la programmation Java réelle, vous voir cette exception tout le temps. Une exception NullPointerException survient lorsque vous appelez une méthode sur une expression qui n'a pas de valeur "légitime". Voici un exemple bon marché:
public class ThrowNullPointerException {public static void principal (String [] args) {String myString = null; display (myString);} static void display (Chaîne aString) {if (! aString. contains ("confidentiel")) {System. en dehors. println (aString);}}}
La méthode d'affichage imprime une chaîne de caractères seulement si cette chaîne ne contient pas le mot
confidentiel . Le problème est que la variable myString (et donc le paramètre aString) ne fait référence à aucune chaîne, pas même à la chaîne vide ("). Lorsque l'ordinateur atteint l'appel à aString. contient, l'ordinateur recherche une méthode contains appartenant à null. Mais nul n'est rien. La valeur null n'a pas de méthodes. Donc, vous obtenez une grosse exception NullPointerException, et le programme s'écroule autour de vous.
Pour éviter ce genre de calamité, réfléchissez à deux fois à n'importe quel appel de méthode dans votre code. Si l'expression précédant le point peut éventuellement être nulle, ajoutez un code de gestion des exceptions à votre programme:
try {if (! AString. Contains ("confidential")) {System. en dehors. println (aString);}} catch (NullPointerException e) {System. en dehors. println ("La chaîne est nulle.");}
Utiliser les permissions
Certaines applications requièrent des permissions explicites. Par exemple, une application peut parler aux serveurs de Twitter via Internet. Cela ne fonctionne pas, sauf si vous ajoutez un élément au AndroidManifest de l'application. Fichier xml:
Si vous oubliez d'ajouter l'élément à votre AndroidManifest. fichier XML, l'application ne peut pas communiquer avec les serveurs de Twitter. L'application échoue sans afficher un message d'erreur utile. Dommage!
L'activité introuvable
Si vous créez une seconde activité pour votre application, vous devez ajouter un nouvel élément dans AndroidManifest de l'application.fichier xml. Par exemple, une application Android peut avoir deux activités: MainActivity et MyListActivity.
Eclipse crée automatiquement un
Si vous n'ajoutez pas cet élément, Android ne peut pas trouver la classe MyListActivity, même si MyListAcitivity. Le fichier java se trouve dans le répertoire du projet Eclipse de l'application. Votre application se bloque avec une exception ActivityNotFoundException. Et cela fait toute la différence.