2012-12-07 14 views
5

Mam dwie metody w mojej klasie DBDriver na open i closesqlite database jak poniżej.Sprawdź, czy baza danych sqlite jest otwarta lub zamknięta w Androidzie

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(); 
    } 

Używam powyższych metod w mojej drugiej klasie, aby otworzyć i zamknąć sqlite database.

Chcę zidentyfikować bazę danych jest otwarta lub zamknięta. jak mogłem to zrobić?

+0

Nie wiem, dlaczego chcesz sprawdzić, czy baza danych jest otwarta lub zamknięta. ale jest używany, gdy chcesz pobrać/uzyskać dostęp do danych z bazy danych. Zanim przejdziesz do pobierania danych, musisz otworzyć bazę danych w uprawnieniach do odczytu/zapisu i po użyciu danych musisz je zamknąć. Mam nadzieję, że masz rację, jeśli chcesz, jak korzystać z otwartej i zamknąć bazę danych. –

+0

@iDroidExplorer Muszę dodać warunek w mojej aplikacji. dla niego chcę zidentyfikować bazę danych jest otwarta lub zamknięta. – Bishan

+0

OK, a następnie idź z odpowiedzią JustDanyul w swoim poście. dobrze jest ci pomóc. –

Odpowiedz

22

Można użyć isOpen() sprawdzić, więc w Twoim przypadku, to byłoby

database.isOpen() 

tylko wskazówka, podczas pracy z Java API opartego (lub jakiegokolwiek API dla tej sprawy), uczenie się korzystania z dokumentacji API jest kluczem. Dokumenty poinformują Cię, jakie metody są dostępne dla danej klasy. Na przykład masz instancję klasy SQLiteDatabase. Sprawdzanie Javadocs poniżej

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

jej dość trywialne do określenia sposobu, którego szukasz.

+4

+1 za miłą wskazówkę RTFM – Stephan

+0

Ho, czy robisz to w Maszynopisie? Otrzymuję: 'ERROR in ./app/pages/chats/chatsStorageService.ts (37,56): błąd TS2339: Właściwość 'isOpen' nie istnieje dla typu 'SQLite'." – Richard