对Android API和兼容性感到困惑

Kei*_*ith 4 android

我已经购买了HTC Incredible并潜入了android的世界!只是发现自己完全混淆了API级别和向后兼容性.

我的设备运行2.1操作系统,但我知道大多数设备运行1.5或1.6; 很快2.2操作系统将在新设备上运行.SDK已经经历了如此巨大的变化,甚至常量已被重命名(例如,从VIEW_ACTION到ACTION_VIEW).已添加和删除方法(onPause替换之前的调用等).

所以,如果我想编写一个适用于1.6+的应用程序,那是否意味着我必须使用1.6 API安装和编写我的代码; 然后测试更高版本?或者我可以使用2.1 SDK编写并只设置minSDK级别而不使用"新"功能吗?

我从来没有使用过从版本到发布版本彻底改变SO的SDK!所以我不知道该怎么办......

我阅读了Android开发网站上的一篇文章(这篇关于堆栈溢出的帖子引用了它:是否应该使用SDK 2.1重建遗留的Android应用程序?),但对我来说仍然不是很清楚.任何帮助,将不胜感激

Com*_*are 5

SDK已经经历了如此巨大的变化,甚至常量已被重命名(例如,从VIEW_ACTION到ACTION_VIEW).已添加和删除方法(onPause替换之前的调用等).

这是两年前的平台测试版,之前有任何运输设备.从Android 1.0开始,几乎没有什么能够突破兼容性,主要是在移动到安全API中的设置领域,因此SDK应用程序不会弄乱它们.

所以,如果我想编写一个适用于1.6+的应用程序,那是否意味着我必须使用1.6 API安装和编写我的代码; 然后测试更高版本?或者我可以使用2.1 SDK编写并只设置minSDK级别而不使用"新"功能吗?

你看起来好像是互相排斥的.事实上,它们大致相同.

  • 将您的工具集保留在最新版本的Android开发工具上
  • minSdkVersion清单放入清单中,说明要支持的最低API级别
  • targetSdkVersion您的"目标"API级别放入您的清单中,以便Android可以应用一些兼容性帮助程序,如果您的应用程序在较新版本的Android上运行(通常,您"定位"当时的当前API级别)
  • 将代码主要写入您指定的API级别minSdkVersion,可选择使用反射条件类加载来访问支持它们的设备上的较新API
  • 测试您可以获得的所有内容,至少针对不同API级别的模拟器