---
title: 重构移动应用程序
date: 2024-03-06
categories:
  - app-development
  - mobile
  - mobiletogether
tags:
  - app-development
  - mobile-apps
  - mobiletogether
  - refactoring
description: 对现有软件应用的改进通常源于用户的积极反馈，而引入新功能则为重构移动应用程序提供了机会。
---
Status: #blog

Tags:  #app-development #mobile-apps #mobiletogether #refactoring

Categories: [mobile-development](/blog/zh/category/mobile-development.md) | [mobile-development](/blog/zh/category/mobile-development.md) | [mobile-development](/blog/zh/category/mobile-development.md)
# 重构移动应用程序

关于新功能以及对现有软件应用的改进，最好的想法往往来自热情的用户。 实施新功能为重构移动应用程序提供了机会。 我的朋友凯西在使用了“MobileTogether 太阳能数据跟踪”应用程序数年后，对该应用提出了一个建议，用于监测屋顶太阳能系统的性能。

该应用程序显示一个页面，用图表和表格展示了过去一年的每月产量，以及另一个页面，用于报告过去30天的每日产量。每个页面上的导航按钮方便用户在不同视图之间切换。凯西的建议是修改该应用程序，将所有图表和表格都放在一个页面上。 随着时间的推移，移动用户已经习惯了那些将数据以长页面形式呈现，并通过简单的滑动操作进行浏览的移动应用程序。一个单页应用程序会感觉更加流畅和现代化。

![](/blog/images/Blog_MT_control_templates_2.jpg)

<!--more-->

Solar Data Tracker是一款跨平台应用程序，可在Android、iOS和Windows上运行，它[由Altova MobileTogether Designer使用单一代码源开发](https://www.altova.com/zh/mobiletogether)。将报告整合到一页也提供了一个机会，可以重构应用程序的实现，从而简化该应用。MobileTogether Designer是一款拖放式工具，支持复制和粘贴应用程序控件，并提供工具，用于[重构移动应用程序](https://www.altova.com/zh/mobiletogether/modular-app-development#refactoring)，例如识别局部和全局变量、函数、动作组、样式表、外部数据源等的用法。这些功能极大地简化了应用程序的修改。

以下是在安卓手机上显示的“月度太阳能发电量报告”页面和“每日报告”页面的对比视图：


![[Pasted image 20250224145704.png]]

以下是新版单页视图，所有数据都显示在一页上，就像在 iPhone 上滚动浏览时看到的那样：

![[Pasted image 20250224145734.png]]
位于页面中央的“添加新账单”按钮，过去是每月报告页面的末尾。现在，报告内容会连续显示到每日历史数据中。我们在页面底部添加了一条规则，以表示该页面的结束。

在MobileTogether Designer中创建新版本非常简单，步骤如下：

- 将每日报告页面的设计元素复制，然后粘贴到每月报告页面的末尾

- 移除不必要的页面导航按钮

- 修改并简化标题标签

- 重新定义每日数据表格，移除其可滚动属性

- 从工作流程结构中删除旧的每日报告页面

MobileTogether Designer 包含一个验证工具，用于检查逻辑错误或发出警告，以及一个“撤销”按钮，可以逐个回溯每个修改版本，从而准确找出导致问题的具体更改。

我们还需要修改一个操作组。当用户添加新的每日阅读内容或在电力公司账单上报告的信息时，图表也需要根据新的数据表格进行更新。最初的实现方式是使用独立的动作组来更新每个页面的图表。我们也可以打开动作组对话框，并将动作添加到现有的动作组中，从而更新每日图表。

[![重构移动应用程序可以带来提高内部效率的机会。](/blog/images/action-group-1.png)](action-group-1.png)

我们还更改了该操作组的名称，以便更好地描述其功能。当我们在“操作组”对话框中更改操作组的名称时，设计器会自动更新操作组名称在所有引用该操作组的地方。

内置的 MobileTogether 模拟器窗口可以立即运行解决方案，让我们能够测试逻辑、预览界面在各种 Android、iOS、Windows 等设备上的显示效果，以及在运行过程中观察工作流数据的变化。该模拟器还包含丰富的调试功能，可以对执行行为进行详细的观察和追踪。

“重构”菜单包含一些命令，这些命令可以列出各种设计组件的使用情况，或者列出在应用程序中未被使用的项目。

[![MobileTogether Designer 提供的重构菜单选项，用于重构移动应用程序](/blog/images/refactor-menu.png)](refactor-menu.png)

行动组列表包括最初负责更新每日生产报表的组。由于每日报告页面已不再是应用程序的一部分，因此该行动组将永远不会被使用，并且可以被删除。

[![重构列表，显示未使用的动作组。](/blog/images/refactor-listing-1.png)](refactor-listing-1.png)

我们部署了新的移动数据追踪器，凯西热情地在一次电动汽车展览上展示了它。这次展览在一个公园举行，该公园的手机信号很弱，而且没有无线网络。

您可以下载免费的[MobileTogether Designer](https://www.altova.com/zh/mobiletogether/download)，体验所有 MobileTogether 的功能，从而实现移动应用的重构。
