La app consta en registrar en una base de datos una serie de datos.
Os dejo mis clases por orden de creación:
MainActivity
Código
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //ConexionSQLiteHelper conn=new ConexionSQLiteHelper(this,"bdTiendas",null,1); } Intent nueva_ventana = new Intent(MainActivity.this, registrarTienda.class); startActivity(nueva_ventana); } }
Utilidades (declaro variables y creo BBDD):
Código
public class Utilidades { public static final String CREAR_TABLA_TIENDA="CREATE TABLE"+TABLA_TIENDA+"("+CampoNumeroTienda+" INTEGER, "+CampoNombreTienda+ " TEXT,"+CampoMuelleFrio+" INTEGER, "+CampoMuelleFruta+" INTEGER,"+CampoMuelleSeco+" INTEGER,"+ CampoDireccion+" TEXT,"+CampoTelefono+" TEXT)";
Tienda (pongo los metodos set y get):
Código
public class Tienda { return numTienda; } this.numTienda = numTienda; } return nombre; } this.nombre = nombre; } return muelleFrio; } this.muelleFrio = muelleFrio; } return muelleFruta; } this.muelleFruta = muelleFruta; } return muelleSeco; } this.muelleSeco = muelleSeco; } return direccion; } this.direccion = direccion; } return telefono; } this.telefono = telefono; } this.numTienda = numTienda; this.nombre = nombre; this.muelleFrio = muelleFrio; this.muelleFruta = muelleFruta; this.muelleSeco = muelleSeco; this.direccion = direccion; this.telefono = telefono; } }
ConexionSQLiteHelper
Código
public class ConexionSQLiteHelper extends SQLiteOpenHelper { super(context, name, factory, version); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(Utilidades.CREAR_TABLA_TIENDA); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS tabla"); onCreate(db); } }
Registrar Tienda
Código
public class registrarTienda extends AppCompatActivity { EditText nombre_tienda,numero_tienda,muelle_frio,muelle_fruta ,muelle_seco,direccion,telf; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_registrar_tienda); nombre_tienda=(EditText) findViewById(R.id.nombreTienda); numero_tienda=(EditText) findViewById(R.id.numeroTienda); muelle_frio=(EditText) findViewById(R.id.muelleFrio); muelle_fruta=(EditText) findViewById(R.id.muelleFruta); muelle_seco=(EditText) findViewById(R.id.muelleseco); direccion=(EditText) findViewById(R.id.direccionTienda); telf=(EditText) findViewById(R.id.numTelfTienda); } registroTienda(); } private void registroTienda() { ConexionSQLiteHelper conn=new ConexionSQLiteHelper(this,"bdTiendas",null,1); SQLiteDatabase db=conn.getWritableDatabase(); //PROBLEMA ContentValues values=new ContentValues(); values.put(Utilidades.CampoNumeroTienda,numero_tienda.getText().toString()); values.put(Utilidades.CampoNombreTienda ,nombre_tienda.getText().toString()); values.put(Utilidades.CampoMuelleFrio,muelle_frio.getText().toString()); values.put(Utilidades.CampoMuelleFruta,muelle_fruta.getText().toString()); values.put(Utilidades.CampoMuelleSeco,muelle_seco.getText().toString()); values.put(Utilidades.CampoDireccion,direccion.getText().toString()); values.put(Utilidades.CampoTelefono,telf.getText().toString()); // Long idResultante=db.insert(Utilidades.TABLA_TIENDA,Utilidades.CampoNombreTienda,values); // Toast.makeText(getApplicationContext(),"Tienda: "+idResultante+" agregada",Toast.LENGTH_SHORT).show(); } }
Y el problema está en esta última clase, donde lo indico. Comento esta línea (y las que dependen de ella) y la app no se crashea, mientras dejánlosa sin comentar, peta.
Gracias de antemano.
EDITO 7/10/2017 20:20
Solucionado, me faltaba un espacio en la secuencia del create table. Gracias amigos.