【问题标题】:Life Cycle / Flow control in content Provider?内容提供者中的生命周期/流量控制?
【发布时间】:2012-03-21 09:15:52
【问题描述】:

谁能解释一下本教程中的控制流程:http://www.vogella.de/articles/AndroidSQLite/article.html#tutorialusecp

我无法获得正确的流程。我完全是这个内容提供商等的新手。

我想知道数据库实际上是什么时候创建的,生命周期方法是什么,这个项目中方法执行的顺序是什么?

【问题讨论】:

    标签: android sqlite android-contentprovider


    【解决方案1】:

    终于找到了流!! :

    首先,Content Provider 的onCreate 会在应用程序启动时被调用,因为我们已经在 Manifest 中注册了它。

    然后,我们的第一个 Activity 的 onCreate,即 ToDodOverviewActivity 的 onCreate。 对fillData() 的调用有initLoader() 调用,而initLoader() 调用又调用加载程序的onCreateLoader

    那么,这里

    CursorLoader cursorLoader = new CursorLoader(this,
                MyTodoContentProvider.CONTENT_URI, projection, null, null, null);
    

    创建加载器。一个查询 ContentResolver 并返回 Cursor 的加载器。此类以查询游标的标准方式实现 Loader 协议,构建在 AsyncTaskLoader 上以在后台线程上执行游标查询,这样它就不会阻塞应用程序的 UI。

    这反过来又会导致调用 DataHelper 和 ToDoTable 等的onCreate(),这里每个人都知道有关 SQLiteOpenHelper 的流程。

    最后,onLoadFinished() 被调用,这反过来交换光标并更新适配器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多