android: totalne początki

0

Hej,

zacząłem kodowanie z androidem i albo źle zrozumiałem albo po prostu tego nie mogę znaleźć.
mianowicie zadanie jakie sobie postawiłem:

  1. aplikacja się uruchamia, wyskakuje komunikat (do tego używam Toast.makeText). oraz mamy przycisk "Zacznij".
  2. Po kliknięciu którego pojawia się kolejne "okno" (czyli u mnie to jest Intent). na którym mam kilka pół do wypełnienia, oraz przycisk "Dalej".
  3. Po kliknięciu pojawia się kolejne okno (Znowu intent) na którym mam jeszcze 2 pola do wypełnienia oraz przycisk "Zapisz".

Takie dałem sobie zadanie.
Chciałbym to zrobic, jednak mam dość sporo problemów. Po pierwsze nie wiem czy używanie Intent do takiego zadania jest właściwe (jest?), Jeśli jest właściwe to za pomocą czego mam "chodzić" po tych widokach i zbierać te dane aby po wciśnięciu "Zapisz" w ostatnim oknie te dane zapisywały się np. do pliku?
Każdy ten "widok" traktuje jak nową klasę javy (poprawnie?) która dziedziczy po Activity

Obecnie myslalem zeby stworzyc klase ktora będzie zawierać wszystkie te pola i po kolei w każdej klasie będę tworzył obiekt, uzupełniał odpowiednie dane i zwracał obiekt. Czyli było by to tak:

  1. tworze obiekt, user wciska "Zacznij"
  2. pokazuje Intent z polami, user wypełnia, przepisuje je do obiektu
  3. pokazuje trzeci Intent z dwoma polami, zapisuje do obiektu i zwracam do Punktu numer 2.
  4. dopisuje do obecnego obiektu pola z obiektu otrzymanego. i kończę intent, wracam do pierwszego.
  5. zapisuje caly obiekt do pliku, wyłączam aplikacje.
0

obojętne możesz to robić w jednym Activity, wtedy wystarczy pokazywać / ukrywać odpowiednie fragmenty
przy różnych Activity musisz za każdym razem serializować / deserializować dane i przekazywać jako parametry w intencji

ogólnie różne Acitivity stosuj gdy ułatwi to tworzenie aplikacji lub gdy chcesz wracać do danego miejsca z różnych miejsc; aktywność można też uruchomić z zewnątrz aplikacji - można zacząć program od danego momentu

ne0 napisał(a):
  1. pokazuje Intent z polami, user wypełnia, przepisuje je do obiektu

pokazujesz intencje? Pokazujesz aktywność; intent to intencja jakiegoś działania za pomocą której między innymi można pokazywać inne aktywności - nie za bardzo jest tu co pokazywać

0

bardzo Ci dziekuje za odpowiedz. Czy moglbys mimo wszystko dalej mnie nakierowac w takim razie jak to ogarnac? Aplikacja moze sie konczyc na dwa sposoby: albo po ostatnim zatwierdzeniu sie wylacza i pokazuje sie "pulpit" tableta, albo po prostu wraca do tego poczatkowego ekranu. to jest obojetne. wazne zeby takie kroki byly jak napisalem, jeszcze raz teraz napisze:
wlaczamy aplikacje -> wciskamy "rozpocznij" -> wypelniamy np. 5 pól, zatwierdzam -> pojawiaja sie kolejne pola (np. 4), wypelniam, zatwierdzam -> zapis do pliku i koniec. nic wiecej.

Czyli w jednym Activity moge miec wszystkie te kroki i odpowiednio sterowac ich widocznoscia tak?

Czy activity jest to inaczej jeden plik xxx.java ?

0

Bardzo ładnie sobie z tym poradziłem :)
Aplikacja praktycznie skończona.
Jednakże jeszcze jest kilka rzeczy które chciałbym osiągnąć, przykładowo jak w ostatnim momencie zapisuje plik i w zasadzie jest koniec procesu to chciałbym jakby wyzerować ten obiekt do którego zapisuje klienta i wrócić do pierwszego okna i móc zacząć od nowa cały proces, czyli taka jakby pętla. Jak to osiągnąć?

Następne pytanie:
zapisuje dane do pliku takim kodem:

 
  private void SaveToFile() throws IOException
    {
    	//---Setup the time
    	Time t = new Time(Time.getCurrentTimezone());
    	t.setToNow();
    	String date = t.format("yyyy-MM-dd'T'HH:mm:ss");   	
    	String name = "form"+date;
    	String data1 = data.toString();
    	FileOutputStream fos = openFileOutput(name, Context.MODE_PRIVATE);
    	fos.write(data1.getBytes());
    	fos.close();    	
    }
    

Jak mogę te pliki teraz np. odczytać? albo skopiować ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1