Cómo usar la inyección de dependencia para inyectar constructor en un ViewModel

Estoy tratando de implementar el ejemplo enhttps: //developer.android.com/jetpack/docs/guid. Esto explica cómo se debe estructurar la aplicación de Android Tan.

Cuando uso el mismo código, aparece el siguiente error.

java.lang.Class<com.example.UserProfileViewModel> has no zero argument constructor

Podría darme cuenta de que este error tiene algo que ver con

viewModel = ViewModelProviders.of(this).get(UserProfileViewModel.class);

Cuando escribo un constructor de entrada cero predeterminado para ViewModel obtengo el siguiente error.

Attempt to invoke virtual method 'void android.arch.lifecycle.LiveData.observe(android.arch.lifecycle.LifecycleOwner, android.arch.lifecycle.Observer)' on a null object reference

No puedo entender la razón de este error y cómo resolverlo.

Respuestas a la pregunta(1)

Su respuesta a la pregunta