Tutti gli SQL nella mia app ...
-
Dovrei limitarlo alla sua classe speciale? Ad esempio una classe MyDatabase che estende SQLiteOpenHelper e implementa tutte le tabelle create, definisce tutti i nomi delle tabelle, i nomi delle colonne, le query, contiene tutti i metodi CRUD per tutti i miei oggetti, ecc.
-
O dovrei mettere tutte queste cose negli oggetti reali e avere tutti gli oggetti che implementano un'interfaccia comune come "DatabaseModel" dove tutti i DatabaseModels implementano cose come creare, salvare, eliminare, onCreate, onUpgrade, ecc? Cosa scelgono le persone e perché?
-
Voglio sapere in che modo la maggior parte delle persone gestisce la creazione / l'aggiornamento. Nel mio caso ho i miei oggetti contengono molti degli stessi membri che fanno nel database SQL. Ad esempio, un oggetto Player potrebbe avere un ID, un nome, un testo su di me, ecc. Tale id corrisponderebbe all'ID auto-incrementato nel database. Ma nell'app, quando si compila per la prima volta i dati per quell'oggetto, non esiste ancora nel database, quindi l'ho impostato di default su un id di -1. Quindi se qualcuno vuole salvare l'oggetto, lo faccio controllare se l'id è negativo, e se è così, lo creo nel database e assegnerò l'oggetto immediatamente al metodo SQL. Altrimenti è un aggiornamento e avrà comunque l'id corretto. È questo che fa la maggior parte delle persone? Questa è una decisione valida?
Se qualcuno risponde, per favore fornisci qualche esempio di cosa intendi.