<repo_name>programadormovel/AppOracao<file_sep>/settings.gradle
include ':app'
rootProject.name = "AppOracao"<file_sep>/app/src/main/java/br/com/itb/pra3/apporacao/ui/home/HomeViewModel.java
package br.com.itb.pra3.apporacao.ui.home;

import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel;

import br.com.itb.pra3.apporacao.ObjetoEstatico;

public class HomeViewModel extends ViewModel {

    // Objeto LiveData
    private MutableLiveData<String> mText;

    // Método construtor do ViewModel
    public HomeViewModel() {
        // Construção do objeto LiveData
        mText = new MutableLiveData<>();
        // Valor do objeto LiveData
        // Aqui podemos capturar os dados do banco de dados, por exemplo
        mText.setValue("texto");
    }

    // Método de recuperação dos dados inseridos no LiveData
    public LiveData<String> getText() {
        return mText;
    }

}<file_sep>/app/src/main/java/br/com/itb/pra3/apporacao/ui/OracaoFragment.java
package br.com.itb.pra3.apporacao.ui;

import androidx.lifecycle.ViewModelProvider;

import android.os.Bundle;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.navigation.fragment.NavHostFragment;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import br.com.itb.pra3.apporacao.R;

public class OracaoFragment extends Fragment {

    private OracaoViewModel mViewModel;

    public static OracaoFragment newInstance() {
        return new OracaoFragment();
    }

    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
                             @Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.oracao_fragment, container, false);
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        mViewModel = new ViewModelProvider(this).get(OracaoViewModel.class);
        // TODO: Use the ViewModel



    }

    public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

        // Método de acionamento do botão
        view.findViewById(R.id.btnBuscarOracao).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // Navegar para a janela de fragmento da Oração Selecionada
                NavHostFragment.findNavController(OracaoFragment.this)
                        .navigate(R.id.action_navigation_oracao_to_oracaoEscolhidaFragment);
            }
        });
    }

}<file_sep>/app/src/main/java/br/com/itb/pra3/apporacao/ui/home/HomeFragment.java
package br.com.itb.pra3.apporacao.ui.home;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import androidx.lifecycle.ViewModelProviders;

import br.com.itb.pra3.apporacao.ObjetoEstatico;
import br.com.itb.pra3.apporacao.R;

public class HomeFragment extends Fragment {

    // Objeto View Model
    private HomeViewModel homeViewModel;
    private EditText caixaDeTexto;

    // Método de criação do layout em tempo de execução
    public View onCreateView(@NonNull LayoutInflater inflater,
                             ViewGroup container, Bundle savedInstanceState) {
        // Construção do objeto View Model
        homeViewModel = new ViewModelProvider(this)
                .get(HomeViewModel.class);
        // Definição do layout de Fragmento que será controlado pela classe Java
        View root = inflater.inflate(R.layout.fragment_home, container, false);
        // Objeto label
        final TextView textView = root.findViewById(R.id.text_home);
        // Método observador, garante a persistência dos dados da caixa de texto
        homeViewModel.getText().observe(getViewLifecycleOwner(), new Observer<String>() {
            @Override
            public void onChanged(@Nullable String s) {
                textView.setText(s);
            }
        });

        // Vínculo do objeto do tipo EditText com o objeto da janela (Fragmento)
        caixaDeTexto = root.findViewById(R.id.edtTexto);

        return root;
    }

}