有人能给我解释一下本教程中的控制流程:http://www.vogella.de/articles/AndroidSQLite/article.html#tutorialusecp
我无法得到正确的流量。我完全是这个内容提供商的新手。
我想知道DB实际上是什么时候创建的,什么是生命周期方法,这个项目中的方法执行顺序是什么?

最佳答案

终于找到了水流!!
首先,内容提供者的onCreate是在应用程序启动时调用的,因为我们已经在manifest中注册了它。
然后,我们的第一个活动的onCreate,即todoverviewactivity的onCreate
fillData()的调用具有initLoader()调用,该调用反过来调用加载程序的onCreateLoader
然后,在这里

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

正在创建加载程序。查询ContentResolver并返回游标的加载程序。这个类以查询游标的标准方式实现加载程序协议,它构建在Asynctaskloader的基础上,以便在后台线程上执行游标查询,从而不会阻塞应用程序的UI。
这反过来导致调用datahelper和todotable等的onCreate(),这里每个人都知道sqliteopenhelper的流程。
最后,调用onLoadFinished()来交换光标并更新适配器。

关于android - 内容提供商中的生命周期/流控制?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9801579/

10-10 01:44