2010-05-21 8 views
5

Se si estende SQLiteOpenHelper, per il costruttore è necessario utilizzare un contesto. Mi chiedo se c'è un modo per uscire da questo, ed essere in grado di lavorare con le tabelle del database senza un contesto.Come utilizzare SQLiteOpenHelper senza o con un uso meno restrittivo del contesto?

O almeno il meno restrittivo, intendo un modo di struttura di progetto/classe che renderà la cronologia le varie passate di contesto che devo fare ora.

Come è la mia applicazione ha diversi livelli di classi, concatenati l'uno nell'altro, e ce ne sono alcuni che si collegano al database, ma non hanno alcuna influenza sull'interfaccia, quindi non hanno effettivamente bisogno del Contesto.

Stai creando le tue classi nel modo in cui passi ogni volta un Contesto?
In caso negativo, come si fa, come riutilizzare un contesto in una classe breve?

risposta

3

Mi chiedo se c'è un modo per lasciare questo fuori, ed essere in grado di lavorare con le tabelle del database senza contesto.

Chiama openDatabase() su SQLiteDatabase.

Come è la mia applicazione ha diversi livello di classi, incatenato in ogni altra

Si ricorda che si tratta di un telefono cellulare si sta sviluppando per. Troppi livelli di astrazione ostacoleranno le prestazioni.

Stai creando le classi in modo che si passa ogni volta che un contesto a loro?

A volte sì, a volte no.

In caso negativo, come si fa, come riutilizzare un contesto in una classe breve?

Utilizzare classi interne.

+1

il problema con le classi interne è che fanno esplodere singoli file, che non è esattamente ciò che si vuole avere quando si programma object oriented. – Julian

+0

Sto affrontando lo stesso problema dello scrittore, ho separato la mia app in 3 livelli: UI, Logic, DB. Mi stavo chiedendo quale sarà la migliore scommessa? far esplodere il file dell'interfaccia utente con l'intero codice degli strati? – user2558461

Problemi correlati