2016-11-02 36 views
1

Android如何處理復古兼容性?Android中的復古兼容性

例如, 我在清單中放了一個min SDK 4.0。我的目標是7.0,讓我們說我使用ConstraintLayout。然而Android Studio不會拋出任何錯誤。

問題:

  • 它是否會出現還有一個4.0的設備上?
  • 如何以及爲什麼?
  • 爲什麼我們有時會看到諸如if (Build.VERSION.SDK_INT >= 9)的測試?
  • 應用程序如何執行這些測試通常處理他們無法訪問的功能(除了拋出錯誤「此功能在您的Android版本中不可用)?

回答

1

它會在4.0設備上顯示出來嗎?

它是支持庫的一部分。它應該以同樣的方式在任何地方展示,但你不能確定,它在每個設備上看起來都不錯。

如何以及爲什麼?

如何:支持庫。爲什麼,廠商自定義android。一些重量更少一些。

爲什麼我們有時會看到像if(Build.VERSION.SDK_INT> = 9) 這樣的測試?

通過支持庫,api的一部分可能沒有被反向移植。由於您正在編譯最新版本,因此您將能夠訪問api,該版本可能不適用於較早版本的android。 With

(Build.VERSION.SDK_INT >= 9) 

您正在檢查設備上是否至少安裝了Gingerbread。既然你是從Android的4起支持你不需要那麼檢查

如何應用程序執行這些測試通常處理的功能,他們 沒有訪問(除非拋出一個錯誤「這個功能是不是 可用你的android版本)

如果你指的是檢查API級別,那麼,如果沒有辦法重新實現相同的功能,而不使用缺少的方法,那麼他不會提供該版本的功能

+0

非常清楚。爲了清除目的,我的例子和薑餅上的測試之間沒有任何關係(我從某處粘貼它);我只是在尋找我得到的理論解釋。謝謝 ! –

+0

不客氣 – Blackbelt