2010-04-09 13 views
15

W mojej aplikacji po raz pierwszy wyświetla ekran powitalny. Po wykonaniu innej czynności należy wyświetlić moją główną aktywność. To jest mój plan projektowy. Druga aktywność (tj. Przed główną czynnością) musi być pokazywana dla pierwszego użytkownika aplikacji. Jeśli zamknie aplikację, ekran powitalny automatycznie przekieruje do głównej aktywności. Jak mam to zrobic? Jakieś pomysły? Rozwijam swoją aplikację na telefony z Androidem.Sprawdź, czy pierwszy użytkownik mojej aplikacji w Androidzie

Odpowiedz

20

Zatrzymaj flagę w preferences i sprawdź podczas uruchamiania. Zmień stan, gdy splash pojawi się raz.

+0

Jak zarządzać różne działania w zależności od tego, czy jego pierwszym uruchomieniu, czy nie? Na przykład: Przeprowadź użytkownika przez rejestrację, jeśli jest to pierwsze uruchomienie i wyświetl stronę główną, jeśli nie jest. – Sndn

1

Musisz gdzieś zapisać dane, w twoim przypadku najłatwiej jest po prostu wypisać pusty plik po pierwszym uruchomieniu aplikacji. Tak więc sprawdziłbyś istnienie tego pliku i gdyby był tam, nie pokazałbyś drugiej aktywności i po prostu pokazałbyś główną aktywność.

39

Możesz np. użyj obiektu sharedPreference do przechowywania wartości boolowskiej, która mówi, czy jest to pierwszy raz, gdy użytkownik otwiera aplikację. Sprawdź preferencje, gdy użytkownik uruchomi aplikację, a jeśli zwróci true, pokaż środkowy ekran.

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

Coś w tym stylu.

Edit: Pobity do niego przez jqpubliq ...

+0

Chciałbym również upewnić się, że wybrana nazwa preferencji jest bardziej unikalna w nazewnictwie, przy użyciu zwykłego formatu "URI" zapewnia, że ​​inne aplikacje nie używają tej samej preferencji "firstTime". Więc coś w stylu "com.yoursite.yourapp.FirstTime", mam nadzieję, że nikt inny nie nazwałby ich preferencji tak samo jak Twoja witryna i aplikacja. – Adam

+1

Jestem pewien, że preferencje są lokalne dla aplikacji, więc nie ma potrzeby ich poprzedzania ani niczego. – alexanderblom

+3

Myślę, że pierwszy wiersz powinien być: private SharedPreferences mPreferences = getSharedPreferences ("prefsFileName", 0); lub podobny – tayler

Powiązane problemy