Android studio开发中调用华为云图像识别api

该文章基于Android studio2024.1.2版本,为Android studio开发者尽量细致的讲解如何调用华为云图像识别api。

一、开通服务

1.登录华为云官网,申请华为账号,完成实名注册(有华为账号的请跳过该步骤,要确认自己的账号能够使用华为云服务)。

官网连接:共建智能世界云底座-华为云 (huaweicloud.com)

2.在上方导航栏中选择“产品”,输入想使用的服务(以图像识别服务为例),并点击进入。

3、由于华为云图像识别服务有每月1000次的免费调用,所以不用购买,直接点击控制台。

进入控制台后先完成前两步。点击对应的链接,按需求开通服务即可。

完成后服务就成功开通了!

二、配置环境

1.下载并打开Android studio开发软件。作者使用的是Android studio2024.1.2版本。

2.新建项目。

推荐选择empty views activity。

下一步:

推荐把语言从默认的kotlin改为java。把项目名字和存放地点填好就可以新建项目了。

3.把左侧项目结构更改为project类型。找到main文件夹下的AndroidManifest.xml,打开。

在manifest下添加如下代码,用来获取网络权限:

<uses-permission android:name="android.permission.INTERNET"/>

4.找到左侧项目结构中app文件夹下的build.gradle,点开。

在dependencies大括号内添加以下内容。作用是导入华为云图象识别服务的本地sdk包。下面提供kotlin和java两种格式供选择。

kotlin格式:

implementation("com.huaweicloud.sdk:huaweicloud-sdk-image:3.1.116")

java格式:

implementation "com.huaweicloud.sdk:huaweicloud-sdk-image:3.1.116"

然后点击上方的Sync now,等待下载sdk。下方会有进度条,当进度条消失并且显示成功就是下载完成了。

三、获取SDK示例

1.以图像识别服务为例,在华为云api explorer中找到该服务。

图像识别服务链接:API Explorer (huaweicloud.com)

2.在右侧代码示例中选择java语言,复制代码。也可以在该网站上先测试一下api再复制代码。

3.回到Android studio。在src->main->java->自己项目名 的文件夹下新建一个java class。将代码粘贴在此处。

修改ak,sk的值:

(1)登录“我的凭证”页面。选择“访问密钥>新增访问密钥获取”获得自己的ak和sk的值。该操作会下载一个excel表格到电脑,需要打开表格查看。

我的凭证页面链接:https://console.huaweicloud.com/iam/?region=cn-north-4#/myCredential

(2)将刚刚那段代码开头的string ak和sk的值修改为自己的。

修改图片url:

(1)获取目标图片url。将目标图片上传到下面的网站(或者随便选一个能把图片变为url格式的网站)。选择Image url,将url复制。

图片url网站:Image Upload - SM.MS - Simple Free Image Hosting

(2)将url粘贴到代码中body.withUrl后的括号中。

示例:body.withUrl("url值")

四、运行测试代码

在左侧项目结构中找到测试代码,右键,选择图中选项,等待运行。

预期运行结果类似于下图:

{
    "result": {
        "tags": [
            {
                "confidence": "37.51",
                "instances": [
                    {
                        "confidence": "92.38",
                        "bounding_box": {
                            "height": 133.32496056189905,
                            "top_left_x": 53.134917332575874,
                            "top_left_y": 254.21347984900842,
                            "width": 117.5866567171537
                        }
                    }
                ],
                "tag": "人",
                "i18n_tag": {
                    "en": "person",
                    "zh": "人"
                },
                "type": "人类",
                "i18n_type": {
                    "en": "Human",
                    "zh": "人类"
                }
            }
        ]
    }
}

恭喜你完成了调用api操作!

更多内容建议查看(也是本文的参考):

API Explorer (huaweicloud.com)

调用SDK实现图像标签功能_图像识别 Image_华为云 (huaweicloud.com)

### 如何在 Android Studio 中接入和配置 API #### 修改 SDK 路径 为了确保项目的环境设置正确,在开始集成第三方API之前,确认已正确设置了Android SDK路径。打开Android Studio,通过点击`File`菜单下的`Other Settings`,再选择`Default Project Structure`来查看当前的SDK位置。如果需要更改,默认显示的是SDK Location部分,这里可以通过点击指定图标修改默认的Android SDK路径[^1]。 #### 创建 Java 类并粘贴代码 对于特定服务如华为云图像识别API的集成,可以在项目结构中的`src->main->java->[自己的包名]`目录下创建一个新的Java类文件,并将官方提供的接口调用代码片段复制到这个新建立的类里[^2]。 #### 使用百度 API 的实例化过程 当涉及到像百度这样的定位或其他功能性的API时,开发者可以从官方网站获取最新的文档和支持材料,按照指引完成必要的准备工作之后,通常会有一个初始化的过程,这可能涉及密钥注册、权限声明以及依赖项添加等操作。例如,要使用百度的地图或地理位置服务,则需遵循其官方指南进行相应的setup工作[^3]。 #### 添加高德地图视图组件 针对想要利用高德地图API的情况,除了上述提到的服务端编程之外,还需要考虑客户端UI层面的设计。具体来说就是在XML布局文件中加入MapView控件作为地图展示容器: ```xml <com.amap.api.maps.MapView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/mapView" android:layout_width="match_parent" android:layout_height="match_parent"> </com.amap.api.maps.MapView> ``` 这段代码定义了一个全屏大小的地图视图,它能够加载来自高德服务器的地图数据并在应用界面上呈现出来[^4]。 #### 处理私有或隐藏 API 和 Class 有时可能会遇到一些特殊的场景需要用到未公开或是内部使用的APIs。在这种情况下,可以尝试编辑模块级别的`build.gradle`文件,在dependencies闭包里面增加对这些资源的支持。比如下面的例子展示了如何引入一个名为framework.jar库用于访问某些受限的功能: ```groovy dependencies { ... compileOnly files('libs/framework.jar') } ``` 需要注意的是这种方法适用于那些已经打包成JAR形式发布的二进制文件,并且只允许编译期读取而不会被打包进入最终的应用程序APK之中[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值