2012-05-04 43 views
1

你會選擇哪種Android API版本開始開發新的Java應用程序?Android API 2.2.1是否已經過時無法使用?

最近我收到了一款運行Android 2.2.1的舊智能手機。由於我從來沒有嘗試過移動開發,所以我決定將它作爲一個機會來嘗試開發一款適用於Android的新應用。

我從一年的Java工作,我感覺很舒服,所以既然我已經作爲一個獨立的軟件供應商工作,我會嘗試在Android市場上銷售應用程序,如果我能夠做一個好的一。

我不想開始開發過時的API版本,所以我問是否開始我的開發和使用Android級別API的8級的學習努力是更好的選擇,或者如果最好使用更新版本的API。

我讀到S.O.上的why is Android API level 9 obsolete?Which Android API to use?。大致相同的論點,但這兩個問題現在都已經過時了,我認爲他們留下了一些問題。

尤其揚Dragsbaek他回答說:

你應該總是去儘可能低的API使用。只需 ,因爲您的API級別越低,您可以覆蓋的用戶就越多。

所以看current stats,你卻可以達到97.9%,如果你「啞巴」你自己到API 7級

但爲什麼API 9級是過時了嗎?人們無法確定,但很可能是因爲它有一些重大缺陷。

閱讀actual stats,這是情況:

Platform  Codename   API-Lvl Distribution 
Android 1.5  Cupcake    3  30,00% 
Android 1.6  Donut    4  70,00% 
Android 2.1  Eclair    7  550,00% 
Android 2.2  Froyo    8  20,90% 
Android 2.3  Gingerbread   9  0,50% 
Android 2.3.2 - 
Android 2.3.3 -     10  63,90% 
Android 2.3.7 -  
Android 3.0  Honeycomb   11  0,10% 
Android 3.1  -     12  1% 
Android 3.2  -     13  2,20% 
Android 4.0 - Ice Cream Sandwich 14  0,50% 
Android 4.0.2 -  
Android 4.0.3 -     15  4,40% 
Android 4.0.4   
Total for Android 2.2      93,50% 

現在的問題是:什麼會失去我,如果我在功能方面API的8級開發?在穩定性或工具支持方面我會獲得什麼?

編輯:

我終於選擇使用API​​,它提供了我,我真的需要開始嘗試在我的新手機功能的7級。最終,當我認爲該應用程序需要某些當前級別不具備的功能時,我會將應用程序移植到API的下一個級別。

現在,我會嘗試關注Building a Custom Fancy ListView in Android,看看我是否從一開始就缺少真正有用的東西。

+0

我不認爲這個問題符合SO準則。這太主觀了。 –

+0

我客觀地詢問從版本級別8到實際的API有哪些功能和修改。 –

+0

只需使用新的API進行開發,並閱讀http://developer.android.com/training/backward-compatible-ui/index.html上的向後兼容參考資料。沒有理由僅僅因爲大多數用戶目前正在使用舊APIS而限制自己。時間會改變。另外你可以玩所有的新功能:) – Jack

回答

2

我認爲您也應該看看您的要求。繪製您的應用絕對必需的API,並縮小到您可以使用的最低Android API級別。因爲如果您使用較低的API級別,則外展會更加正確。儘管如此,如果您仍然對較低的API級別感到不適,並且發現自己受限制,那麼您可以使用Android Support Libraries。從支持庫的描述引用:

支持包包括靜態「支持庫」,您可以將其添加到您的Android應用程序中,以便使用舊版平臺無法使用的API或提供「工具「API不屬於框架API的一部分。我們的目標是通過提供更多的API來簡化您的開發,這些API可以與您的應用程序捆綁在一起,以便您不必擔心平臺版本。

2

等級9已經過時,因爲等級10完全取代了它。另一種說法是,Android 2.3.3取代了Android 2.3,所以如果你瞄準2.3設備,那麼你就使用2.3.3 API。級別8沒有過時,因爲沒有類似的API級別來取代它(所有的2.2更新仍然是級別8)。

至於丟失,你可以看看list of all the new features in API 9(API 10確實沒有任何重大的新功能,但你也能檢查它在同一地點)的功能。如果你不需要任何這些功能,那麼不需要瞄準2.3.3。在2.2和2.1之間再次相同;正如你所說的那樣,與具有你想要的功能的最低級別一起去。從經驗上講,2。1提供了您應該需要的所有常用功能 - 互聯網,存儲,圖形(雖然高級圖形會隨着您的進展而變得更好),UI等。

+0

我認爲我的應用程序不需要特定的高級功能,我想我會按照您的建議使用2.1。謝謝。 –

0

你既不會增加也不會鬆動。

與級別10相比,級別9已過時。級別9爲GINGERBREAD,級別10爲薑餅維護版本1,即bug修復。

8級是2.2級7級是2.1他們沒有過時,只是老了。

+0

我不明白你爲什麼說9級已經過時,而7級不是。不是9級以上? –

+1

'過時'並不意味着'老'。這意味着「被某物取代了」。他們用API 10替換了API 9,因爲該版本中存在有API 9的錯誤。它們從來沒有取代API 7 –