65.9K
CodeProject 正在变化。 阅读更多。
Home

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

2015年10月1日

CPOL

4分钟阅读

viewsIcon

18513

本文将为您详细介绍如何使用 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 论坛上发帖。

© . All rights reserved.