我正在寫一個android應用程序。我需要創建一個SQLite數據庫並在創建時填充它。所以我試圖在onCreate()函數中填充它。但是,要在數據庫中插入數據,需要使用db.getWritableDatabase()。但是不能在數據庫的onCreate()函數內執行此操作,因爲這意味着在創建數據庫期間調用數據庫(它會引發錯誤)。那麼如何在數據庫的onCreate()函數中使用getWritableDatabase()呢?如何在SQLite數據庫的onCreate()函數中使用getWritableDatabase? (Android)
0
A
回答
5
但是,要在數據庫中插入數據,需要使用db.getWritableDatabase()。
不,您需要一個SQLiteDatabase
實例。一個提供給您的SQLiteOpenHelper
的onCreate()
方法 - 使用它。
例如,在this sample project,我有一個onCreate()
,看起來像這樣:
@Override
public void onCreate(SQLiteDatabase db) {
try {
db.beginTransaction();
db.execSQL("CREATE TABLE constants (_id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, value REAL);");
ContentValues cv=new ContentValues();
cv.put(TITLE, "Gravity, Death Star I");
cv.put(VALUE, SensorManager.GRAVITY_DEATH_STAR_I);
db.insert("constants", TITLE, cv);
cv.put(TITLE, "Gravity, Earth");
cv.put(VALUE, SensorManager.GRAVITY_EARTH);
db.insert("constants", TITLE, cv);
// several more inserts here
cv.put(TITLE, "Gravity, Venus");
cv.put(VALUE, SensorManager.GRAVITY_VENUS);
db.insert("constants", TITLE, cv);
db.setTransactionSuccessful();
}
finally {
db.endTransaction();
}
}
+0
我目前正在使用你說的,但數據沒有被插入到數據庫! – 2013-03-27 16:00:39
+0
@ user2213396:然後顯然你的代碼中有一個錯誤,你需要修復。我發佈了一個樣例'onCreate()'和一個使用它的項目的鏈接。 – CommonsWare 2013-03-27 16:04:47
相關問題
- 1. 如何在SQLite數據庫的onCreate函數中使用getWritableDatabase()?
- 2. 如何在Android的onCreate方法創建SQLite數據庫?
- 3. 如何使用android中的SQLite數據庫從數據庫中選擇數據?
- 4. SQLite數據庫與我使用Android中SQLite數據庫條款
- 5. 在Android中使用SQLite數據庫
- 6. onCreate()不被getWritableDatabase()調用
- 7. 在Android中使用Fragment在SQLite數據庫中添加數據
- 8. 如何使用SUM函數從android中的sqlite數據庫返回值?
- 9. 如何在我的android活動中使用Sqlite數據庫?
- 10. SQLite數據庫中的Android
- 11. 如何查看保存在android數據庫(SQLite)中的數據?
- 12. 如何使用庫SQLite在Android Studio中保存數據?
- 13. 如何使用ContentValues和SQLiteOpenHelper在Android中修改sqlite數據庫?
- 14. 如何使用服務更新android中的sqlite數據庫
- 15. Android-SQLite數據庫
- 16. Android。 SQLite數據庫
- 17. sqlite數據庫android
- 18. Android SQLite數據庫
- 19. android通用SQLite數據庫
- 20. 如何通過使用函數從sqlite數據庫中獲取數據?
- 21. 如何在sqlite中刪除數據庫?
- 22. 如何使用android在android中刪除sqlite數據庫中的行?
- 23. 如何更新現有的SQLite數據庫中的數據android
- 24. 在Xamarin.Forms中使用SQLite數據庫
- 25. 在getWritableDatabase/getReadableDatabase後沒有調用onCreate
- 26. 如何從數據庫檢索數據庫在SQLite數據庫ina android
- 27. 如何確定SQLite數據庫的數據庫使用情況?
- 28. 如何在Android中使用數據庫?
- 29. 如何在android中使用數據庫?
- 30. SQLite無法在OnCreate方法中創建數據庫。 E/SQLiteLog:(1)
您可以編輯您的問題,包括您目前正在使用的代碼? – FoamyGuy 2013-03-27 15:57:37
檢查[this](http://www.codeproject.com/Articles/119293/Using-SQLite-Database-with-Android)。 – SudoRahul 2013-03-27 15:59:08
@FoamyGuy:onCreate的聲明如下所示:void onCreate(SQLiteDatabase db)。我只是使用db.insert()來放入值,它不工作.. – 2013-03-27 15:59:29