SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

Como posso dividir um SQLiteOpenHelper longo e único em várias classes, uma para cada tabela


você acha que poderia dar algumas dicas de como fazer isso?

Isso não tem muito a ver com o Android e nem tanto com o Java. A decomposição de estruturas de programação longas (por exemplo, classes em Java) em estruturas menores tem técnicas padrão, chamadas de padrões de projeto, com implementações específicas da linguagem.

Por exemplo, você pode usar o padrão composto:

  • Defina uma interface -- vou chamá-la de TableHelper aqui -- que tem onCreate() e onUpdate() métodos que correspondem aos do SQLiteOpenHelper

  • Defina N classes, uma por tabela, que implementam o TableHelper interface e fornecer a lógica de criação e atualização para essa tabela (juntamente com qualquer outra lógica de negócios que você deseja ter nessas classes)

  • Tenha seu SQLiteOpenHelper definir um TableHelper[] contendo instâncias do seu TableHelper classes e faça com que ele delegue onCreate() e onUpgrade() para aqueles TableHelper instâncias iterando sobre a matriz