2010-04-09 14 views
15

In meiner App zeigt es zuerst einen Startbildschirm. Danach muss eine andere Aktivität, dann meine Haupttätigkeit gezeigt werden. Das ist mein Entwurfsplan. Die zweite Aktivität (d. H. Vor der Hauptaktivität) muss für den Erstnutzer der App angezeigt werden. Wenn er die App schließt, wird der Begrüßungsbildschirm automatisch zur Hauptaktivität umgeleitet. Wie mache ich das? Irgendwelche Ideen? Ich entwickle meine App für Android-Handys.Überprüfen, ob Erstanwender meiner App in Android

Antwort

20

Persist eine Flagge in preferences und überprüfen Sie es beim Start. Ändern Sie den Status, nachdem der Splash einmal angezeigt wurde.

+0

Wie verschiedene Aktionen auf, ob seine ersten Lauf oder nicht in Abhängigkeit verwalten? Zum Beispiel: Führen Sie den Benutzer durch die Anmeldung, wenn er zuerst ausgeführt wird, und zeigen Sie die Startseite an, falls dies nicht der Fall ist. – Sndn

1

Sie müssten Daten irgendwo speichern, in Ihrem Fall ist es am einfachsten, nach dem ersten Lauf der App einfach eine leere Datei zu schreiben. Sie würden also nach der Existenz dieser Datei suchen und wenn sie da wäre, würden Sie die zweite Aktivität nicht anzeigen und würden nur die Hauptaktivität anzeigen.

39

Sie können z.B. Verwenden Sie ein sharedPreference-Objekt, um einen booleschen Wert zu speichern, der angibt, ob der Benutzer das Programm zum ersten Mal öffnet. Überprüfen Sie die Voreinstellung, wenn der Benutzer die Anwendung startet, und wenn der Wert wahr ist, zeigen Sie den mittleren Bildschirm an.

private SharedPreferences mPreferences; 
.... 
boolean firstTime = mPreferences.getBoolean("firstTime", true); 
if (firstTime) { 
    SharedPreferences.Editor editor = mPreferences.edit(); 
    editor.putBoolean("firstTime", false); 
    editor.commit(); 
    showMiddleActivity(); 
} 

So ähnlich.

Edit: Geschlagen, um es von jqpubliq ...

+0

Ich würde auch sicherstellen, dass der von Ihnen gewählte Präferenzen-Name in der Benennung eindeutiger ist. Mit dem üblichen "URI" -Format wird sichergestellt, dass andere Apps nicht die gleichen "firstTime" -Präferenzen verwenden. So etwas wie "com.yoursite.yourapp.FirstTime", hoffentlich niemand sonst würde ihre Präferenz die gleiche wie Ihre Website und App nennen. – Adam

+1

Ich bin mir ziemlich sicher, dass die Voreinstellungen lokal für die Anwendung sind, so dass es nicht nötig ist, ihnen Präfixe oder irgendetwas hinzuzufügen. – alexanderblom

+3

Ich denke, die erste Zeile sollte sein: private SharedPreferences mPreferences = getSharedPreferences ("prefsFileName", 0); oder ähnlich – tayler

Verwandte Themen