相关文章推荐
着急的杨桃  ·  Matrix Class ...·  5 月前    · 
八块腹肌的眼镜  ·  Java ...·  10 月前    · 

本快速入门介绍如何使用 Android Studio(Java 或 C++/NDK)为 Android 设备运行 Azure 空间定位点 示例应用。 Azure 空间定位点是一种跨平台开发人员服务。通过该服务,可以使用能够随时间推移跨设备保存自己位置的对象创建混合的现实体验。 完成后,将获得一个 ARCore Android 应用,该应用可以保存和重新调用空间定位点。

将了解如何执行以下操作:

  • 创建空间定位点帐户
  • 配置空间定位点帐户标识符和帐户密钥
  • 在 Android 设备上部署和运行
  • 如果没有 Azure 订阅 ,请在开始之前创建一个 Azure 免费帐户

    若要完成本快速入门,请确保具备以下项:

  • 具有 Android Studio 3.4+ 的 Windows 或 macOS 计算机。
  • 如果在 Windows 上运行,则还需要 Git for Windows Git LFS
  • 如果在 macOS 上运行,请通过 HomeBrew 安装 Git。 在终端的一行中输入以下命令: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 。 然后,运行 brew install git brew install git-lfs
  • 若要生成 NDK 示例,还需要在 Android Studio 中安装 NDK 和 CMake 3.6 或更高版本的 SDK Tools。
  • 支持开发人员 ARCore 功能 的 Android 设备。
  • 你的计算机可能需要其他设备驱动程序才能与 Android 设备通信。 有关其他信息和说明,请参阅 此处
  • 你的应用必须以 ARCore 1.11.0 为目标。
  • 创建空间定位点资源

    Azure CLI Azure PowerShell
  • 选择“新建”可创建资源组。 将其命名为 myResourceGroup,然后选择“确定” 。

    资源组 是在其中部署和管理 Azure 资源(例如 Web 应用、数据库和存储帐户)的逻辑容器。 例如,可以选择在使用完之后通过一个简单的步骤删除整个资源组。

  • 选择可在其中放置资源的位置(区域)。

  • 选择“创建”开始创建资源。

    创建资源后,Azure 门户显示部署已完成。

    选择“转到资源”。 你现在可以查看资源属性。

    将资源的“帐户 ID”值复制到文本编辑器中,供稍后使用。

    另外,将资源的“帐户域”值复制到文本编辑器中,供稍后使用。

    在“设置”下,选择“访问密钥” 。 将“帐户密钥”的“主密钥”值复制到文本编辑器中,供稍后使用 。

  • 如需在本地运行 CLI 参考命令,请 安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅 如何在 Docker 容器中运行 Azure CLI

  • 如果使用的是本地安装,请使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅 使用 Azure CLI 登录

  • 出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅 使用 Azure CLI 的扩展

  • 运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade

  • 登录后,请使用 az account set 命令来选择要在其中设置空间定位点帐户的订阅:

    az account set --subscription 00000000-0000-0000-0000-000000000000
    
  • 运行 az group create 命令创建资源组或使用现有资源组:

    az group create --name myResourceGroup --location eastus2
    

    资源组是在其中部署和管理 Azure 资源(例如 Web 应用、数据库和存储帐户)的逻辑容器。 例如,可以选择在使用完之后通过一个简单的步骤删除整个资源组。

    可使用 az spatial-anchors-account list 命令查看资源组的当前空间定位点帐户:

    az spatial-anchors-account list --resource-group myResourceGroup
    

    还可查看订阅的空间定位点帐户:

    az spatial-anchors-account list
    
  • 运行 az spatial-anchors-account create 命令来创建空间定位点帐户:

    az spatial-anchors-account create --resource-group myResourceGroup --name MySpatialAnchorsQuickStart --location eastus2
    
  • 使用 az spatial-anchors-account show 命令查看资源属性:

    az spatial-anchors-account show --resource-group myResourceGroup --name MySpatialAnchorsQuickStart
    

    将资源的“帐户 ID”值和资源的“帐户域”值复制到文本编辑器中,供稍后使用 。

  • 运行 az spatial-anchors-account key show 命令来获取主密钥和辅助密钥:

    az spatial-anchors-account key show --resource-group myResourceGroup --name MySpatialAnchorsQuickStart
    

    将密钥值复制到文本编辑器供稍后使用。

    如需重新生成密钥,请使用 az spatial-anchors-account key renew 命令:

    az spatial-anchors-account key renew --resource-group myResourceGroup --name example --key primary
    az spatial-anchors-account key renew --resource-group myResourceGroup --name example --key secondary
    

    可使用 az spatial-anchors-account delete 命令来删除帐户:

    az spatial-anchors-account delete --resource-group myResourceGroup --name MySpatialAnchorsQuickStart
    
  • 如果选择在本地使用 Azure PowerShell:
    • 安装 Az PowerShell 模块
    • 使用 Connect-AzAccount cmdlet 连接到 Azure 帐户。
    • 如果选择使用 Azure Cloud Shell:
      • 有关详细信息,请参阅 Azure Cloud Shell 概述
      • 尽管 Az.MixedReality PowerShell 模块为预览版,但你必须使用 Install-Module cmdlet 单独安装它。 此 PowerShell 模块正式发布后,它会包含在将来的 Az PowerShell 模块发行版中,并在 Azure Cloud Shell 中默认提供。

        Install-Module -Name Az.MixedReality
        
      • 登录后,请使用 Set-AzContext cmdlet 来选择要在其中设置空间定位点帐户的订阅:

        Set-AzContext -SubscriptionId 00000000-0000-0000-0000-000000000000
        
      • 运行 New-AzResourceGroup cmdlet 来创建一个资源组,或使用现有资源组:

        New-AzResourceGroup -Name myResourceGroup -Location eastus2
        

        资源组是在其中部署和管理 Azure 资源(例如 Web 应用、数据库和存储帐户)的逻辑容器。 例如,可以选择在使用完之后通过一个简单的步骤删除整个资源组。

        可使用 Get-AzSpatialAnchorsAccount cmdlet 查看资源组的当前空间定位点帐户:

        Get-AzSpatialAnchorsAccount -ResourceGroup myResourceGroup
        

        还可查看订阅的空间定位点帐户:

        Get-AzSpatialAnchorsAccount
        
      • 运行 New-AzSpatialAnchorsAccount cmdlet 创建空间定位点帐户:

        New-AzSpatialAnchorsAccount -ResourceGroup myResourceGroup -Name MySpatialAnchorsQuickStart -Location eastus2
        
      • 使用 Get-AzSpatialAnchorsAccount cmdlet 查看资源属性:

        Get-AzSpatialAnchorsAccount -ResourceGroup myResourceGroup -Name MySpatialAnchorsQuickStart
        

        将属性的 accountId 值和属性的 accountDomain 值复制到文本编辑器中,供稍后使用 。

      • 运行 Get-AzSpatialAnchorsAccountKey cmdlet 来获取主密钥和辅助密钥:

        Get-AzSpatialAnchorsAccountKey -ResourceGroup myResourceGroup -Name MySpatialAnchorsQuickStart
        

        将密钥值复制到文本编辑器供稍后使用。

        如果需要重新生成密钥,请使用 New-AzSpatialAnchorsAccountKey cmdlet:

        New-AzSpatialAnchorsAccountKey -ResourceGroupName myResourceGroup -Name MySpatialAnchorsQuickStart -Primary
        New-AzSpatialAnchorsAccountKey -ResourceGroupName myResourceGroup -Name MySpatialAnchorsQuickStart -Secondary
        

        可使用 Remove-AzSpatialAnchorsAccount cmdlet 删除帐户:

        Remove-AzSpatialAnchorsAccount -ResourceGroup myResourceGroup -Name MySpatialAnchorsQuickStart
        

        打开示例项目

        通过运行以下命令克隆示例存储库

        git clone https://github.com/Azure/azure-spatial-anchors-samples.git
        cd ./azure-spatial-anchors-samples
        

        此处下载 arcore_c_api.h 并将其置于 Android\NDK\libraries\include 中。

        在新克隆的存储库中,通过运行以下命令初始化子模块:

        git submodule update --init --recursive
        

        打开 Android/Java/app/src/main/java/com/microsoft/sampleandroid/AzureSpatialAnchorsManager.java

        找到 SpatialAnchorsAccountKey 字段并将 Set me 替换为帐户密钥。

        找到 SpatialAnchorsAccountId 字段并将 Set me 替换为帐户标识符。

        找到 SpatialAnchorsAccountDomain 字段并将 Set me 替换为帐户域。

        打开 Android/NDK/app/src/main/cpp/AzureSpatialAnchorsApplication.cpp

        找到 SpatialAnchorsAccountKey 字段并将 Set me 替换为帐户密钥。

        找到 SpatialAnchorsAccountId 字段并将 Set me 替换为帐户标识符。

        找到 SpatialAnchorsAccountDomain 字段并将 Set me 替换为帐户域。

        将应用部署到 Android 设备

        打开 Android 设备,登录并使用 USB 电缆将其连接到电脑。

        从 Android Studio 工具栏中选择“运行”。

        在“选择部署目标”对话框中选择 Android 设备,然后选择“确定”以在 Android 设备上运行应用 。

        按照应用中的说明,放置并重新调用定位点。

        通过在 Android Studio 工具栏中选择“停止”,从而停止应用。

        在前面的步骤中,你在资源组中创建了 Azure 资源。 如果将来不再需要这些资源,可以通过删除资源组来删除它们。

        从 Azure 门户菜单或“主页”页上,选择“资源组” 。 然后,在“资源组”页上,选择“myResourceGroup” 。

        在“myResourceGroup”页中,确保列出的资源是要删除的资源。

        选择“删除资源组” ,在文本框中键入“myResourceGroup” 以确认,然后选择“删除” 。

        在本快速入门中,你已创建空间定位点帐户。 然后,你配置并部署了应用来保存和重新调用空间定位点。 要详细了解如何改进应用使其可以与其他设备共享空间定位点,请继续学习下一个教程。

        教程:跨设备共享空间定位点

  •