不同实施方法的好处和局限

时间:2012-10-31 17:35:07

标签: android

我刚刚开始学习Android开发,我读到基本上有三种主要的方法来构建视图:

  
      
  • 基于Java:使用Java定义字符串,布局窗口,创建GUI控件和分配事件处理程序。像Swing编程一样。
  •   
  • 基于XML:使用XML文件定义字符串,布局窗口,创建GUI控件和分配事件处理程序。 Java方法将读取   从XML文件布局并将其传递给setContentView
  •   
  • 混合:使用XML文件定义字符串,布局窗口并创建GUI控件。使用Java分配事件处理程序
  •   

这3种不同方法有哪些好处和局限?

初学者或确认的程序员应该使用哪一个?

我不是在这里要求主观答案(在被标记之前:))。 必须有一些事实才能使这些方法彼此不同(速度,可维护性,可读性......)

2 个答案:

答案 0 :(得分:2)

基于XML就像将CSS用于网页一样。使用XML将关注点整齐地分离到MVC(模型 - 视图 - 控制器)模式中。如果所有内容都以XML格式指定,那么您的活动可以针对不同的屏幕使用不同的布局文件,只需更改为新的XML文件即可轻松更新这些元素的表示。这是一个很好的软件开发实践,在重新设计或重用组件时非常有用。在某些情况下,您可能仍需要在Java中动态设置一些内容,但您应该尝试将所有与表示相关的内容放在XML文件中。

在我看来,仍然应该用Java设置和定义事件处理程序。这与表示无关,因此不属于XML文件。我不使用onclick XML属性。此外,如果您在onclick属性中设置它,如果您在Java中重构方法名称但忘记更新XML文件,则可以断开连接。

答案 1 :(得分:1)

尽可能使用XML的优点是所有Android工具都支持这种编程风格(UI编辑器等)。如果您在代码中执行所有操作,那么您就是自己的。 (想要了解基于代码的布局更改的效果吗?构建应用程序并在模拟器中运行它。使用基于XML的布局,您可以在XML编辑器中进行预览,然后进行更改。)

关于事件处理程序,在XML中声明它们的主要优点(例如,使用android:onClick属性)是您不必声明事件处理程序类。这里的优势并不是特别强大,我经常使用你所描述的混合方法。

我建议开始Android程序员(无论是否有其他编程经验)在Android推动的XML风格中获得坚实的基础。