2012-12-07 6 views
5

Ho due metodi nella mia classe DBDriver in open e closesqlite database come di seguito.Il database sqlite di controllo è aperto o chiuso in Android

private SQLiteDatabase database; 

/** 
    * Open Database to read and write. 
    * 
    * @throws SQLException 
    */ 
    public void open() throws SQLException { 
     database = dbHelper.getWritableDatabase(); 

    } 

    /** 
    * Close opened database. 
    */ 
    public void close() { 
     dbHelper.close(); 
    } 

sto usando metodi di cui sopra nella mia altra classe per aprire e chiudere sqlite database.

Desidero identificare il database aperto o chiuso. come potrei farlo?

+0

non so perché si desidera verificare l'apertura o la chiusura del database. ma viene utilizzato ogni volta che si desidera recuperare/accedere ai dati dal database. Prima di andare a recuperare i dati, è necessario aprire il database con il permesso di lettura/scrittura e dopo aver usato i dati è necessario chiuderlo. Spero che tu abbia capito il punto se vuoi, come usare l'open e chiudere il database. –

+0

@iDroidExplorer ho bisogno di aggiungere una condizione nella mia app. per questo voglio identificare il database è aperto o chiuso. – Bishan

+0

ok allora vai con la risposta di JustDanyul nel tuo post. è giusto per aiutarti. –

risposta

22

È possibile utilizzare isOpen() per controllare, così nel tuo caso, che sarebbe

database.isOpen() 

solo un suggerimento, quando si lavora con API Java (o qualsiasi API per questo), imparare ad usare la documentazione dell'API è la chiave. I documenti ti diranno quali metodi sono disponibili per ogni classe data. Ad esempio, hai un'istanza della classe SQLiteDatabase. Controllo dei javadocs sotto

http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html

sua piuttosto banale per identificare il metodo che si sta cercando.

+4

+1 per il bel suggerimento RTFM – Stephan

+0

Ho fatto questo in Typescript? Ottengo: 'ERRORE in ./app/pages/chats/chatsStorageService.ts (37,56): errore TS2339: la proprietà 'isOpen' non esiste sul tipo 'SQLite'. – Richard