首页 » Android程序设计:第2版 » Android程序设计:第2版全文在线阅读

《Android程序设计:第2版》Eclipse特性和替代品

关灯直达底部

现在,我们已经注意到Android SDK的很多功能是构建在Eclipse之上的,也了解到Eclipse的插件和扩展这种架构使得Android工具能够挂接(hook)到IDE中很多方面的功能,你可能会思考为什么Eclipse要让你在服务器上运行Android应用,或者作为applet运行。如果你有一个工具并且期望它能够提高你的编码效率,却发现有很多毫不相关的选项,那将是很麻烦的,因为Eclipse期望你能够在一组异常冗长的菜单中找到正确的命令。

试试看看会发生什么,在Eclipse工作区中随便选中一个Android项目,右击项目名称,选择Run As→Java Applet命令。你会看到如图5-16所示的对话框。

图5-16:选中的项目中没有包含applet

虽然没什么错,但是显示结果还是很让人失望。Eclipse及任何插件,都不应该提供一个百分之百运行失败的操作。Eclipse在这方面做得很不好,不要以这种方式欺骗Android程序的用户。如果选中的应用不包含applet,就不要给用户提供以applet方式运行这个选项。这是图形用户界面的基本前提,是选项操作的基础思想。一旦用户选中某项,程序就应该知道该选项的所有有效操作,并且只给用户展示这些有效操作。一个良好的界面(尤其是大型复杂的界面)应该鼓励用户执行安全的操作。

为什么Eclipse的GUI应用会如此蹩脚?特别是在Eclipse令人印象深刻的强大功能和简单易用的重构等重要特性的映衬下,这个瑕疵实在令人尴尬。一个猜测是Eclipse细粒度模块化的架构思想,它带来了丰富的扩展接口,强大的功能以及一些小小的不足。在最好的情况下,插件作者在提升用户体验时,需要考虑过多的可用接口调用;在最坏的情况下,Eclipse架构可能在某些情况下导致无法实现正确的结果。这也是为什么有人要寻求Eclipse的替代品。