Android:如何为智能手机和平板电脑设计应用程序?

标签 android sdk backwards-compatibility android-3.0-honeycomb android-support-library

我知道已经有很多 blog entries , how to's , questions那里涵盖了 Android 3.0 应用程序的向后兼容性。

然而,在阅读完所有内容后,我只是比以前更加困惑了。 :(

我拥有的是一个支持最小值的智能手机应用程序。 SDK 版本 8 (2.2)。

我现在希望这个在智能手机上保持不变,但也在 Honeycomb 平板电脑上提供带有操作栏和 fragment 等的精美版本。

我知道有兼容包,但我读到的都是关于 Fragments 的。操作栏和全息主题有什么用?通过在我的平板电脑上将 targetSdkVersion 更改为“11”,我确实做到了这一点非常好和容易。我如何使用兼容包实现这一目标?

或者您认为开发两个不同版本的程序更好? (也许稍后将它们合并在一起?)

亲切的问候, 水母

最佳答案

保留一个 apk,只为您的平板电脑使用替代资源。

看看:

http://code.google.com/p/iosched/source/browse/#hg%2Fandroid%2Fres

这向您展示了如何在同一个 APK 中定位智能手机和平板电脑(带有蜂窝)的目录结构。

编辑

fancy version on Honeycomb

使用 Fragments 不会改变 honeycomb 中的 UI,它只是一种重用代码的方式。所以你不需要 Fragments 来让你的 UI 变得“花哨”

编辑 2

要查找当前运行的 Android 版本,您可以执行以下操作

int b = Integer.parseInt(Build.VERSION.SDK);              
if(b >= Build.VERSION_CODES.HONEYCOMB){
      Log.i(TAG, "Found A Tablet Running Honeycomb or newer");                  
 }

编辑 3

在您的 Activity 调用中 getActionBar();然后您可以访问此处所述的所有操作栏方法:http://developer.android.com/reference/android/app/ActionBar.html

关于Android:如何为智能手机和平板电脑设计应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6151725/

相关文章:

Android 将 LiveData<> 分配给 ListView

android - ADT 和 Android SDK 有什么区别?

asp.net - ASP.NET MVC 1 向前兼容 ASP.NET MVC 2 吗?

android - 如何让边框更平滑

android - Eclipse 无法识别我的 Android 手机

Android - facebook sdk登录窗口消失

PHP GAE 无法在本地运行 SDK

android - Android 应用程序是否向后兼容?

java - 升级到 JUnit4 并通过同时运行遗留 JUnit 3 测试和测试套件来保留它们

android - Android 回历(伊斯兰)日历的日期选择器?