2012-03-01 56 views
5

我一直在製作Android 4.0上的項目,並且面對新版Android的一些棄用類型。已棄用的東西的名稱出現黑線。但是,儘管存在黑線和棄用警告,我仍然可以使用這些棄用的類,並且項目正在成功運行。我對棄用感到困惑。如果它們已被棄用,我仍然可以如何使用它們以及棄用意味着什麼?如果我在項目中使用棄用的類,那麼項目用戶可能遇到的可能的缺點是什麼?Android上的棄用Classess

感謝您的閱讀。

回答

6

不推薦意味着它們可能會在未來版本的平臺中被刪除,因此您應該開始考慮在代碼中替換它們的用法。

如果他們只是刪除類型,然後構建會打破,人們不會高興!

就其對應用程序用戶的影響而言,應該沒有任何影響。但是,當您將軟件更新到下一版本的Android時,可能會發現已棄用的類型不再存在,並且您的構建將會中斷。

維基百科有這裏好就可以了文章:http://en.wikipedia.org/wiki/Deprecation

+0

這也意味着我必須修正我的Android的知識,我已經收到了我的項目的未來。謝謝Nick。 – 2012-03-01 13:14:47

0

往往是一些類型的類已棄用,但你仍然可以繼續使用它們,因爲更新的應用和實施,你將不得不修改源代碼的類。

但是,如果您發現有未使用的類比稍後即將推出的應用程序更好,不再使用它們,我個人將它與ClipboardManager一起使用,並使用以前仍在使用的應用程序。

1

不要忘記,這些類可能被棄用的原因。它可能會影響您的應用程序的安全性或穩定性。 如果您發現有錯誤或缺陷,它可能永遠不會被糾正。

同樣檢查他們建議使用什麼類來代替,如果有的話。

關於你對新的Android版本的憂慮:

的Android版本是向後兼容的

由有關的其他棄用類的話題在Android工程師確認here。因此,您應該可以在新版本上使用您的應用程序。

如果你希望你的應用程序,同時使用代碼中的「新」類與舊版本的Android兼容,檢查this related topic

3

長話短說只使用上運行過低的API的系統已過時的方法,以支持更新的方法。這樣,您就可以在只能使用過時的方法時,你必須支持舊設備支持更廣泛的設備。下面的代碼示例。

int sdk = android.os.Build.VERSION.SDK_INT; 
    if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) { 
     setBackgroundDrawable(); // deprecated method for older devices 
    } else { 
     setBackground(); // updated method for newer devices 
    } 

CHEERS :)