luoj 2011-08-23
managedQuery和query的区别
我们都知道在Android系统中,SQLite数据库的相关操作方式被封装为内容提供 Content Provider,可以帮助那些不会SQL语言的开发者快速实现Android平台上的数据库操作,但是平时我们在查询时一般返回的是Cursor对象,从本质上来看这两个API是不同的类提供的。Android123提示比如 ContentResolver.query(),以及 Activity.managedQuery()所以,我们看到一个是ContentResolver提供的查询方法,位于android.content.ContextWrapper.getContentResolver(),另一个则为Activity。
这两种方法的参数是一样的,但是Activity类的方法在整个生命周期中受Activity的影响,而常规我们处理数据逻辑可能单独分成一个类,直接使用Context对象传递实例句柄,同时Android开发网还建议大家,对于数据库查询操作如果数据较为庞大尽量使用异步的 AsyncQueryHandler方法防止阻塞线程。