首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除后的ReCreate内容提供者

删除后的ReCreate内容提供者
EN

Stack Overflow用户
提问于 2013-07-15 18:57:01
回答 1查看 212关注 0票数 1

由于某些原因,我想在应用程序中删除我的sqlite数据库:

代码语言:javascript
复制
this.deleteDatabase(contentProvider.getDatabaseName());

我想在那之后重新创建我的数据库文件。

我在documentation上看到:

代码语言:javascript
复制
onCreate is called for all registered content providers on the application main thread at application launch time.

这就是我在启动时在OnCreate中创建db的过程:

代码语言:javascript
复制
@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吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-15 19:40:05

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17652605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档