2
  1. 我在 android 上有一个 9 级应用程序,我想知道我是否可以在同一个项目中使用 11 级(Android 3.0)的新功能?
  2. 对于 3.0 平板电脑版本,我的布局将包含片段。如何使用这些片段并让 9 级版本成功构建和运行?
  3. 我可以为不同的 API 级别(在 res/layout 中)定义不同的布局吗?
  4. 如果我保留 2 个版本,一个用于平板电脑,另一个用于手机,我可以将其添加到具有相同包名的 android-marketplace 中吗?
4

2 回答 2

3

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

是的,正如 Willis 先生所建议的那样,通过反射或条件类加载。这是一个示例应用程序,它为操作栏演示了这一点,也是 API 级别 11 的新内容。

对于 3.0 平板电脑版本,我的布局将包含片段。如何使用这些片段并让 9 级版本成功构建和运行?

使用Android 兼容性库

我可以为不同的 API 级别(在 res/layout 中)定义不同的布局吗?

是的,通过-vNN资源集后缀(例如,res/layout-v11)。但是,您应该尽量减少这种情况。

如果我保留 2 个版本,一个用于平板电脑,另一个用于手机,我可以将其添加到具有相同包名的 android-marketplace 中吗?

不。

于 2011-03-18T15:25:57.707 回答
0

这个问题和答案似乎很有帮助。

官方文档还涵盖了Backward Compatibility for Applications中的解决方案。

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

建议使用反射,它允许您在运行时以编程方式搜索类和方法的存在。

至于布局,请尝试查看Supporting Multiple Screen Sizeslayout-xlarge您可以使用不同的布局大小。

如果我保留 2 个版本,一个用于平板电脑,另一个用于手机,我可以将其添加到具有相同包名的 android-marketplace 中吗?

您不能为两个不同的应用程序使用相同的包名称。

如果您的代码因您使用的 API 版本而存在很大差异,您可能希望分叉您的代码,然后当您确信您的大多数用户群已升级到您需要的 API 级别时再次合并它。

于 2011-03-18T14:27:12.653 回答