Olá pessoal, tudo bem? estou desenvolvendo um app onde tenho que cadastrar uma pessoa direto no sqlite, e essa pessoa pode ter um endereço ou mais.
Então criei uma tabela usuarios e uma tabela enderecos, ambas no sqlite.
Para referenciar o usuario, na tabela endereco criei um campo integer user_id.
Legal,
Criei um DAO para salvar o usuario no banco(UsuarioDao) e um DAO para salvar o endereco(EnderecoDao)
meu cadastro de usuario esta em uma activity e, essa parte esta salvando normal no banco.
Agora quando vou para a próxima activity de salvar endereço é que estou entrando em parafusos aqui.
O campo id do usuario é auto increment.
Como eu vou passar o valor desse campo para salvar na tabela endereco?
segue código do meu DAO
deve ser coisa simples… mas sinceramente to apanhando D+++
valews
package br.com.tudaki.dbUtils;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.widget.Toast;
import br.com.tudaki.domain.Endereco;
public class EnderecoDao extends AbstractDao<Endereco> {
private SQLiteDatabase dataBase;
private DbHelper helper;
public EnderecoDao(Context context) {
helper = new DbHelper(context);
}
@SuppressWarnings("finally")
@Override
public boolean salvar(Endereco end) {
boolean retorno = false;
dataBase = helper.getWritableDatabase();
ContentValues values = new ContentValues();
try {
values.put("cep", end.getCep());
values.put("rua", end.getRua());
values.put("numero", end.getNumero());
values.put("complemento", end.getComplemento());
values.put("bairro", end.getBairro());
values.put("cidade", end.getCidade());
// inserir no banco
long resultado = dataBase.insert("enderecos", null, values);
if (resultado > 0) {
retorno = true;
} else {
retorno = false;
}
} catch (SQLiteException e) {
e.printStackTrace();
} finally {
dataBase.close();
return retorno;
}
}