Ho i requisiti per un'applicazione Android. L'app funziona già per un client in V1.
- Nella versione V2 dell'app, abbiamo bisogno che l'app supporti 2 client, per questo abbiamo bisogno di apportare modifiche solo in 1 classe Activity / View.
- Questa classe di vista ha alcune viste aggiuntive che sono diverse per il client 2 e avranno una nuova istanza separata di un database - SharedPreferences.
- L'utente può passare tra due client ora (V1 ne aveva solo uno)
- Con ogni switch, la vista dovrebbe cambiare in base ai dati e alle SharedPreferences del client selezionato (la preferenza condivisa ha le impostazioni per ogni modalità client).
Qual è l'approccio migliore per:
-
Crea un'istanza / vista separata di ViewActivity e salva lo stato corrente quando passi
-
Classe SharedPreference: conserva un'altra copia di questa classe con alcuni campi aggiuntivi o aggiungi nuovi campi di dati aggiuntivi per le impostazioni del client 2.
-
L'app V1 è già attiva e la correzione dei bug in V1 è in corso, dobbiamo creare V2 con la compatibilità all'indietro in modo che gli utenti V1 possano eseguire l'aggiornamento all'app V3 senza problemi.
Please suggest what is the best approach I should use in creating V2 app considering the fact that more features (same or different) may be added for each client in future. We need to have an approach which makes the code easy to maintain and enhance.
P.S .: Sono nuovo nella progettazione di modelli di software e architettura, potrei aver perso qualcosa.