Visualizzazione dei risultati da 1 a 1 su 1
  1. #1

    [Android] Template method: chiarimenti

    Salve. Avevo aperto un thread dove chiedevo un aiuto su come migliorare il codice, non ha avuto successo (troppo generica la richiesta imho).

    Allora, studiando su un libro mi sono imbattuto nel Design Pattern Template Method che sto cercando di sfruttare per migliorare l'architettura dell'applicazione.

    Mi trovo però dinanzi a qualche problemino.

    L'algoritmo che ho implementato nelle varie sottoclassi si occupa di disegnare tracciati sulla GoogleMap ed utilizza delle liste di appoggio.
    Queste liste sono definite nella classe astratta AbstractDrawer. Il problema è che oltre a disegnare i tracciati devo mostrare alcune informazioni all'utente: lunghezza dei tracciati e tempi stimati di percorrenza.
    Questi dati posso calcolarli nelle varie sottoclassi che estendono AbstractDrawer, e poi prenderli nell'Activity principale tramite metodi get posti sempre in AbstractDrawer. Quel che mi chiedevo è se in questo design pattern sono previsti metodi get.

    Il problema più serio è che nell'Activity principale ho un'implementazione dell'interfaccia LocationListener che definisce il metodo onLocationChanged(...) al cui interno ogni volta che la posizione del telefono cambia, devo aggiornare la distanza in linea d'aria dalla posizione attuale del telefono al punto più vicino del tracciato attualmente disegnato. Per farlo devo andare a calcolarmi qual è questo punto più vicino, ma serve la lista di LatLng, lista che però è definita nell'AbstractDrawer che io instanzierò al di fuori del LocationListener quando vado a fare la richiesta del disegno, quindi insomma... un bel casino. Posso inserire anche dei get per le liste? E comunque dovrei avere un AbstractDrawer come variabile globale nell'Activity principale sulla quale invocare le
    get.

    Oppure le liste le lascio nell'Activity principale e le imposto all'AbstractDrawer tramite metodi
    set.

    Scusate è tutto un po incartato. Ho la vaga sensazione che nemmeno questa volta riceverò risposta
    Ultima modifica di Javino89; 11-04-2014 a 10:30

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.