2012-04-08 170 views
1

Android平台示例代码和来自Android开发人员网站的参考是基于平台1.5的。我了解到,较新的平台可以支持在较早的平台上开发的应用程序,但相互不适用,这有意义但编码不同?用于开发1.5应用程序的代码在新平台中仍然有用,或者有更新的类和方法替代它们?看起来eclipse在样本中与类和方法相关的编码错误很多,如果IME开发的应用程序无法在模拟器上查看,或者如何在设备上进行测试或检索?任何建议是欢迎...对不起,这是很长的平台兼容性问题

回答

0

如果你看SDK文件夹,在Windows上它将是c:\<SDK location>\samples\android-x样本根据api水平定位,所以他们肯定会在那里兼容,所以我会看看这些。

要回答你的其他问题,是的,当你进入一个api级别时,会出现api变化,所以它们会导致警告或编译错误,甚至可能会完全删除一些类。一般来说,低层次的东西不应该改变太多,但最重要的是除非原始实现中存在设计缺陷,否则语义学很少改变。

每个版本的发行说明通常会指出发生了什么变化,并且在我看来,联机文档通常非常好,可以告知您什么是过时的。如果你只是针对旧设备,那么你的模拟器只设置为针对这些API级别,但如果你关心功能,那么你可以使用API​​ 1.5编码说,并运行ICS api level 15模拟器,并检查一切正常,如果不行那么你决定最好的策略应该是什么。一般来说,我会建议针对移动设备的Android 2.2及更高版本和平板电脑的3.0以上,但实际上取决于您。

+0

我做了,它给类错误,例如这个类没有实例化,甚至一些字符串没有显示适当的单词,而是它给@string/....当我检查字符串XML的一切很好...这些错误混淆我假设样本将是正确的学习和构建... – 2012-04-08 22:53:55

+0

听起来很奇怪,我会从Eclipse中删除项目(但不是当然删除源代码),重新启动Eclipse,加载项目再次,做一个完整的重建,并看到它现在好 – EdChum 2012-04-08 22:57:38

+0

我做了,你是正确的一切看起来不错,现在也在你的专业意见我知道样品是作为你是否会说技术上他们是正确的,开发者的调整是偏好而非必要的?我想知道样品的功能,他们只是图形修改 – 2012-04-08 23:32:49

0

三是不赞成,不能再使用的类,如Contacts.People。还有一些不推荐使用的类,它们仍然可以使用,但应该在新项目中避免它们。还有一些以前没有的新类。在一些像Fragment这样的情况下,兼容性支持库可以在旧平台上使用新功能,但对于旧版平台不支持的PreferenceFragment类等类型的情况并非如此。

+0

这使得很多的意义,我猜这就是错误代码来自....我在2.1建设,但th样本从1.5,并不反映更新或过时的类/方法....这是只是我的假设... – 2012-04-08 22:57:15