Autore Topic: Principio di incapsulamento Android  (Letto 758 volte)

Offline dacplus

  • Nuovo arrivato
  • *
  • Post: 9
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Dsisre HD
Principio di incapsulamento Android
« il: 21 Febbraio 2013, 18:52:48 CET »
0
Buonasera a tutti,
premettendo che sto studiando Android come autodidatta e venendo da una formazione JAVA, vorrei proporvi questa domanda:

Esiste l'equivalente del bean (o pojo che dir si voglia) per quanto riguarda le View di una activity?

Sostanzialmente mi spiego meglio:

Vorrei creare delle classi con getter e setter di ogni VIEW, in modo tale da poterle utilizzare in ogni frangente richiamando solo il corrispondente metodo. Attualmente mi trovo in una classe java AsyncTask esterna all'activity principale contentente una TextView. Vorrei da questa (o all'ccorrenza altre classi) poter leggere e scrivere liberamente da quella TextView. Mi farebbe anche molto comodo per ripulire un po il codice da tuti quei findViewById che spesso mi ritrovo ad utilizzare.

Spero di essere stato abbastanza esplicativo

Grazie

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
R: Principio di incapsulamento Android
« Risposta #1 il: 21 Febbraio 2013, 19:20:41 CET »
0
Ni, nel senso che non c'è un meccanismo di binding automatico. Ma c'è il meccanismo degli adapter da agganciare alle view. È il meccanismo usato in tutte le viste "complesse" come le liste.

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Principio di incapsulamento Android
« Risposta #2 il: 21 Febbraio 2013, 21:14:32 CET »
0
Premetto che non ho una grande produzione di codice e di app per Android, perchè è solo un hobby, però mi piace studiarne l'architettura e provare diversi modi di fare le cose.

Una cosa che ritengo essere fondamentale (ma lo dico da hobbysta) è isolare l'accesso alle View in un unico file (quello dell'activity), così da minimizzare le dipendenze tra le classi e l'interfaccia utente. Altrimenti ogni piccola modifica al layout impone una modifica di tutte le classi che vi accedono direttamente, e comunque ciascuna classe sarà usabile solo con quel layout specifico.

Invece quando creo una istanza di AsyncTask per fare una HTTP GET, nel creare l'AsyncTask passo anche il riferimento ad un Handler a cui l'AsyncTask spedirà il messaggio con notifica di completamento e/o i dati. Lascio all'AsyncTask il compito (indipendente dal layout e addirittura riusabilissimo in altri progetti) di fare il lavoro puro, poi toccherà all'Activity occuparsi di gestire la visualizzazione del risultato. Questo stesso approccio è usabilissimo con Thread paralleli multipli ed usando i messaggi risulta ovviamente thread-safe.
« Ultima modifica: 21 Febbraio 2013, 21:16:23 CET da bradipao »
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store