在xml和java代码中创建对象的区别

时间:2017-06-17 06:36:15

标签: java android xml

Heyy all,我开始使用Android Studio,据我所知,您可以使用XML代码和Java代码创建对象。我不太确定区别是什么。就像使用TextView一样,语法也有所不同。

我是否用两者创建了一个java对象?

还有java textview可以更轻松地更改文本和功能,而xml可以完成应用程序的主要布局/视图吗?

2 个答案:

答案 0 :(得分:1)

对于大多数应用程序,视图层次结构是非常静态的。观点的内容发生了变化,但不是观点本身。在这种情况下,以XML格式定义视图层次结构更为方便。

您也可以使用Java。如果视图根据某些数据而改变,或者如果有许多视图都非常相似并且非常系统地排列,那么这将非常有用,因此XML中的描述可能过于冗长或重复。

答案 1 :(得分:0)

  

我是否用两者创建了一个java对象?

技术上,是的。您在屏幕上看到的几乎所有内容都由对象表示。 XML文件本身并不真正"创建"但直接对象。当您的活动开始时,另一段Java代码将读取XML文件并根据该文件创建对象。您通常在setContentView打电话给onCreate,对吧?

setContentView(R.layout.blah_blah_blah);

这是您告诉Android SDK读取XML文件并创建所有视图的地方。

  

还有java textview可以更轻松地更改文本和功能,而xml可以完成应用程序的主要布局/视图吗?

通常,是的,就是这种情况。如果要根据用户交互动态添加视图(例如,按下按钮),则可以使用Java添加视图。如果您有一些永不改变的视图,请以XML格式进行。

但是,这并不意味着您无法在Java中创建静态视图。你可以。只是因为编写的代码太多,所以很少有人这么做。

您还可以创建XML文件,并使用Java代码为其中的视图充气。