gpt4 book ai didi

architecture - 在 Monodroid 应用程序中重用 Monotouch 代码

转载 作者:行者123 更新时间:2023-12-04 02:44:30 25 4
gpt4 key购买 nike

我目前正在实现一个 Monotouch 应用程序,该应用程序最终将被移植到 Monodroid。该应用程序只是 OData Web 服务的客户端。没有什么太花哨或性能关键。

挑战在于尽可能多地重用代码。我知道 Monotouch 和 Monodroid 的 UI API 有很大不同,但我希望重用数据数据抽象和业务层。

由于我的 UI 层遵循 MVP 模式,因此我也希望通过编码每个 View 的抽象表示来重用 UI Controller 。但是,我只能猜测这是否可行,因为我还没有被允许使用 Monodroid 测试版。

现在我的问题:

  • 您如何看待这种方法?这是一个好主意,还是会因为 iPhone 和 Android 之间 UI 概念的差异而导致应用程序平庸?
  • 您能否就如何构建应用程序以最大限度地重用代码提供任何提示?

  • 谢谢,

    阿德里安

    最佳答案

    您如何看待这种方法?这是一个好主意,还是会因为 iPhone 和 Android 之间 UI 概念的差异而导致应用程序平庸?
    我会说后者,但您绝对可以重用大部分业务和领域对象。 Monodroid 中使用了相同的 Mono Sqlite,因此您的应用程序的数据持久性部分(如果使用)是可重用的。
    我不会费心创建中间层 UI - 两者完全不同。例如,在 Android 应用程序上,您有底部菜单,屏幕上可以包含 6 个按钮。在 iPhone 上,标签栏或工具栏中很可能没有 6 个按钮。为此制定一个共同的模式不会对你有多大帮助。
    另一个例子是 ListViews (UITableViews)。他们完全不同。正如您所期望的,Monodroid 实现忠实于其丑陋的 Java 姐妹。在 Android 上,您不必使用 Apple 强加给您的大量间接寻址,而只需使用一个简单的 ArrayAdapter 作为数据源 - 为更复杂的布局进行子类化。
    另一个需要注意的重要事项是 Android 没有一种屏幕尺寸 .您为 3 different screen densities 创建图像.字体大小不是绝对的。
    Android 为您提供了类似于 XAML 和 Web 的布局机制,在 iPhone 上,您没有那么幸运(或者更幸运,取决于您如何看待它),因为一切通常都是绝对定位的(他们可以这样做,因为它总是 320x480)。
    您能否就如何构建应用程序以最大限度地重用代码提供任何提示?
    我认为您已经大部分时间覆盖了单独的数据层并坚持使用 Controller 。如果没有看到您的应用程序,很难说重用 Controller (无论您使用 UITableViews 还是自定义 uis)是多么容易,但是 Android 的开发速度要快得多,我认为这应该是一项快速任务。
    (我正在使用 Monodroid 预览版,并且还发布了 MT 应用程序)

    关于architecture - 在 Monodroid 应用程序中重用 Monotouch 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3670898/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com