
Cita: Originalmente Escrito por
kriogeN
Como poder hacer lo de tener una sola función add,delete,getAll para todas las tablas podrías, pero no es muy recomendable, es mejor cumplir el principio de responsabilidad única y tener un fichero por cada tabla de la BD.
Y si puedes hacer operaciones SQL tal cual, te pongo un ejemplo de operaciones SQL con modelo en una app que estoy desarrollando:
[php]
public boolean borrarOpciones(Ayuntamiento ayuntamiento) {
try {
database.execSQL("DELETE FROM " + TemporalesDBHelper.TABLA_OPCIONES + " WHERE "+columnas[0]+"=?", new Object[]{ayuntamiento.ayuntamiento});
} catch (SQLException e) {
return false;
}
return true;
}[/php]En este caso tengo un OpcionesDataSource, donde está la función, y recibe como parámetro una instancia de Ayuntamiento, que es un modelo de datos que contiene todos los campos de la tabla Ayuntamiento.
EDIT:
Te pongo el comienzo de la clase Ayuntamiento para que lo veas:
[php]
public class Ayuntamiento implements Parcelable {
\@SerializedName("Ayuntamiento")
public long ayuntamiento;
\@SerializedName("Nombre")
public String nombre;[/php]

Genial, no sabía que todo esto estaba tan establecido, es decir que en realidad en lugar de estar haciendo demasiado trabajo, estoy cumpliendo ciertos "estándares", me gusta
En realidad lo que me sorprende es que haya que hacer objetos de todo, demasiado acostumbrado a lenguaje web supongo

por ejemplo, para las 4 tablas que tengo... lo suyo sería hacer un objeto para cada uno, con sus setter y getters y su constructor, durante el programa rellenarlos por ejemplo, y entonces añadirlos a la base de datos, o recuperarlos y mostrar los datos, o bien editarlos y volver a meterlos en una instancia de ese objeto para almacenarlos, voy bien?.
Tengo esta clase:
[PHP]public class Parte {
private int id;
private String nombre;
private String apellido;
private String moreInfo;
public Parte(String nombre, String apellido, String moreInfo){
super();
this.nombre = nombre;
this.apellido = apellido;
this.moreInfo = moreInfo;
}
//Getters & Setters
public String toString(){
return "Parte [id=" + id + ", nombre=" + nombre + ", apellido=" + apellido + ", moreInfo=" + moreInfo + "]";
}
public String getNombre(){
return this.nombre;
}
public String getApellido(){
return this.apellido;
}
public String getMoreInfo(){
return this.moreInfo;
}
public int getId(){
return this.id;
}
public void setNombre(String nombre){
this.nombre = nombre;
}
public void setApellido(String apellido){
this.apellido = apellido;
}
public void setMoreInfo(String moreInfo){
this.moreInfo = moreInfo;
}
public void setId(int id){
this.id = id;
}
}[/PHP]
Ahí entiendo que el método toString es para utilizarlo a modo de log luego, porque para mostrarlo en una aplicación o trabajar con la base de datos no hace falta verdad? de hecho para mostrarla recuperaré datos y los listaré en un ListView o similar, no?.
Siento molestarte tanto, pero me ayudas mucho. Gracias de nuevo!