安裝後第一次運行應用程序時,需要創建數據庫表。那麼如何在安裝應用程序時第一次運行應用程序的狀態?我聽說過SharedPreferences但不熟悉它。任何代碼的幫助表示讚賞,並提前感謝...Android:單獨開始第一次應用程序時執行任務嗎?
回答
SQLiteOpenHelper有一個onCreate方法,如果數據庫不存在,並需要第一次創建,它會被調用。
使用它可以用表中需要的任何數據創建和初始化數據庫。
如果您只需在第一次運行時創建數據庫,則這是正確的答案。但是如果你需要像下載一樣的其他「首次運行檢查」,你應該考慮SharedPreferences作爲OP說 – 2012-03-12 11:15:43
但我必須插入值到數據庫表中,當應用程序第一次運行後單獨安裝... – 2012-03-12 11:45:16
@Raman -Mystry使用onCreate方法,您可以執行任何您想要的查詢。首先創建表格,然後用數據填充表格。 – zaf 2012-03-12 12:50:15
,如果你試圖插入在應用程序的數據庫中的值第一次運行,你可以把一個價值在sharedPref這樣的:
private static void SaveBooleanPreferences(String key, boolean value, Context context){
SharedPreferences sharedPreferences = context.getSharedPreferences(PREFS_NAME,0);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean(key, value);
editor.commit();
}
private static boolean getBooleanPreferences(String key, Context context){
SharedPreferences sharedPreferences = context.getSharedPreferences(PREFS_NAME,0);
return sharedPreferences.getBoolean(key, false);
}
您檢測在第一次運行的值之後嘗試插入進入數據庫,Android操作系統將爲您創建數據庫,無需自己創建數據庫!
+1爲好答案。我已經用下面的代碼實際解決了這個問題...我非常感謝你。 – 2012-03-12 13:01:28
@拉曼 - 邁特里:這是你的正確答案嗎? – daigoor 2012-03-13 14:38:50
我參照下面的代碼解決:
SharedPreferences prefs = getSharedPreferences("MyPreferences", Context.MODE_PRIVATE);
boolean haveWeShownPreferences = prefs.getBoolean("HaveShownPrefs", false);
if (!haveWeShownPreferences)
{
// launch the preferences activity
}
else
{
// we have already shown the preferences activity before
}
SharedPreferences prefs1 = getSharedPreferences("MyPreferences", Context.MODE_PRIVATE);
SharedPreferences.Editor ed = prefs1.edit();
ed.putBoolean("HaveShownPrefs", true);
ed.commit();`
- 1. 應用程序的第一次執行
- 2. 第二次打開應用程序時執行操作
- 3. Rails應用程序需要每月執行一次任務
- 4. 如何在第一次啓動時執行Android應用程序時的操作
- 5. 第一次運行原始應用程序時出錯
- 6. Android ::需要執行一些任務時,Android應用程序恢復不活動
- 7. Cocoa應用程序第一次打開
- 8. 應用程序第一次安裝時要執行的方法android
- 9. 從第一次執行的android異步任務回調
- 10. Android:在應用程序範圍外的單獨線程中運行任務
- 11. 如何構建一個.NET應用程序來同時和獨立地執行多次相同的任務?
- 12. 當設備上安裝的任何應用程序打開時執行任務?
- 13. 在第一次運行應用程序時,執行javascript與WebView.loadUrl不起作用
- 14. 在C#應用程序中同時執行多個任務,每個任務都在單獨的Windows用戶帳戶下執行多個任務
- 15. Android在任務鎖定時運行另一個應用程序
- 16. 如何檢查Android應用程序是否第一次打開
- 17. 初始屏幕僅在第一次啓動應用程序時打開
- 18. 在更新的應用程序第一次打開之前,可以打開應用程序擴展程序嗎?
- 19. Xamarin應用程序:「如何讓登錄表單成爲應用程序開始打開時的第一頁」?
- 20. Android Studio:執行任務應用程序失敗:processDebugResources
- 21. Android:錯誤:任務應用程序執行失敗:transformClassesWithPreJackPackagedLibrariesForDebug
- 22. Android Studio錯誤:執行失敗的任務':應用程序
- 23. Android錯誤:執行失敗的任務':應用程序:transformClassesWithDexForDebug'
- 24. 執行失敗的任務「:應用程序:transformClassesAndResourcesWithProguardForRelease」的Android
- 25. Android Studio 2.0 - 錯誤:任務應用程序執行失敗:compileDebugAidl
- 26. Android Studio中執行失敗的任務「:應用程序「dexDebug
- 27. Android Studio中執行失敗的任務 ':應用程序:externalNativeBuildDebug'
- 28. 在進程內每隔一段時間執行一次任務
- 29. pyqt4 - 單一應用程序 - 調出原始窗口以嘗試第二次打開應用程序
- 30. 第一次啓動iOS應用程序時檢測嗎?
這不是一個有效的問題!在您調用SQLiteDatabase實例後,Android將自動創建SQLlite數據庫! – daigoor 2012-03-12 11:02:02
@daigoor:一旦安裝了應用程序,那麼如何在第一次安裝時創建並在數據庫表中插入值? – 2012-03-12 11:40:28
確定安裝應用程序後,您需要打開它!只需插入任何你想要的值,Android操作系統將爲你處理數據庫的創建,不需要你自己創建它!嘗試搜索有關使用SQLite數據庫的更多資源 – daigoor 2012-03-12 12:09:54