Je suis un apprenti sur Android. Je dois créer des UUID aléatoires et les stocker dans la base de données en tant que clé primaire. J'utilise UUID.randomUUID.toString () ce code dans l'événement de clic sur un bouton. Le UUID a été effectivement fait intéressant. Cependant, si je clique une nouvelle fois sur le bouton, je dois créer un autre UUID. Dans tous les cas, mon code ne crée pas de nouvel UUID. Quelqu'un, aide-moi à créer un UUID irrégulier lorsque je clique sur catch.
Voici mon code:
String uniqueId = null;
showRandomId = (Button)findViewById(R.id.showUUID);
showRandomId.setOnClickListener(new View.OnClickListener() {
public void OnClick(View v) {
if(uniqueId == null) {
uniqueId = UUID.randomUUID().toString();
}
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(getBaseContext(), uniqueId, duration);
toast.show();
}
});
La première fois qu'il initialise la variable et la prochaine fois que vous cliquez sur le bouton, la valeur NULL n'est pas nulle
Supprimer si condition de cette
if(uniqueId == null) {
uniqueId = UUID.randomUUID().toString();
}
Utilisez ceci
uniqueId = UUID.randomUUID().toString();
Votre chèque nul pour uniqueId
provoque le problème.
lorsque vous cliquez sur le bouton pour la première fois, la variable uniqueId
est nulle et un nouvel UUID est généré. Mais lorsque vous cliquez dessus la prochaine fois, uniqueId n'est pas null, aucun nouvel UUID n'est généré.
Vous évitez explicitement la création d'un nouvel UUID en:
if(uniqueId == null) {
uniqueId = UUID.randomUUID().toString();
}
Retirez le chèque.
Lorsque vous comparez une chaîne, utilisez .equals ()
if(uniqueId.equals(null)) {
uniqueId = UUID.randomUUID().toString();
}