SQLite
 sql >> Database >  >> RDS >> SQLite

Come posso dividere un lungo e singolo SQLiteOpenHelper in più classi, una per ogni tabella

pensi di poter dare qualche dritta su come farlo

Questo non ha molto a che fare con Android e nemmeno molto a che fare con Java. La scomposizione di lunghe strutture di programmazione (ad esempio, classi in Java) in strutture più piccole ha tecniche standard, chiamate modelli di progettazione, con implementazioni specifiche del linguaggio.

Ad esempio, potresti utilizzare il modello composito:

  • Definisci un'interfaccia -- la chiamerò TableHelper qui -- che ha onCreate() e onUpdate() metodi che corrispondono a quelli su SQLiteOpenHelper

  • Definisci N classi, una per tabella, che implementano TableHelper interfaccia e fornisci la logica di creazione e aggiornamento per quella tabella (insieme a qualsiasi altra logica aziendale che desideri avere su quelle classi)

  • Avere il tuo SQLiteOpenHelper definire un TableHelper[] contenente istanze del tuo TableHelper classi e fargli delegare onCreate() e onUpgrade() a quei TableHelper istanze eseguendo un'iterazione sull'array