使用 11 之前的 Loader em API 版本
我正在使用 CursorAdapter
和 ContentProvider
,并且我想使用 CursorLoader
,因此我重新配置了我的项目以定位 API 11 并设置 min-sdk -ver 到 7。但是,当 Activity
调用使用 CursorLoader
的子Activity
时,它会崩溃。该错误是通过 IllegalStateException
传递的 NoClassDefFoundError
。
我的问题是,即使我们有相同的配置,我们是否可以在以前的 Android 版本中使用 Honeycomb API?
I am using a CursorAdapter
and ContentProvider
, and I want to use CursorLoader
, so I reconfigured my project to target API 11 and set min-sdk-ver to 7. However it crashes when an Activity
calls a sub-Activity
which uses the CursorLoader
. The error is NoClassDefFoundError
delivered via IllegalStateException
.
My question is can we use Honeycomb APIs in previous Android versions even if we have the same configs a have?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您希望在支持 API Level 11 之前的设备的 Android 应用程序中使用
CursorLoader
,则需要使用 Android 兼容性库 (ACL)。您可以通过 SDK 和 AVD Manager 下载该文件,并将 JAR 从 SDK 安装复制到您的项目中。然后,您需要使用support.v4
版本的加载器类,并继承自FragmentActivity
,这样您就可以调用getSupportLoaderManager()
来获取您的LoaderManager
的 ACL 版本。这篇博文(简要)描述了 ACL。使用
CursorLoader
的示例应用程序与 ACL 本身一起打包。您还可以查看有关使用 ACL 版本的CursorLoader 的教程
。If you wish to use
CursorLoader
in an Android application supporting pre-API Level 11 devices, you will need to use the Android Compatibility Library (ACL). You can download that via the SDK and AVD Manager and copy the JAR from your SDK installation into your project. Then, you will need to usesupport.v4
versions of the loader classes, plus inherit fromFragmentActivity
, so you can callgetSupportLoaderManager()
to get your ACL edition of theLoaderManager
.This blog post describes (briefly) the ACL. A sample app using
CursorLoader
is found packaged with the ACL itself. You can also review a tutorial on using ACL's edition ofCursorLoader
.