2010-06-07 152 views
1

我正在玩Android SDK,以便爲朋友(也許可以出售)寫一個簡單的應用程序。SQLiteOpenHelper,當onCreate調用

這個應用程序將搜索數據庫的關鍵字和顯示在屏幕上的結果,我已經看過searchabul dictonary和記事本演示應用程序,但我仍然有點不確定一些事情。

我知道我需要編寫一個擴展SQLiteOpenHelper的類,並使用它來創建數據庫,但是如何檢查數據庫是否已經存在?

onCreate在安裝時還是每次創建類的實例時都會調用?是簡單的方法,只是每次嘗試添加數據庫並捕獲任何錯誤(感覺有點危險,因爲每個錯誤都會由於數據庫已經存在而產生錯誤)。

在此先感謝。

+1

順便說一句,你的問題的標題是一種誤導 – m6tt 2010-06-07 16:55:40

+0

我同意m6tt,我已經修改它更好。 – 2011-09-17 15:38:35

回答

2

您的SQLiteOpenHelper將處理數據庫的創建。一旦在用戶手機上創建了數據庫,在更改數據庫版本號之前,SQliteHelper會很開心。

只要你把你的數據庫創建代碼放在SQLiteOpenHelper的onCreate方法中就可以了。

看一看從記事本演示的onUpgrade方法,因爲你需要編寫一些代碼來處理時會發生什麼你的數據庫試圖將自身升級(當您更改數據庫的版本號也將做到這一點)

+0

謝謝,這正是我所希望的...... onCreate聽起來有點像一個沼澤標準構造函數(即使我在Android Java中也見過構造函數)。另外感謝關於onUpdate的提示,我再次在notpad演示中看到它,並認爲它是做了什麼但不確定。 P.S.我同意這個問題的標題...我只是想不到一個更好的:) – 2010-06-07 17:40:57

-1

無論何時調用helper.getWritableDatabase(),都會調用onCreate方法。

+3

「每當」是不正確的。如果數據庫文件不存在,它只會被調用一次。 – laalto 2015-02-05 12:59:21

相關問題