由于某些原因,我想在应用程序中删除我的sqlite数据库:
this.deleteDatabase(contentProvider.getDatabaseName());我想在那之后重新创建我的数据库文件。
我在documentation上看到:
onCreate is called for all registered content providers on the application main thread at application launch time.这就是我在启动时在OnCreate中创建db的过程:
@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吗?
发布于 2013-07-15 19:40:05
在这种情况下,只需在DatabaseHelper中创建一个静态函数,并提供当前上下文作为参数。在DatabaseHelper中,您可以重新创建数据库
https://stackoverflow.com/questions/17652605
复制相似问题