【问题标题】:Android application that receives XML files and renders them接收 XML 文件并呈现它们的 Android 应用程序
【发布时间】:2014-05-13 17:11:50
【问题描述】:

我想知道是否可以在 Android 上运行一个在运行时接收 XML 文件的应用程序,然后这些新接收的 XML 文件将被呈现到屏幕上(将显示为布局/视图/字符串)。

我在想也许你可以将新收到的 XML 文件添加到你的 res 文件夹中,但我认为它不会有太大变化,因为当应用程序已经编译时,生成的 R 类不会更新。

我也想过实现自己的 XML 解析和渲染,但这几乎就像重写 Android 的整个渲染机制一样。

需要帮助!

【问题讨论】:

  • 你的意思是,像一个网络浏览器?
  • 是的,基本上,应用程序将从另一个来源获取 XML 文件并将它们呈现在屏幕上
  • 您是否考虑过编写一个 XML 样式表,将您收到的 XML 转换为 HTML5?您可以利用浏览器中已有的所有解析器,并专注于用 JavaScript 编写渲染逻辑。
  • 请详细解释“将它们呈现在屏幕上”的含义。
  • 我所说的“将它们呈现在屏幕上”的意思是: 1. 我的应用程序将从手机/平板电脑运行 2. 然后它将接收 XML 文件(例如:home_layout.xml) 3. 然后它将使用 Android 渲染在屏幕上显示 XML 数据(它应该像 home_layout.xml 在 res 文件夹中一样渲染它)

标签: java android xml


【解决方案1】:

然后它将使用 Android 渲染在屏幕上显示 XML 数据(它应该像 home_layout.xml 在 res 文件夹中一样渲染它)

LayoutInflater 只支持布局资源。您需要从头开始编写自己的布局膨胀逻辑。鉴于您从 XML 创建了所需的 View 层次结构,实际呈现与布局从资源膨胀时没有什么不同。

【讨论】:

  • 是否可以解析 XML 文件并以编程方式创建新的布局/视图?像RelativeLayout l = new RelativeLayout(); setContentView(l);
  • @user3158979:假设您正在解析,是的。您可以通过它们的 Java 构造函数创建小部件和容器,使用 setter 设置它们的属性,使用 addChild() 将它们连接到父子层次结构中,然后在任何有意义的地方使用生成的 View 层次结构。
猜你喜欢
  • 2014-07-24
  • 1970-01-01
  • 1970-01-01
  • 2014-05-09
  • 2012-05-11
  • 1970-01-01
  • 2021-12-25
  • 2012-05-10
  • 1970-01-01
相关资源
最近更新 更多