当我的应用程序第一次启动时,它需要创建它将使用的数据库。如果数据库尚不存在,我不知道应该在什么时候创建数据库,并且我不知道如何确保如果数据库已经存在,我不会尝试创建它。CreateTable
目前,当我的应用程序中的第一个活动运行时,我执行以下工作:
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
base.SetContentView(Resource.Layout.SiteListLayout);
DataManager.CreateTable<Site>();
DataManager.CreateTable<PanelLog>();
DataManager.CreateTable<Trace>();
}
基本上,这是可行的,因为该CreateTable
方法会在创建表之前检查表是否已经存在。但是,我不喜欢轻率地运行一些代码的想法,因为它知道它会因为一些预期异常而失败。我宁愿更明确一点。
Therefore, how can I execute code the first time my app runs to test if the tables need to be created, and if so to create them? And any subsequent time my app runs it doesn't check that code.