如何使用 Intel® INDE 的 Beta 功能 Multi-OS Engine 移植应用





0/5 (0投票)
本文将为您详细介绍如何使用 Multi-OS Engine 将现有的 Android 应用移植到 iOS。
Intel® Developer Zone 提供跨平台应用开发工具和操作指南、平台和技术信息、代码示例以及同行专业知识,帮助开发者创新并取得成功。加入我们的社区,获取 Android、物联网、Intel® RealSense™ 技术 和 Windows 的最新信息,下载工具、访问开发套件、与志同道合的开发者分享想法,并参加黑客马拉松、竞赛、路演和本地活动。
概述
您是否有现有的 Android* 应用?是否考虑将其也移植到 iOS* 平台?但您又没有 iOS 开发经验。没关系,您不需要!Multi-OS Engine 将解决您的问题。如果您还不熟悉 Multi-OS Engine,请参阅此。有关 Multi-OS Engine 的技术概述,请参阅此文章。
Multi-OS Engine SDK 提供以下用于应用开发的资源,涵盖从 IDE 集成到应用部署的各个方面。
本文将为您详细介绍如何使用 Multi-OS Engine 将现有的 Android 应用移植到 iOS。在本教程中,我们将使用本地 Mac 机器进行应用开发。有关远程开发,请参阅远程构建的入门指南。
将现有的 Android 应用移植到 Multi-OS Engine 的过程可以分解为一步一步进行。
让我们开始在 Android Studio 中创建项目。有关创建 Android 项目和 Multi-OS Engine 模块的本地构建说明,请参阅快速入门指南。
假设项目和 Multi-OS Engine 模块已创建,我们将简要介绍每个步骤,并附带代码片段以便更好地理解。
识别业务逻辑并分离 UI
借助 Multi-OS Engine,您可以重用 Java 代码来创建 Android 和 iOS 应用。Multi-OS Engine 允许您使用可供 Android 和 iOS 共享的通用业务功能进行 Java 编码。
使用 Multi-OS Engine 设计 UI
接下来,使用以下两种方法之一设计您的 iOS UI:
1. Xcode storyboard 设计器
- 要使用 Xcode 设计器,您可以打开 Xcode 中的模块。右键单击您的 Multi-OS Engine 模块,然后选择“在 Xcode 中打开项目”。
- 模块将在 Xcode 中打开。点击“资源”文件夹下的 storyboard。
- 一旦您的 UI 设计准备就绪,您可以将 storyboard 复制到 Android Studio 中项目下的“资源”文件夹中。
2. Multi-OS Engine 设计器
- 该设计器类似于 Android。设计器的格式是 ixml 文件。有关使用 Multi-OS Engine 的更多信息,请在此处查找。
在 Java 中绑定 UI
在控制器类中打开您的控制器类,路径为 <modulename> --> java --> <package_name> --> ui --> AppViewController。在此类中,您可以将绑定关联到 Xcode UI 布局。
- 在控制器文件中为设计中使用的所有视图添加类变量。
- 添加类变量后,为 IBActions 或 IBoutlets 关联 getter 和 setter(请注意,仅当您使用 Xcode 设计器设计界面时才需要此步骤)。但是,@Property 注释仅适用于不使用 Xcode 设计器的人员。如果使用 Xcode 设计器并且有原生存根,则不应使用 @Property 注释。
事件处理
如果您的某个组件与事件处理相关联,您可以创建需要分配操作以响应某些事件的事件基础类的实例。
实现业务逻辑
然后,我们创建一个单独的模块用于业务逻辑,该逻辑将以 Java 编写。
- 要创建模块,请在“项目资源管理器”中右键单击您的项目,然后创建一个新模块。选择“新建模块”为“Java 库”。
- 创建模块后,Android 模块和 iOS 模块都需要访问它。为此,请右键单击项目,打开“模块设置”,然后为 iOS 模块和 Android 模块添加依赖项。
- 业务逻辑模块使用 Java 编译器进行编译。我们需要更新 Gradle 设置来构建模块。在“Gradle 脚本”下选择 build.gradle(模块:businesslogic)。
- 在末尾添加以下脚本:
compileJava { targetCompatibility = 1.7 sourceCompatibility = 1.7 }
这涵盖了您的应用移植!希望您觉得这篇文章有用。最后,我建议尽可能多地在两个应用程序之间共享代码。如果您有任何问题,请随时在我们的 Multi-OS Engine 论坛上发帖。