Relationship one to many java (android)

0

How can I create a one-to-many relationship in Android, how would it be the best way? I have this kind BDPlan , a plan has 1 to many Activities and I would like to know how to represent this relationship between tables

public class BDPlan extends SQLiteOpenHelper{

    Inicio inicio;

    public static final String DB_NOMBRE="planes.plan";
    public static  int DB_SCHEME_VERSION=1;

    public static final String NOMBRE_TABLA="plan";

    public static final String CN_ID="p_id";
    public static final String CN_DENOMINACION="p_denominacion";
    public static final String CN_INDIVIDUAL="p_individual";
    public static final String CN_MENSUAL="p_mensual";
    public static final String CN_ANUAL="p_anual";
    public static final String CN_FECHAINICIO="p_fechainicio";
    public static final String CN_FECHAFIN="p_fechafin";
    public static final String CN_DESCRIPCION="p_descripcion";

    private Context context;
    public BDPlan(Context context) {
        super(context, DB_NOMBRE, null, DB_SCHEME_VERSION);
        this.context = context;
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String queryCrearTabla = "create table " + NOMBRE_TABLA + " ("
                + CN_ID + " integer PRIMARY KEY AUTOINCREMENT, "
                + CN_DENOMINACION + " text, "
                + CN_INDIVIDUAL+ " INTEGER, "
                + CN_MENSUAL + " INTEGER, "
                + CN_ANUAL + " INTEGER, "
                + CN_FECHAINICIO + " text, "
                + CN_FECHAFIN + " text, "
                + CN_DESCRIPCION + " text"
                + ");";
        db.execSQL(queryCrearTabla);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int i, int i1) {
        db.execSQL("DROP TABLE IF EXISTS " + DB_NOMBRE);
        onCreate(db);
    }

    public ArrayList<Plan> getPlanList(){
        ArrayList<Plan> plans = new ArrayList<>();

        String query = "Select * From " + NOMBRE_TABLA;
        SQLiteDatabase db = this.getWritableDatabase();
        Cursor c =db.rawQuery(query, null);

        while (c.moveToNext()){
            Plan plan = new Plan();

            plan.setIdplan(c.getString(0));
            plan.setDenominacionplan(c.getString(1));
            plan.setIndividual(c.getInt(2));
            plan.setMensual(c.getInt(3));
            plan.setAnual(c.getInt(4));
            plan.setFechainicio(c.getString(5));
            plan.setFechafin(c.getString(6));
            plan.setDescripcionplan(c.getString(7));

            plans.add(plan);
        }
        db.close();

        return plans;
    }

    public ArrayList<Plan> getPlanListFiltro (String newText){
        ArrayList<Plan> plans = new ArrayList<>();

        String query = "Select * From " + NOMBRE_TABLA;
        SQLiteDatabase db = this.getWritableDatabase();
        Cursor c =db.rawQuery(query, null);

        while (c.moveToNext()){
            Plan plan = new Plan();

            plan.setIdplan(c.getString(0));
            plan.setDenominacionplan(c.getString(1));
            plan.setIndividual(c.getInt(2));
            plan.setMensual(c.getInt(3));
            plan.setAnual(c.getInt(4));
            plan.setFechainicio(c.getString(5));
            plan.setFechafin(c.getString(6));
            plan.setDescripcionplan(c.getString(7));

            if(plan.getDenominacionplan().contains(newText)){
                plans.add(plan);
            }
        }
        db.close();

        return plans;
    }

    public void InsertaP(ContentValues contentValues){
        SQLiteDatabase db = this.getWritableDatabase();
        db.insert(NOMBRE_TABLA,null,contentValues);
        db.close();
    }

    public void ModificarP(String p_id,String p_denominacion, int p_individual, int p_mensual, int p_anual, String p_fechainicio, String p_fechafin, String p_descripcion){

        ContentValues contentValues = new ContentValues();
        contentValues.put(CN_DENOMINACION, p_denominacion);
        if(p_individual == 1){
            contentValues.put(CN_INDIVIDUAL, "1");
        }else {
            contentValues.put(CN_INDIVIDUAL, "0");
        }
        if(p_mensual == 1){
            contentValues.put(CN_MENSUAL, "1");
        }else {
            contentValues.put(CN_MENSUAL, "0");
        }
        if(p_anual == 1){
            contentValues.put(CN_ANUAL, "1");
        }else {
            contentValues.put(CN_ANUAL, "0");
        }
        contentValues.put(CN_FECHAINICIO, p_fechainicio);
        contentValues.put(CN_FECHAFIN, p_fechafin);
        contentValues.put(CN_DESCRIPCION, p_descripcion);

        SQLiteDatabase db = this.getWritableDatabase();
        String [] args= new String[]{p_id};
        db.update(NOMBRE_TABLA,contentValues,"p_id=?",args);

        db.close();
    }
    public void EliminarP(String p_id){
        SQLiteDatabase db = this.getWritableDatabase();
        String [] args= new String[]{p_id};
        db.delete(NOMBRE_TABLA,"p_id=?",args);
        db.close();
    }
}
'
    
asked by Adrian Pang 10.05.2018 в 23:09
source

0 answers