内容提供商的生命周期/流量控制?

时间:2012-03-21 09:15:53

标签: android sqlite android-contentprovider

有人可以在本教程中向我解释控制流程:http://www.vogella.de/articles/AndroidSQLite/article.html#tutorialusecp

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

我想知道实际创建数据库的时间,生命周期方法是什么以及此项目中方法执行的顺序是什么?

1 个答案:

答案 0 :(得分:3)

终于找到了Flow !! :

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

然后,我们的第一个活动的onCreate,即ToDodOverviewActivity的onCreate。 拨打fillData()的电话会有initLoader()来电,而后者会调用装载机的onCreateLoader

然后,在

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

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

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

最后,调用onLoadFinished(),然后交换光标并更新适配器。