2013-02-12 66 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中刪除。將來我們不知道什麼時候。所以我想說現在在這種情況下使用它是節省的。

相關問題