

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Atualmente a plataforma Android permite a separação entre o fluxo funcional das telas e os estados do sistema, por meio de estruturas do tipo ViewModel, que funcionam com base no padrão Observer. Considere a classe apresentada a seguir.
public class NomeModel extends ViewModel {
private final MutableLiveData<String> nome =
new MutableLiveData<>("");
public LiveData<String> getNome() { return nome; }
public void setNome(String valor) { nome.setValue(valor); }
}
A classe NomeModel caracteriza-se por:
violar as regras de encapsulamento adotadas pela classe, ao utilizar o atributo interno nome, em getNome;
gerenciar o atributo nome como um estado na Activity, bastando instanciar um objeto NomeModel com uso do operador new;
manter o valor interno inalterado no método setNome, apesar da chamada para setValue, já que o atributo foi definido como final;
retornar um objeto LiveData, no método getNome, permitindo a alteração do valor de nome, ao nível da Activity, com a invocação do método setValue;
requerer uma chamada para o método observe, no uso de getNome, com a passagem da referência para a Activity e de um operador lambda, efetuando a atualização da interface sempre que o valor interno for alterado.