Table des matières:
- Mettre les lettres majuscules là où elles appartiennent
- Rupture d'une instruction de commutateur
- Lorsque vous comparez deux valeurs, vous utilisez un double signe égal. La ligne
- 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:
- NullPointerException
- au AndroidManifest
- dans le
Vidéo: 10 questions clés pour son projet d’application mobile - #ECOMGUEST - Market Academy & Synertic 2024
Tout le monde fait des erreurs. C'est une réalité de la vie. Cependant, si vous tenez compte du conseil ici, il ne doit pas être un fait de votre programmation Java.
Mettre les lettres majuscules là où elles appartiennent
Java est un langage sensible à la casse, vous devez donc vous pré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
si
, le mot si ne peut pas être si ou SI. - Lorsque vous utilisez des noms de l'API (Application Programming Interface) d'Android, la casse des noms doit correspondre à ce qui apparaît dans l'API.
- Les noms que vous créez vous-même doivent être capitalisés de la même manière tout au long du programme. Si vous déclarez une variable
myAccount
, vous ne pouvez pas l'appelerMyAccount
,myaccount
ouMyaccount
. 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 de commutateur
Si vous n'échappez pas à une instruction
de commutateur
, vous obtenez une erreur. Par exemple, si la valeur de
roll
est
7
, le code suivant imprime les trois mots -
win
,
continue
et > perdre
:
changer (rouler) {
cas 7:
textView. setText ("gagner");
case 10:
case 12:
textView. setText ("perdre");
}
Comparaison de valeurs avec un double signe égal
Lorsque vous comparez deux valeurs, vous utilisez un double signe égal. La ligne
if (inputNumber == randomNumber)
est correcte, mais la ligne
if (inputNumber = randomNumber)
n'est pas correcte.
Ajout d'é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:
public class MainActivity extends Activity
implémente OnClickListener, AnimationListener
{ …
public void onClick (Voir la vue) {
…
}
public void onAnimationEnd (Animation d'animation) {
…
} < Lorsque vous créez des écouteurs, vous devez vous rappeler de définir les écouteurs:
Widget ImageView = new ImageView (this);
widget.
setOnClickListener
(this);
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.
Définition des constructeurs requis
Lorsque vous définissez un constructeur avec des paramètres, comme dans
public Température (double numéro)
Java ne crée plus pour vous un constructeur sans paramètre par défaut. En d'autres termes, vous ne pouvez plus appeler
Temperature roomTemp = new Temperature ();
sauf si vous définissez explicitement votre propre constructeur
Temperature
sans paramètre.
Correction de références non statiques
Si vous essayez de compiler le code suivant, vous obtenez un message d'erreur:
class WillNotWork {
Chaîne salutation = "Bonjour";
static void show () {
textView. setText (message d'accueil);
}
}
Vous obtenez un message d'erreur car la méthode
show
est statique, mais
l'annonce
n'est pas statique.
Rester 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
int invités [] = nouveau int [10];
vous pouvez faire référence aux composants du tableau
invités
en écrivant
invités [0]
,
invités [1]
, et ainsi de suite, jusqu'à
invités [9]
. Vous ne pouvez pas écrire
clients [10]
, car le tableau
clients
n'a pas de composant avec index 10.
Anticiper les pointeurs NULL
A
NullPointerException
se produit lorsque vous appelez une méthode sur une expression qui n'a pas de valeur "légitime". Voici un exemple:
public class MainActivity étend AppCompatActivity {
TextView textView;
@Override
void protégé onCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (disposition R., activité_main);
// Vous oubliez la ligne findViewById.
}
public void onButtonClick (Voir la vue) {
textView. setText ("Bonjour");
}
}
En Java, une variable de type référence qui ne pointe sur rien a la valeur
null
. Donc dans cet exemple, la valeur de la variable
textView
est
null
.
Vous ne pouvez pas appeler la méthode
setText
sur la valeur
null
. Pour cette raison, vous ne pouvez appeler aucune méthode sur la valeur
null
. Lorsque Java tente d'exécuter
textView. setText ("Hello")
, l'application se bloque. L'utilisateur voit un message
Application a arrêté
. Si vous testez l'application à l'aide d'Android Studio, vous voyez NullPointerException dans le volet Logcat.
Pour éviter ce genre de calamité, réfléchissez à deux fois à n'importe quel appel de méthode dans votre code. Si l'expression avant le point peut éventuellement être
null, ajoutez le code de gestion des exceptions à votre programme:
public void onButtonClick (Voir la vue) {
try {
textView. setText ("Bonjour");
} catch (NullPointerException e) {
Toast. makeText (ceci, "L'application a récupéré d'une erreur.",
Toast.LENGTH_LONG). montrer();
}
}
Utilisation des autorisations
Certaines applications nécessitent des autorisations explicites. Par exemple, certaines applications parlent aux serveurs de Twitter sur Internet. Cela ne fonctionne que 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 deuxième activité pour votre application, vous devez ajouter un nouvel élément
dans le
AndroidManifest de l'application. fichier xml
. L'élément peut être aussi simple que
mais, dans la plupart des cas, l'élément est un peu plus compliqué.
Si vous n'ajoutez pas cet élément
, Android ne peut pas trouver la classe
MySecondActivity
, même si la
MySecondAcitivity. Le fichier java
se trouve dans le répertoire du projet de l'application. Votre application tombe en panne avec une
ActivityNotFoundException
.
Et cela fait toute la différence.