Posso fare tutto in un'unica attività o devo svolgere un'attività per la ricerca, una per la lista dei risultati, una per la descrizione del ristorante e un'altra per la mappa?
La risposta a questo dipende davvero dal flusso dell'applicazione. Penso che la cosa più importante da tenere presente qui è come l'utente controllerà la tua app con il pulsante "indietro". Quando crei una nuova attività, questa viene messa in pila e l'utente può sempre premere "indietro" per estrarlo dallo stack.
Un estremo è mettere tutti questi passaggi in attività diverse. Quindi l'utente ha il controllo definitivo usando il pulsante "indietro", ma potrebbe essere infastidito saltando attorno alle attività. Mettere tutto in una sola attività è l'altro estremo e consiglio vivamente di non farlo; gli utenti si aspettano che i nuovi schermi siano un'attività diversa, da cui possono "tornare indietro", e quindi se metti tutte le uova in una sola attività dovrai iniziare a gestire "indietro" te stesso.
Penso che ci sia una buona via di mezzo che la tua app potrebbe prendere, anche se ovviamente la progettazione dell'interfaccia utente potrebbe essere diversa da quella che propongo. Direi che potresti farlo in due Attività; nella prima, hai un campo di ricerca in alto (con un pulsante di invio accanto ad esso), e sotto quel campo di ricerca c'è un ListView che viene popolato con i risultati. Nel secondo, si utilizza TabActivity, in cui una scheda è per la descrizione e l'altra è per la mappa. Penso che questo sia vantaggioso per due motivi: nella prima attività, l'utente vede i risultati della loro ricerca sulla stessa pagina della ricerca e può modificare rapidamente i parametri di ricerca, se necessario. E nella seconda attività, il tasto indietro incapsula il ritorno da un ristorante.
Fare una singola attività renderebbe l'applicazione più reattiva?
Non proprio. Le attività richiedono tempo per creare/abbattere, ma non che molto tempo. È meglio segmentare l'applicazione in modo logico (per l'esperienza dell'utente).
Come è possibile utilizzare un elenco e una mappa all'interno di un'attività normale (senza ListActivity e MapActivity)?
Si può ottenere via con un controllo ListView all'interno di una normale attività senza ListActivity; includi semplicemente una ListView nel contenuto della tua attività, quindi nel codice prendi il ListView e imposta il suo adattatore manualmente. Tutto ciò che ListActivity fa è aggiungere alcune pratiche funzioni wrapper per un ListView primario, ma non è affatto necessario.
Le mappe sono una questione diversa. Dovrai utilizzare MapActivity per visualizzare le mappe, poiché MapActivity ha un codice di installazione e di rimozione speciale che deve essere eseguito. Scusate.
Ciao Jul, potresti provare a rendere più descrittivo il titolo della domanda? – Casebash
Ho aggiunto "quante attività dovrei usare?". – jul