【问题标题】:Better way of upping my Minimum API Level?提高我的最低 API 级别的更好方法?
【发布时间】:2013-02-12 22:49:03
【问题描述】:

所以我只需要将 Preference 的最低 API 级别提高到 11(addpreferenceresource 已折旧)——结果是 9-10 占据了 50% 的市场份额。所以我的问题是,最好只是抑制警告以迎合姜饼市场,还是有其他方法可以在不使用 Preference Fragments 的情况下做出我的偏好参考?

【问题讨论】:

  • 为什么不使用 Eclipse 提供的设置活动?正如@wtsang02 所说,弃用并不意味着不可用。事实上,你必须在 2.3 中使用“从 3.0 开始弃用”的方法,因为那里没有片段。

标签: android api sdk android-fragments android-preferences


【解决方案1】:

我会实现这两种类型(一种适用于 11+ 和一种适用于 10-),然后对它们使用条件检查。这在this answer中写得很详细。

基本上,您最终会使用PreferenceFragment 设置OtherPreferencesActivity,然后使用已弃用的PreferenceActivity 设置PreferencesActivity。 (您的 APK 不会因包含此已弃用的代码而中断,只要您使用版本检查,以便将来如果/当它被删除时,它不会尝试找到它。) p>

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

请记住,您会希望他们尽可能地使用彼此的方法,以免最终导致重复代码。

最后提示:@TargetApi(11) 和 @SuppressWarnings("deprecation") 在这里会派上用场。只是小心这样做不会忽略其他弃用。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2015-07-05
      • 2013-04-21
      • 1970-01-01
      • 1970-01-01
      • 2019-12-18
      • 1970-01-01
      • 2012-07-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多