2
  1. 我在android上有一個9級的應用程序,我想知道我是否可以在同一個項目中使用11級(Android 3.0)的新功能?
  2. 對於3.0平板電腦版本,我的佈局將包含片段。我如何使用這些片段並允許9級版本成功構建和運行?
  3. 我可以爲不同的API級別(在res/layout中)定義不同的佈局嗎?
  4. 如果我保留2個版本,一個用於手機的其他平板電腦,我可以使用相同的軟件包名稱將它添加到android-marketplace中嗎?

回答

3

我在android上有一個9級的應用程序,我想知道我是否可以在同一個項目中使用11級(Android 3.0)的新功能?

是的,通過反射或條件類加載,如威利斯先生所建議的。 Here is a sample application演示了這個動作欄,也是新的API級別11.

對於3.0平板電腦版本,我的佈局將包含片段。我如何使用這些片段並允許9級版本成功構建和運行?

使用Android compatibility library

我可以爲不同的API級別(在res/layout中)定義不同的佈局嗎?

是的,通過-vNN資源集後綴(例如res/layout-v11)。不過,你應該儘量減少這個。

如果我保留2個版本,其中一個用於手機平板電腦,我可以使用相同的軟件包名稱將它添加到android-marketplace中嗎?

+0

號是否有針對Android兼容性庫的任何文檔? – FARH 2011-03-24 17:24:58

+0

@FARH:通常,它與常規片段相同,但除了安裝庫時安裝的代碼示例以外,庫中沒有太多具體內容。 – CommonsWare 2011-03-24 23:21:11

0

This question答案似乎有幫助。

官方文檔還包括 Backward Compatibility for Applications的解決方案。

嘗試:http://android-developers.blogspot.com/2009/04/backward-compatibility-for-android.html

使用反射建議,它允許您以編程方式搜索的類和方法在運行時存在。

至於佈局,請嘗試檢出Supporting Multiple Screen Sizes。有不同的版面尺寸,例如您可以使用的layout-xlarge

如果我把2個版本,一個是平板電腦 其他的手機,我可以添加到 的Android的市場具有相同 包的名稱?

對於兩個不同的應用程序,不能使用相同的包名稱。

如果您的代碼根據您使用的API版本而有很大不同,那麼您可能希望分叉代碼,然後在您確信大部分用戶基礎已升級到所需的API級別後重新合併它。

相關問題