我知道已经有很多 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/