Imagem de fundo

Atualmente a plataforma Android permite a separação entre o...

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:


A

violar as regras de encapsulamento adotadas pela classe, ao utilizar o atributo interno nome, em getNome;


B

gerenciar o atributo nome como um estado na Activity, bastando instanciar um objeto NomeModel com uso do operador new;


C

manter o valor interno inalterado no método setNome, apesar da chamada para setValue, já que o atributo foi definido como final;


D

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;


E

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.