sql >> Databáze >  >> RDS >> SQLite

Jak mohu rozdělit dlouhý, jeden SQLiteOpenHelper do několika tříd, jednu pro každou tabulku

myslíš, že bys mohl dát nějaké rady, jak to udělat

To nemá nic společného s Androidem a dokonce ani ne tolik společného s Javou. Rozložení dlouhých programovacích struktur (např. tříd v Javě) na menší struktury má standardní techniky, nazývané návrhové vzory, s implementacemi specifickými pro daný jazyk.

Můžete například použít složený vzor:

  • Definujte rozhraní – budu mu říkat TableHelper zde -- to má onCreate() a onUpdate() metody, které odpovídají těm na SQLiteOpenHelper

  • Definujte N tříd, jednu na tabulku, které implementují TableHelper rozhraní a poskytnout logiku vytvoření a upgradu pro tuto tabulku (spolu s jakoukoli další obchodní logikou, kterou chcete mít v těchto třídách)

  • Mějte svůj SQLiteOpenHelper definovat TableHelper[] obsahující instance vašeho TableHelper třídy a nechte jej delegovat onCreate() a onUpgrade() na tyto TableHelper instance iterací přes pole



  1. SQL Server:Úniky úrovně izolace mezi sdruženými připojeními

  2. Nápověda k případu aktualizace MySQL

  3. Mysql pro výběr měsíčního záznamu, i když data neexistují

  4. Průvodce PGpool - Rady a postřehy:Část třetí