2013-02-12 70 views
3

所以我只需将最低API级别提高到11就可以了(偏好资源已被折旧) - 结果是9-10取得了50%的市场份额。所以我的问题是,仅仅为了迎合姜饼市场而压制警告还是有另一种方法可以让我的偏好引用不使用偏好片段?提高我的最低API级别的更好方法?

+1

为什么不使用Eclipse提供的设置Activity?正如@ wtsang02所说,弃用并不意味着不可用。事实上,你必须在2.3中使用“不推荐使用的3.0”方法,因为那里没有片段。 – 2013-02-12 22:57:13

回答

4

我会实现这两种类型(工作在11+和工作在10-),然后使用条件检查他们。这在this answer中写得相当详细。

基本上,您最终设置了OtherPreferencesActivityPreferenceFragment,然后PreferencesActivity与不赞成的PreferenceActivity(您的APK将不会被包括这个过时的代码打破,只要你使用的版本检查,因此如果/当它在未来是删除,它不会尝试找到它。)

if (Build.VERSION.SDK_INT < 11) { 
    startActivity(new Intent(this, PreferencesActivity.class); 
} else { 
    startActivity(new Intent(this, OtherPreferencesActivity.class); 
} 

请记住,你会希望让他们尽可能地使用对方的方法,以免重复代码。

最后提示:@TargetApi(11)@SuppressWarnings("deprecation")会派上用场。只需小心,您不会因为这样做而忽略其他弃用。

0

“折旧”并不意味着您不能使用它并会在您运行代码时破坏您的系统。这意味着它是官方不推荐使用的,这种方法可能会从api中删除。将来我们不知道什么时候。所以我想说现在在这种情况下使用它是节省的。

相关问题