O usuário irá colocar seus dados em um total de 3 activitys, e preciso colocar os dados das 3 no SQLite. Como deveria fazer, seguindo o padrão das aulas? No código coloquei todos os dados que deverão ser preenchidos na mesma classeHelper
public class AgendarHelper {
private final EditText campoEndereco;
private final EditText campoNumero;
private final EditText campoComplemento;
private final EditText campoBairro;
private final CalendarView campoData;
private final Spinner campoHorario;
private final Spinner campoCategoria;
private final Spinner campoSubCategoria;
private final ImageView campoFoto;
private final EditText campoQuantidade;
public AgendarHelper(EnderecoActivity activity){
campoEndereco = (EditText) activity.findViewById(R.id.agenda_endereco);
campoNumero = (EditText) activity.findViewById(R.id.agenda_numero);
campoComplemento = (EditText) activity.findViewById(R.id.agenda_complemento);
campoBairro = (EditText) activity.findViewById(R.id.agenda_bairro);
campoData = (CalendarView) activity.findViewById(R.id.agenda_calendario);
campoHorario = (Spinner) activity.findViewById(R.id.spHorario);
campoCategoria = (Spinner) activity.findViewById(R.id.spCategoria);
campoSubCategoria = (Spinner) activity.findViewById(R.id.spSubCategoria);
campoFoto = (ImageView) activity.findViewById(R.id.exibeFoto);
campoQuantidade = (EditText) activity.findViewById(R.id.agenda_quantidade);
Log.d("testeb","1 helper");
}
public Agenda pegaAgenda() {
Agenda agenda = new Agenda();
agenda.setEndereco(campoEndereco.getText().toString());
agenda.setNumero(Integer.valueOf(campoNumero.getText().toString()));
agenda.setComplemento(campoComplemento.getText().toString());
agenda.setBairro(campoBairro.getText().toString());
agenda.setData(String.valueOf(campoData));
agenda.setHorario(String.valueOf(campoHorario));
agenda.setCategoria(String.valueOf(campoCategoria));
agenda.setSubCategoria(String.valueOf(campoSubCategoria));
agenda.setFoto((String) campoFoto.getTag());
agenda.setQuantidade(campoQuantidade.getText().toString());
return agenda;
}
}
Porém, chamei o banco apenas na ultima activity (Quando clicar no ultimo botão).
public class AparelhosActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener, AdapterView.OnItemSelectedListener {
public static final int REQUEST_CODE = 1;
private Spinner spCategoria;
private Spinner spSubCategoria;
private String caminhoFoto;
private AgendarHelper helper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_aparelhos);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
helper = new AgendarHelper();
spCategoria = (Spinner) findViewById(R.id.spCategoria);
spSubCategoria = (Spinner) findViewById(R.id.spSubCategoria);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.categoria,android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spCategoria.setAdapter(adapter);
spCategoria.setOnItemSelectedListener(this);
});
Button botaoConcluir = (Button) findViewById(R.id.botao_agendou);
botaoConcluir.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Agenda agenda = helper.pegaAgenda();
UsuarioDAO usuarioDAO = new UsuarioDAO(AparelhosActivity.this);
usuarioDAO.insereAgendar(agenda);
usuarioDAO.close();
Intent agendou = new Intent(AparelhosActivity.this, MenuActivity.class);
startActivity(agendou);
Toast.makeText(AparelhosActivity.this,"Agedamento Salvo!", Toast.LENGTH_SHORT).show();
finish();
}
});