0

在我的应用程序 android:minSdkVersion="8" 中,我收到以下警告。现在我的代码在 API 17 中没问题,你能告诉我我的应用程序在未来的 Android 版本中是否可以一直运行良好吗?谢谢!

构造函数 simplecursoradapter(context, int, cursor, string[], int[]) 已弃用

4

4 回答 4

2

这取决于那些人,他们何时可以删除它取决于他们。弃用的意思?在这儿。

通过查看 SimpleCursorAdapter 文档,您将获得两种方法。您使用的是 SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to) 另一个是 SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to, int flags) 在弃用之前的 API 11 后添加。

文档说_

此构造函数在 API 级别 11 中已弃用。不鼓励使用此选项,因为它会导致在应用程序的 UI 线程上执行游标查询,从而可能导致响应速度不佳甚至应用程序无响应错误。作为替代方案,将 LoaderManager 与 CursorLoader 一起使用。

所以你应该修改你的方法

if(android.os.Build.VERSION.SDK_INT >= 11) {
    //Call another constructor 
} else {
    //the constructor which you are calling
}
于 2013-05-20T08:19:08.923 回答
1

通常,当一个特性被弃用时,它们会提供一种新的方式来做同样的事情。你应该转向这种新的做事方式。

于 2013-05-20T08:19:00.887 回答
0

您现在可以使用它,但它也可能在将来消失。

于 2013-05-20T08:13:22.367 回答
0

已弃用的功能将被其他以更好或更有效的方式实现相同目的的功能所取代。

你的问题的答案:

你能告诉我我的应用程序在未来的 Android 版本中是否可以一直运行良好吗?

几乎可以肯定不会 - 已弃用的功能会在一定时间后逐步淘汰。

我的建议是尽快使用替换功能。将有更多的好处,而不仅仅是面向未来。

于 2013-05-20T08:29:26.557 回答