Olá pessoal bom dia tudo bem?
Seguinte estou desenvolvendo uma aplicação como trabalho da faculdade
E essa aplicação consiste basicamente de um sistema de compras de produtos mobile
meu problema é o seguinte
criei uma tabela com sqlite para cadastrar um usuario
e uma segunda tabela para cadastrar endereços para o usuario
uma vez que um usuario pode ter várias opções de entrega
entao tenho duas activitys
uma para cadastro de usuario
e outra para cadastro do endereço
segue código delas
cadastro.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#f1f1f1" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<include layout="@layout/include_header_cadastro" />
<include layout="@layout/include_subheader_cadastro" />
<TextView
android:id="@+id/txtTituloCadastro"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="@string/titulo_cadastro"
android:textSize="10dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/primeiro_nome" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:text="@string/sobrenome" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:orientation="horizontal" >
<EditText
android:id="@+id/editNome"
android:layout_width="140dp"
android:layout_height="40dp"
android:inputType="textPersonName" />
<EditText
android:id="@+id/editSobreNome"
android:layout_width="140dp"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:inputType="textPersonName" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/data_nascimento" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="65dp"
android:text="@string/sexo" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:orientation="horizontal" >
<EditText
android:id="@+id/editNascimento"
android:layout_width="140dp"
android:layout_height="40dp"
android:focusableInTouchMode="false"
android:inputType="text|date" />
<EditText
android:id="@+id/editSexo"
android:layout_width="140dp"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:focusableInTouchMode="false"
android:inputType="text" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/cpf" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="115dp"
android:text="@string/rg" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:orientation="horizontal" >
<EditText
android:id="@+id/editCpf"
android:layout_width="140dp"
android:layout_height="40dp"
android:inputType="number"
android:maxLength="11" />
<EditText
android:id="@+id/editRg"
android:layout_width="140dp"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:inputType="number"
android:maxLength="9" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/tel_residencial" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:text="@string/tel_celular" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:orientation="horizontal" >
<EditText
android:id="@+id/editTelefone"
android:layout_width="140dp"
android:layout_height="40dp"
android:inputType="phone" />
<EditText
android:id="@+id/editCelular"
android:layout_width="140dp"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:inputType="phone" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:text="@string/email" />
<EditText
android:id="@+id/editEmail"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:inputType="textEmailAddress" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/senha" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="100dp"
android:text="@string/senha_confirmar" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:orientation="horizontal" >
<EditText
android:id="@+id/editSenha"
android:layout_width="140dp"
android:layout_height="40dp"
android:inputType="textPassword" />
<EditText
android:id="@+id/editConfirmarSenha"
android:layout_width="140dp"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:inputType="textPassword" />
</LinearLayout>
<Button
android:id="@+id/btnContinuar"
android:layout_width="120dp"
android:layout_height="40dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="15dp"
android:text="@string/btn_continuar"
android:textSize="14dp"
android:textStyle="bold" />
</LinearLayout>
</ScrollView>
cadastro_enderecos.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#f1f1f1" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<include layout="@layout/include_header_cadastro" />
<include layout="@layout/include_subheader_cadastro" />
<TextView
android:id="@+id/txtTituloCadastro"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:gravity="center_horizontal"
android:text="@string/texto_explicativo"
android:textColor="#000000"
android:textSize="12dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:text="@string/endereco_cep" />
<EditText
android:id="@+id/editEnderecoCep"
android:layout_width="140dp"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:inputType="number" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:text="@string/endereco_rua" />
<EditText
android:id="@+id/editEnderecoRua"
android:layout_width="290dp"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:inputType="text" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/endereco_numero" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="100dp"
android:text="@string/endereco_complemento" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:orientation="horizontal" >
<EditText
android:id="@+id/editEnderecoNumero"
android:layout_width="140dp"
android:layout_height="40dp"
android:inputType="number"
android:maxLength="11" />
<EditText
android:id="@+id/editEnderecoComplemento"
android:layout_width="140dp"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:inputType="text" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/endereco_bairro" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="115dp"
android:text="@string/endereco_cidade" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:orientation="horizontal" >
<EditText
android:id="@+id/editEnderecoBairro"
android:layout_width="140dp"
android:layout_height="40dp"
android:inputType="text" />
<EditText
android:id="@+id/editEnderecoCidade"
android:layout_width="140dp"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:inputType="text" />
</LinearLayout>
<Button
android:id="@+id/btnFinalizarCadastro"
android:layout_width="120dp"
android:layout_height="40dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="15dp"
android:text="@string/btn_finalizar_cadastro"
android:textSize="14dp"
android:textStyle="bold" />
</LinearLayout>
</ScrollView>
criei um DAo para cada operacao
um dao para salvar o usuario no banco
e um dao para salvar o endereco
agora minha duvida
como eu vou saber que eu tenho que salvar o endereco
para o usuario “x”???
posso passar o dao via bundle???
código das activitys
CadastroActivity.java
package br.com.tudaki.activitys;
import java.util.Calendar;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.Toast;
import br.com.tudaki.dbUtils.UsuarioDao;
import br.com.tudaki.domain.Usuario;
public class CadastroActivity extends Activity {
private Button btnContinuar;
private Button btnVoltarLogin;
private Intent intent;
private EditText editNome;
private EditText editSobreNome;
private EditText editCpf;
private EditText editRg;
private EditText editTelResidencial;
private EditText editTelCelular;
private EditText editEmail;
private EditText editSenha;
private EditText editConfirmacaoSenha;
private EditText editSexo;
private EditText editNascimento;
private String escolhaSexo;
static final int DATE_DIALOG_ID = 0;
private int mYear;
private int mMonth;
private int mDay;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cadastro);
editNome = (EditText) findViewById(R.id.editNome);
editSobreNome = (EditText) findViewById(R.id.editSobreNome);
editCpf = (EditText) findViewById(R.id.editCpf);
editRg = (EditText) findViewById(R.id.editRg);
editTelResidencial = (EditText) findViewById(R.id.editTelefone);
editTelCelular = (EditText) findViewById(R.id.editCelular);
editEmail = (EditText) findViewById(R.id.editEmail);
editSenha = (EditText) findViewById(R.id.editSenha);
editConfirmacaoSenha = (EditText) findViewById(R.id.editConfirmarSenha);
final Usuario user = new Usuario();
user.setNome(editNome.getText().toString());
user.setSobreNome(editSobreNome.getText().toString());
user.setCpf(editCpf.getText().toString());
user.setRg(editRg.getText().toString());
user.setTelResidencial(editTelResidencial.getText().toString());
user.setTelCelular(editTelCelular.getText().toString());
user.setEmail(editEmail.getText().toString());
user.setSenha(editSenha.getText().toString());
user.setConfirmacaoSenha(editConfirmacaoSenha.getText().toString());
// TODO na junção criar evento para ir para a tela de login//
btnVoltarLogin = (Button) findViewById(R.id.btnVoltarLogin);
btnVoltarLogin.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
UsuarioDao userDao = new UsuarioDao(CadastroActivity.this);
userDao.salvar(user);
intent = new Intent(CadastroActivity.this,
CategoriasActivity.class);
startActivity(intent);
}
});
btnContinuar = (Button) findViewById(R.id.btnContinuar);
btnContinuar.setOnClickListener(new OnClickListener() {
// Método que chamará a Activity Cadastro de Endereços - Esse método
// será executado no listener de click do botão
public void onClick(View v) {
intent = new Intent(CadastroActivity.this,
CadastroEnderecosActivity.class);
startActivity(intent);
}
});
// criar um dialog para escolha do sexo do usuário
editSexo = (EditText) findViewById(R.id.editSexo);
editSexo.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Resources res = getResources();
String titulo = res.getText(R.string.titulo_dialog_sexo)
.toString();
String sexoM = res.getText(R.string.sexo_masculino).toString();
String sexoF = res.getText(R.string.sexo_feminino).toString();
final CharSequence[] itens = { sexoM, sexoF };
AlertDialog.Builder builder = new AlertDialog.Builder(
CadastroActivity.this);
builder.setTitle(titulo);
builder.setIcon(R.drawable.logotipo);
builder.setSingleChoiceItems(itens, -1,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
escolhaSexo = (String) itens[which];
}
});
builder.setPositiveButton("Escolher",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
editSexo.setText(escolhaSexo);
}
});
AlertDialog alert = builder.create();
alert.show();
}
});
// Método para criar um data picker, para o usuário escolher data de
// Nascimento
editNascimento = (EditText) findViewById(R.id.editNascimento);
editNascimento.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
showDialog(DATE_DIALOG_ID);
}
});
// pegar data atual
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
}
/**
* método para atualizar o campo de texto com a data selecioanada
*/
public void updateDisplay() {
editNascimento.setText(new StringBuilder().append(mDay).append("/")
.append(mMonth + 1).append("/").append(mYear));
}
private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth;
updateDisplay();
}
};
protected Dialog onCreateDialog(int id) {
if (id == DATE_DIALOG_ID) {
return new DatePickerDialog(this, mDateSetListener, mYear, mMonth,
mDay);
}
return null;
}
@Override
/**
* Criando o menu
*/
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.layout.menu, menu);
return true;
}
/**
* Evento para tratar cada seleção de menu individualmente
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menuInicio:
Toast.makeText(CadastroActivity.this, "Menu Inicio selecionado",
Toast.LENGTH_LONG).show();
return true;
case R.id.menuMercados:
Toast.makeText(CadastroActivity.this, "Menu Mercados selecionado",
Toast.LENGTH_LONG).show();
return true;
case R.id.menuMapa:
Toast.makeText(CadastroActivity.this, "Menu Mercado selecionado",
Toast.LENGTH_LONG).show();
return true;
case R.id.menuBuscar:
Toast.makeText(CadastroActivity.this, "Menu Buscar selecionado",
Toast.LENGTH_LONG).show();
return true;
case R.id.menuLista:
Toast.makeText(CadastroActivity.this, "Menu Lista selecionado",
Toast.LENGTH_LONG).show();
return true;
case R.id.menuSobreNos:
Toast.makeText(CadastroActivity.this, "Menu Sobre Nos selecionado",
Toast.LENGTH_LONG).show();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
CadastroEnderecoActivity.java
package br.com.tudaki.activitys;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class CadastroEnderecosActivity extends Activity{
private Intent intent;
private EditText editCep;
private EditText editRua;
private EditText editNumero;
private EditText editComplemento;
private EditText editBairro;
private EditText editCidade;
private Button btnFinalizarCadastro;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.cadastro_enderecos);
btnFinalizarCadastro = (Button)findViewById(R.id.btnFinalizarCadastro);
btnFinalizarCadastro.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
intent = new Intent(CadastroEnderecosActivity.this, FinalizacaoParte1Activity.class);
startActivity(intent);
}
});
editCep = (EditText) findViewById(R.id.editEnderecoCep);
editRua = (EditText) findViewById(R.id.editEnderecoRua);
editNumero = (EditText) findViewById(R.id.editEnderecoNumero);
editComplemento = (EditText) findViewById(R.id.editEnderecoComplemento);
editCidade = (EditText) findViewById(R.id.editEnderecoCidade);
}
@Override
/**
* Criando o menu
*/
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.layout.menu, menu);
return true;
}
/**
* Evento para tratar cada seleção de menu individualmente
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menuInicio:
Toast.makeText(CadastroEnderecosActivity.this, "Menu Inicio selecionado",
Toast.LENGTH_LONG).show();
return true;
case R.id.menuMercados:
Toast.makeText(CadastroEnderecosActivity.this, "Menu Mercados selecionado",
Toast.LENGTH_LONG).show();
return true;
case R.id.menuMapa:
Toast.makeText(CadastroEnderecosActivity.this, "Menu Mapas selecionado",
Toast.LENGTH_LONG).show();
return true;
case R.id.menuBuscar:
Toast.makeText(CadastroEnderecosActivity.this, "Menu Buscar selecionado",
Toast.LENGTH_LONG).show();
return true;
case R.id.menuLista:
Toast.makeText(CadastroEnderecosActivity.this, "Menu Lista selecionado",
Toast.LENGTH_LONG).show();
return true;
case R.id.menuSobreNos:
Toast.makeText(CadastroEnderecosActivity.this, "Menu Sobre Nos selecionado",
Toast.LENGTH_LONG).show();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
