2013-07-15 22 views
1

後,我要刪除我的應用程序的SQLite數據庫,由於一些原因:重新創建內容提供商刪除

this.deleteDatabase(contentProvider.getDatabaseName()); 

我希望重建後,我的數據庫文件。

我在documentation,上面寫着:

onCreate is called for all registered content providers on the application main thread at application launch time. 

這是我在做什麼在OnCreate中在啓動時創建的數據庫:

@Override 
    public boolean onCreate() { 
     try { 
      contentProviderHelp = new ContentProviderHelp(); 

      userInfoTable = new UserInfoTable(contentProviderHelp); 
      employeeInfoTable = new EmployeeInfoTable(contentProviderHelp); 
      productsTable = new ProductsTable(contentProviderHelp); 

      db = new DbMetadata(userInfoTable, employeeInfoTable, productsTable); 
      ddlHelp = new DDLHelper(db); 

      matcher = new UriMatch(userInfoTable, employeeInfoTable, productsTable, new UriMatcher(UriMatcher.NO_MATCH)); 

      dbHelp = new DatabaseHelper(getContext(), DATABASE_NAME, DATABASE_VERSION, ddlHelp); 
      projectionMaps = new ProjectionHelper(db); 
      return true; 
     } catch (Exception e) { 
      return false; 
     } 
    } 

你能不能幫我,我怎麼可以重建的ContentProvider數據庫文件的刪除後?

+0

可能的重複[如何強制手動刪除數據庫時重置內容提供程序](http://stackoverflow.com/questions/16113783/how-to-force-a-content -provider到復位時,手動刪除的數據庫) – njzk2

回答

1

只需在此處爲您創建一個靜態函數DatabaseHelper並提供當前上下文作爲參數。在您的DatabaseHelper中,您可以重新創建數據庫