2017-05-04 110 views
6

我是Android開發的新手。儘管我提到了Android開發者website,但我沒有弄清楚。什麼是Android Studio的向後兼容性?

在自定義活動對話框,當我在Android Studio中取消選中了Backwards Compatiblity(Appcompat) 2.3.1給了我一個提示:

如果是假,本次活動的基類會活動,而不是AppCompatActivity

enter image description here

一般來說,有什麼事情的Android開發者更喜歡?支持向後兼容或沒有它?任何人都可以解釋我哪一個更好。

+1

請參閱https:// stackoverflow。com/a/38963902/115145和https://stackoverflow.com/a/36989121/115145瞭解更多背景信息。摘要中沒有「更好的」 - 您需要定義可以比較選項的標準。 – CommonsWare

回答

6

Android應用程序可以向後兼容,而無需選中此複選框。

如果是假,本次活動的基類會活動,而不是AppCompatActivity

Android的工作室讓你知道,如果你取消「向後兼容(程序兼容性)」複選框,然後你會包括使用庫Activity而不是AppCompatActivity的&。 兩者之間的詳細對比,看看這個:Activity, AppCompatActivity, FragmentActivity, and ActionBarActivity: When to Use Which?

一般來說,有什麼事情的Android開發者更喜歡?支持向後兼容或沒有它?

通過「CommonsWare」撰寫的評論解釋了這個最好的:

與選中複選框創建的活動沒有更多的向後兼容比是一個沒有那個複選框選中。選中該複選框可爲您的應用提供特定的外觀,以保留某些較舊設備的外觀和風格;未選中複選框意味着您的外觀和感覺的某些方面在Android 5.0之前的設備上會有所不同。不過,這並不影響該活動的核心功能。 - CommonsWare

+1

Android應用可以向後兼容,無需選中此複選框。 – CommonsWare

+0

的確如此。但是,如果在創建項目時選中「向後兼容性(Appcompat)」框,它將以適合向後兼容的方式構建項目。 –

+6

使用該複選框創建的活動不再向下兼容,沒有選中該複選框。選中該複選框可爲您的應用提供特定的外觀,以保留某些較舊設備的外觀和風格;未選中複選框意味着您的外觀和感覺的某些方面在Android 5.0之前的設備上會有所不同。不過,這並不影響該活動的核心功能。 – CommonsWare

5

向後兼容性允許您在應用程序中使用某些向後兼容的功能。他們將能夠使用以前版本的Android。

Android支持庫提供了一些未內置到框架中的功能的向後兼容版本。 (Android Support Library website)

例如,而不是ActivityAppCompatActivity會被使用的東西是「倒退」兼容。它可以一直用於API級別15.

+6

Android應用程序可以向後兼容,無需選中此複選框。 – CommonsWare

+1

啊,我應該澄清一點。我的錯。 –

-1

您通常應該使用AppCompatActivity來支持較舊的Android版本。如果你的應用程序不需要舊的Android版本,那麼只需使用Activity即可。

通常更推薦使用AppCompatActivity

+0

如上所述,這個選項隻影響你的應用程序的外觀,你也可以用「just」「Activity」支持舊的Andro版本。 – Qback