Autore Topic: Gestione delle Activity  (Letto 303 volte)

Offline vegeta89

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Mac OS X 10.10
Gestione delle Activity
« il: 07 Gennaio 2015, 18:13:43 CET »
0
Salve a tutti,
sono nuovo nel mondo Android e sto sviluppando un'app a scopo universitario.

Quello che non mi è chiaro è la gestione delle Activity.
Le Activity possiedono i vari metodi onCreate, onResume, ecc ecc.., ma devono essere tutti presenti all'interno del codice?
Se io creo la mia prima activity, e tramite un pulsante passo alla seconda e così via, le precedenti sono ancora in esecuzione e devono essere chiuse?

Chiedo questo perchè nelle mie activity generalmente sto usando il metodo OnCreate e raramente ne uso altri.

Scusate se la domanda può risultare banale, ma come detto, è da poco che sviluppo per Android.
Grazie.

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 596
  • Respect: +133
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Gestione delle Activity
« Risposta #1 il: 07 Gennaio 2015, 18:50:22 CET »
0
I metodi sono già tutti definiti nella classe base (Activity), quindi non devi ridefinirli tutti. In base a cosa fa la tua activity ridefinisci quelli che ti servono.

Ad esempio se hai la necessità di garantire un minimo di persistenza dei dati, molto probabilmente avrai bisogno di apportare modifiche alla onResume().

Quando da un'activity passi ad un'altra, non hai modo di sapere se la precedente resti attiva oppure no. In base alla memoria disponibile ed altri fattori, il SO (Android) può decidere di "killarla" o lasciarla lì. Solitamente la prima activity viene richiamata alla pressione del tasto back (questo può significare che l'activity sia "riavviata" se era stata killata). Naturalmente puoi modificare questo comportamento dicendo alla prima activity di chiudersi e di non essere inclusa nello stack delle activity.

Nota: quando ruoti lo schermo l'attività viene distrutta e ricreata. Alcune informazioni sono mantenute automaticamente (in particolare lo stato di tutte le View con un ID), per le altre dovrai probabilmente provvedere tu con i vari altri metodi tipo onSaveInstanceState. Molto dipende da quello che ogni activity fa.
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline vegeta89

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Mac OS X 10.10
Re:Gestione delle Activity
« Risposta #2 il: 08 Gennaio 2015, 18:53:31 CET »
0

I metodi sono già tutti definiti nella classe base (Activity), quindi non devi ridefinirli tutti. In base a cosa fa la tua activity ridefinisci quelli che ti servono.

Ad esempio se hai la necessità di garantire un minimo di persistenza dei dati, molto probabilmente avrai bisogno di apportare modifiche alla onResume().

Quando da un'activity passi ad un'altra, non hai modo di sapere se la precedente resti attiva oppure no. In base alla memoria disponibile ed altri fattori, il SO (Android) può decidere di "killarla" o lasciarla lì. Solitamente la prima activity viene richiamata alla pressione del tasto back (questo può significare che l'activity sia "riavviata" se era stata killata). Naturalmente puoi modificare questo comportamento dicendo alla prima activity di chiudersi e di non essere inclusa nello stack delle activity.

Nota: quando ruoti lo schermo l'attività viene distrutta e ricreata. Alcune informazioni sono mantenute automaticamente (in particolare lo stato di tutte le View con un ID), per le altre dovrai probabilmente provvedere tu con i vari altri metodi tipo onSaveInstanceState. Molto dipende da quello che ogni activity fa.
Ok capito, grazie.

Hai parlato di persistenza di dati: nel caso voglia salvare dei dati su un database, non c'è bisogno di scrivere codice nella onResume, giusto?


Inviato dal mio iPhone utilizzando Tapatalk

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 596
  • Respect: +133
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Gestione delle Activity
« Risposta #3 il: 08 Gennaio 2015, 20:46:32 CET »
0
No, ma ancora una volta dipende da cosa deve fare la tua attività.

Tieni conto che il ciclo di vita è questo:

Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.