gpt4 book ai didi

android - 删除后重新创建内容提供者

转载 作者:行者123 更新时间:2023-11-30 03:29:46 24 4
gpt4 key购买 nike

由于某些原因,我想删除应用程序中的 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 吗?

最佳答案

对于这种情况,只需在 DatabaseHelper 中创建一个静态函数,并提供当前上下文作为参数。在您的 DatabaseHelper 中,您可以重新创建数据库

关于android - 删除后重新创建内容提供者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17652605/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com