Oracle ADF Mobile 教程






3.67/5 (7投票s)
本文旨在帮助开发者开始使用新的移动应用程序开发框架 Oracle ADF Mobile。
引言
Oracle 是一家众所周知的 IT 公司,不断为其客户提供尖端技术。结果是,这也为开发人员提供了利用最新技术工作的机会。几年前,Oracle 推出了一个名为 Oracle ADF Mobile 的混合框架,即“一次开发,多处部署”。
在本文中,我将演示如何开始在新平台上的工作。我见过许多开发人员卡在非常基础的步骤上。我将尽我所能演示 Hello World 教程,以便任何初学者都能开始开发,并可能从这个新框架中受益。
注意:我粘贴了图片以供阐述,因此本文可能看起来很长,但易于实现。
背景
下面有一些链接,可以帮助您了解 Oracle ADF Mobile 是什么,因为我将立即开始开发。因此,这些链接可能有助于您建立开发环境。
- 什么是 Oracle JDeveloper
- 什么是 Oracle ADF Mobile
- 开发 ADF Mobile 环境
使用代码
我假设您已配置好开发环境。
以下是初学者开始使用 ADF Mobile 的步骤。
在本节中,我们将创建一个应用,该应用将在单击按钮时显示简单的文本 Hello World。
启动 JDeveloper Studio。转到 开始 -> 所有程序 -> Oracle Fusion Middleware 11.1.2.40 -> JDeveloper Studio 11.1.2.40。
如果出现 选择角色 提示,请选择 Studio Developer (所有功能)(这是默认选项),然后单击 确定。
从顶部的菜单中,选择 应用程序,然后选择 新建…。
将打开一个对话框,显示不同类型的项目选项。选择 Mobile Application (ADF),然后单击 确定。
将打开一个新对话框,标题为 为应用程序命名。在 应用程序名称: 中,输入您要开发的任何应用程序名称。我将其命名为 MyFirstApp,在 应用程序包前缀: 中,输入任何应用程序包前缀。通常的做法是用小写字母命名您的包。我将其命名为 myapp。设置好应用程序和包前缀后,单击 下一步。
在 项目 1 名称页面,输入项目名称或继续使用默认名称,即 ApplicationController。我们将使用默认名称。您可以更改目录或继续使用默认设置。设置好值后,单击 下一步。
在 项目 1 Java 设置页面,继续使用默认值,即 myapp.application,然后单击 下一步。
在 项目 2 名称页面,继续使用默认设置,然后单击 下一步。
在 项目 2 Java 设置 页面,保留默认包名称,然后单击 完成。
单击 完成后,ADF 会为您创建两个项目,您可以在 IDE 左侧的项目窗格中看到这些项目。它还会打开 adfmf-feature.xml 页面。这是一个可以添加不同功能的页面。更多内容将在后续部分介绍。
在 adfmf-feature.xml 页面打开时,如果未打开,则展开 ViewController -> Application Sources -> META-INF -> adfmf-features.xml。在功能:部分,单击 按钮为您的应用程序添加新功能。
功能是应用程序的一个组件或模块。它可以是页面(html 或 asmx),也可以是流程任务。随着我们不断开发应用程序并探索不同场景,我们将对其进行详细说明。
单击 将打开一个对话框,提示输入功能名称。您可以添加任何功能名称。由于我们只有一个移动屏幕,因此将其命名为 FirstPage。之后,单击 确定。
它将在默认打开的 xml 功能文件 (adfmf-feature.xml) 中添加功能 FirstPage。
在 功能 选项卡正下方,您可以看到 常规 选项卡。转到 内容 选项卡,您可以看到 ID 和 类型: 已自动添加。请注意,功能的类型是 ADF Mobile AMX。您可以从下拉菜单中更改它,但在这里我们将使用默认选项。之后,单击 旁边的 文件 部分。
单击 文件: 部分旁边的 按钮,它将显示两个选项:ADF Mobile AMX Page… 和 Task Flow,请选择第一个选项。
将打开一个对话框,输入 文件名,在 页面元素 部分,勾选所有选项,然后单击 确定。
现在您可以看到 first.amx 页面。这是您设计应用 UI 的地方。这只有一个屏幕。从 first.amx 页面的右下角,将其拖到左侧,然后在右侧窗格中,单击 预览。在这里,您可以看到 UI 的预览,并且对 xml 文件所做的任何更改都会在此反映。
现在,从 组件面板 中,从 文本和选择 部分拖一个 输出文本,然后将其拖放到 first.amx 页面上。
它将显示 OutputText1 作为默认值。请注意,您必须将控件拖放到 xml 源文件上,而不是预览上。
现在选择 amx:outputText,转到位于右下角 组件面板 下方的 属性检查器 窗格。我们将使用 表达式生成器 更改其 值。
在同一个属性检查器窗口中,转到下拉箭头,然后单击 表达式生成器…。
将打开表达式生成器对话框。在表达式字段中,添加一个表达式 #{viewScope.actionevent},然后单击 确定。有关 viewScope 的更多信息将在后续章节中讨论。
请注意,在更改输出文本的值为表达式后,它也会在预览窗口中显示。
现在,从组件面板拖一个 按钮,并将其像 OutputText 一样,拖放到 first.amx 页面上。将其拖到 amx:outputText 的下方。
现在我们需要添加按钮的事件处理程序。当按钮被点击时,我们将把输出文本值更改为 Hello World。我们将使用 Java Managed Beans 类来完成此操作。
现在,保持选中 amx:commandButton 或只需将光标放在命令按钮上,它将像之前显示 amx:outputText 控件时一样显示属性检查器窗口。转到属性检查器窗口中的 按钮操作部分,然后单击 操作侦听器: 旁边的下拉按钮,然后选择 编辑…。

将打开一个对话框,您需要在其中指定 Bean 类。由于我们还没有创建任何 java bean 类,请单击 新建 来创建新的。
它将提示输入必需的字段,输入它们,然后单击 确定。
添加 bean 类后,我们需要指定在每次单击按钮时调用的方法。单击 新建… 来添加新方法。
输入方法名称,然后单击 确定。
在指定了类和方法后,单击 确定以查看生成的类。它位于 ViewController -> Application Sources -> myapp.mobile -> EventHandler.java。
双击它以查看该类。这是一个具有默认构造函数和我们在前几个步骤中添加的事件处理程序方法的类。
现在,在 OnClick 方法中,添加以下几行代码。

请注意,它需要两个导入:
· javax.el.ValueExpression
· oracle.adfmf.framework.api.AdfmfJavaUtilities.
现在我们完成了。是时候将我们的应用部署到 Android 模拟器上了。
部署
要创建 Android 模拟器,请转到您安装它的 android sdk 目录,然后转到 tools 目录。以我的情况为例,我有一个如下目录:
D:\AndroidSDK\adt-bundle-windows-x86_64-20140321\sdk\tools
在 tools 目录中,运行 android windows 批处理文件。将打开一个 SDK 管理器窗口。从菜单栏中选择 tools,然后单击 管理 AVD…。
将显示 Android 虚拟设备管理器窗口,其中显示所有可用的设备(如果存在)。以我的情况为例,我已经创建了一个 android 虚拟设备,我将用它来运行我的应用程序。单击 启动以运行 Android 模拟器。
注意: 确保您选择或创建了一个带有 Google API 的模拟器。
等待一段时间,直到模拟器显示主屏幕。现在在 JDeveloper studio 中,从菜单栏转到 应用程序… 并选择 部署,然后选择 新建部署配置文件…。请注意,您也可以使用现有的配置文件。
在 配置文件类型: 中,选择 ADF Mobile for Android,在 部署配置文件名称中输入任何名称,然后单击 确定。
将显示 属性 窗口。
在 应用程序图像 中,您可以指定您的应用图标。我们将使用默认图标。单击 确定 以创建部署配置文件。现在 android 模拟器已运行,现在我们需要将我们的应用部署到模拟器上。
在 JDeveloper Studio 中,转到 应用程序 -> 部署,然后选择 模拟器…。这是我们刚才创建的同一个配置文件。
将显示一个部署窗口 部署模拟器。选择 将应用程序部署到模拟器,然后单击 下一步。
将向您显示应用程序摘要,包括 应用程序包 ID、文件 和 部署模式。
现在单击 完成 以开始部署过程。您可以在下方的 部署 选项卡中的 部署日志 中查看部署过程的详细信息。
当应用部署完成时,它会在最后给您一个部署摘要。部署过程可能需要几分钟,请耐心等待。
现在部署完成,在 android 模拟器中,单击菜单按钮,找到 MyFirstApp,然后单击它以运行。
将打开一个基于 Oracle 的启动屏幕,等待片刻,启动屏幕将自动关闭。单击 commandButton1 以显示 hello world 文本。
输出 Hello World。
我们已经完成了创建和部署我们的第一个 Hello World 应用。我希望这个教程对大家有所帮助。
我始终对 Bug 和反馈持开放态度。请告知我。
谢谢!
关注点
我们已经学习了如何使用 ADF Mobile 构建我们的应用程序。这是一个入门。它可能看起来比原生的 Android/iOS 开发花费更多的时间来开发应用程序。但事实是,ADF Mobile 增强了您的开发能力。它就像“一次编写,随处运行”。一旦您开始在此平台上开发应用程序,您就会注意到开发过程中的显著差异。
谢谢!
历史
无