Android 动态视图/布局 - 服务器端视图/布局生成
Posted
技术标签:
【中文标题】Android 动态视图/布局 - 服务器端视图/布局生成【英文标题】:Android dynamic view/layout - server side view/layout generation 【发布时间】:2014-04-03 09:56:50 【问题描述】:我正在开发跨平台应用程序,其中常见代码(如业务逻辑和其他常见内容)位于公共库中。我需要用 UI(用户界面)解决问题。
服务器端通信完全用通用代码实现。服务器正在向应用程序发送数据,并根据这些数据更新 UI。
这个想法是在通用代码中生成视图,这些生成的视图在设备屏幕上更新。
在 android 上,您可以在存储在资源文件夹中的 XML 布局文件中定义视图。 在 Windows Phone 8 上,您有 XAML 定义的视图。 我猜在 Mac/ios 上它是某种 XML,但我在 Apple 平台上没有太多经验。
所以每个平台都支持类似 XML 的视图定义。 我的想法是使用从输入 XML 数据到 XML/XAML 视图定义的 XSLT 转换来生成 UI。 I know how to do it in Windows Phone ,但我不知道如何为Android平台做。
假设我需要在服务器端生成 Android Activity 布局并将此 Activity 显示在 Android 设备屏幕上。
有什么想法吗?这可能吗?
注意: 我知道如何在 Android 上以编程方式动态创建 android 视图,但我需要在服务器端以某种方式生成 Resource\layout\main.axml 并在运行时在 Android 上应用这个 main.xaml 文件。
【问题讨论】:
在 theory 中,您可以生成一个 Android xml 布局并下载并将其保存在某处,然后在代码中分配它。问题是 你不能在 res/layout 文件夹中写入 - 它必须在哪里。 是的,这就是重点。我需要以某种方式加载那个 xml 棘手的部分是找到从任意位置加载 xml 的 hack - 包括内存。 【参考方案1】:在 Android 上没有办法做到这一点。不支持。在每个平台上编写我自己的解析器对我来说不是解决方案。
理论解决方案:在跨平台Qt 5 framework 上构建您的应用程序。在 QML 设计器中设计您的视图并在您的应用程序中使用它。它应该在所有平台上正确呈现。您还可以随时从服务器获取/更新您的 QML,使您的 UI 保持最新。
【讨论】:
【参考方案2】:有可能,
客户端需求
-
需要创建一个框架应用程序,该应用程序将从服务器获取 xml。(所有平台)
解析xml并识别标签并创建动态UI
例如:
<TextArea name="textField1" value="My World" size="0,0,30,50">
在活动/窗口中显示 UI
(注)我们可以在Android、IOS中创建动态UI。
服务器端需求
用于创建xml的拖放UI创建工具。
需要创建一个客户端应用程序应该理解的通用 xml。
创建一个 Web 服务以将 xml 传递给客户端。
【讨论】:
这个问题是关于客户端点 2-4。如何在不以编程方式创建 UI 的情况下做到这一点?我知道通过解析“框架”返回的 axml 文件来通过代码和构建布局的可能性。但我想做的就像 SetContentView 函数对资源中的 axml 文件所做的那样。 @Ludwo 你解决了问题还是有理论上的解决方案? @RmK 我以理论上的方式回答了我自己的问题 :)以上是关于Android 动态视图/布局 - 服务器端视图/布局生成的主要内容,如果未能解决你的问题,请参考以下文章