it-swarm.com.de

wie erstellt man eine zufällige UUID in Android, wenn ein Klickereignis auftritt?

Ich bin ein Lehrling für Android. Ich muss eine zufällige UUID erstellen und als Primärschlüssel in der Datenbank speichern. Ich verwende UUID.randomUUID.toString () diesen Code im Button-Click-Ereignis. Die UUID wurde effektiv interessant gemacht. Für den Fall, dass ich noch einmal auf die Schaltfläche klicke, muss ich eine weitere UUID erstellen. In jedem Fall erstellt mein Code keine neue UUID. Jemand, bitte helfen Sie mir, eine unregelmäßige UUID zu erstellen, wenn Sie auf catch klicken. 

Hier ist mein 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(); 
  }
});
25
Raj De Inno

Beim ersten Initialisieren der Variablen wird beim nächsten Klicken auf die Schaltfläche kein Nullwert angezeigt

Entfernen Sie den if-Zustand

if(uniqueId == null) { 
uniqueId = UUID.randomUUID().toString(); 
}

Benutze das

uniqueId = UUID.randomUUID().toString(); 
55
Fahim

Ihre Nullprüfung für uniqueId verursacht das Problem.

wenn Sie zum ersten Mal auf die Schaltfläche klicken, ist uniqueId null und eine neue UUID wird generiert. Wenn Sie jedoch das nächste Mal klicken, wenn uniqueId nicht null ist, wird keine neue UUID generiert.

5
dishan

Sie vermeiden explizit die neue UUID-Erstellung durch:

if(uniqueId == null) {
   uniqueId = UUID.randomUUID().toString();
}

Entfernen Sie den Scheck.

3
Juanjo Vega

Wenn Sie einen String vergleichen, verwenden Sie .equals ().

if(uniqueId.equals(null)) { 
    uniqueId = UUID.randomUUID().toString(); 
}
0
DaleJack