什么是我获取 android XML 布局文件并自动生成等效 Java 代码的最佳方式?像 JAXB 这样的工具可以工作吗?如果可以,我该如何使用它?
2 回答
这是一个有趣的想法,虽然有点没用恕我直言。为什么要这样做?膨胀 XML 是一种非常快速的操作,并且隐藏了很多复杂性 - 例如,它考虑了当前的 DisplayMetrics 并根据屏幕的密度和大小重新计算布局参数(宽度/高度)......它也非常快因为它实际上不需要 XML 解析 - 解析是在编译时完成的,android 实际存储的是布局的二进制版本,已针对效率进行了优化(这就是为什么您不能从 XML 文件动态构建布局 XML 的原因)。
如果您想修改 Java 代码并添加/删除一些元素,那么膨胀 XML 然后进行所有修改会更有效 - 更少混乱更简单的代码并且所有计算都为您完成......
什么是我获取 android XML 布局文件并自动生成等效 Java 代码的最佳方式?
第 1 步:解析 XML。
步骤 #2:生成 Java 代码。您必须祈祷您可以构建自己的AttributeSet
实现来处理您生成的代码,否则这将是一个非常复杂的问题。
像 JAXB 这样的工具是否有效
AFAIK,JAXB 需要一个 XML 模式,而 Android 布局文件没有这样的模式。
无论您试图以这种方式解决什么问题,都可能有更好的解决方案。
我只想要一种简单的方法来获取一个 android xml 布局并将其传递给一个命令行工具来生成等效的 Java。
对于该术语的任何合理定义,我严重怀疑这将是“简单的”。