云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

云服务器_晶体数据库_价格

小七 141 0

在上一篇文章中,我们描述了使用sapcloudplatformforandroidsdk构建的示例企业目录应用程序。现在让我们来看看我们是如何在SAP的云门户中启动这个项目的,以及我们是如何使用SAP Cloud Platform SDK for Android Wizard生成一个Android Studio项目的。

入门

首先,我们确认了我们的SAP Cloud Platform帐户已经建立,并根据我们在iOS应用程序上所做的工作进行工作,并安装了SAP Cloud Platform SDK for Android(这需要安装最新版本的Android Studio的计算机)。然后,企业应用中心,我们确认我们为iOS应用程序设置的移动目标仍然存在(要了解我们是如何设置的,请参阅我们的博客文章"使用SAP的云平台iOS SDK创建企业目录应用程序–第2部分")。

启动Android Studio项目

一旦我们在门户中确认了目标,淘客系统开发,我们使用sapcloudplatformsdkforandroid向导来生成androidstudio项目。这是SDK的一个非常强大的功能–该向导是一个Android Studio插件,它将:为选定的模型实体创建样板代码,构建从SAP云平台实例提取数据的代码,以及构建一个框架用户界面以显示选定的实体。虽然生成的代码并不是我们最终想要发送给用户的代码,但它节省了大量时间并简化了开发过程。

要启动向导,我们从Android Studio开始屏幕中选择了"启动一个新的SAP云平台Android项目"(或者,大量数据,云服务器怎么用,您可以从中选择"新建SAP云平台Android项目…"文件|新菜单选项)。

这将启动一系列屏幕来收集有关要生成的应用程序的信息。在第一步"服务器连接"中,我们指定SAP云平台帐户信息,包括帐户名称和URL、身份验证类型和用户名/密码:

在第二步"云配置"中,我们可以选择之前为iOS应用程序创建的应用程序ID。请注意,此ID用于SAP云平台中定义的应用程序,因此可以将目的地、访问控制、安全性和其他功能附加到该应用程序。这与用于唯一标识iOS应用商店或Google Play商店中应用的捆绑ID(对于iOS应用)或applicationId(对于Android应用)不同。

接下来,营销数据分析,在OData服务步骤中,我们选择了为iOS应用创建的目的地。设置此目的地是为了访问我们构建应用程序所需的成功因素用户管理实体。

在Android Studio项目步骤中,我们指定了项目名称、项目名称空间、文件系统位置和所需的目标语言(我们很高兴在SDK版本2中支持Kotlin!)。提供的项目名称空间将用作Android项目的唯一应用程序ID,并作为要在其中生成的新项目类的根包上下文。

最后在项目特性步骤中,我们为生成的项目指定了一些选项;具体来说,我们保留了默认的联机OData选项,确保该选项为我们的目的地选择了一个示例用户界面,并启用了日志记录。

我们选择了Finish,过了一会儿,向导为我们创建了一个Android Studio项目。

经过一些尝试和错误,以及与SAP技术资源的讨论,我们发现,为了正确访问我们创建的目标,需要对生成的代码进行两个小的调整。两个调整都是对OData加载过程的调整。

第一个调整是对UserViewModel中用户实体的默认排序属性的调整。当第一次尝试用生成的代码加载用户列表时,我们收到一条错误消息,指出addressLine1(由生成的代码默认)对于排序无效。我们将sort属性改为lastName,就像在UserViewModel中一样:

第二个调整是为每个实体选择一组特定的属性,而不是选择生成的代码默认的所有属性。在尝试加载用户列表时,我们收到一条错误消息,因此需要为User和UserPermissions实体指定所需的属性。为此,我们更新了存储库以接受一组属性:

我们更新了存储库以在构建查询时在initialRead()和read()函数中使用传入的属性集:

然后我们更新了存储库工厂以传入每个实体的选定属性。例如,这是我们为用户实体指定的:

运行带有这些更改的应用程序看起来是这样:

用户可以选择一个实体,然后查看实例列表。

用户可以从列表中选择一个用户来查看详细信息:

显然这不是我们想要呈现给用户的内容;但是所有的"管道"都准备好了因此,我们只需要在添加搜索等高级功能之前更新设计的用户界面。

自定义第一个屏幕

由于我们希望应用程序以员工列表开始,我们可以完全跳过实体选择屏幕。为了跳过实体选择并直接转到用户列表,我们将生成的LogonActivity更改为显示新创建的EmployeeListActivity,而不是生成的EntitySetListActivity。为此,我们修改了LogonActivity中的finishLogonActivity()函数,以便在应用程序不恢复时调用名为startEmployeeListActivity()的新函数,并删除了名为startEntitySetListActivity()的生成函数,因为它不再需要了。

自定义列表视图