Skip to content

Android SDK 快速入门

本文为您提供使用 Android SDK 进行常见操作的快速入门。 您将学习如何安装SDK、配置访问凭证,以及执行基本操作,获取最新升级信息等。

注意事项

  • 使用 Android SDK发起请求,您需要初始化一个Client实例。本文通过加载默认配置来创建一个Client。关于客户端的更多配置选项,请参见配置客户端。

前提条件

  • 已注册upgradeLink账号。
  • 获取到 AccessKey AccessSecret。
  • 配置了Url应用升级策略。

获取凭证

img.jpg

安装SDK

  • 在Gradle项目中添加依赖项(推荐方式)

添加maven仓库地址:

pluginManagement {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

在Gradle工程中使用 SDK,只需在build.gradle中加入相应依赖即可。以在dependencies中加入1.0.20版本的依赖为例:

  implementation 'com.github.toolsetlink:upgradelink-api-android:1.0.20'

快速使用

以下示例程序演示了如何Clint初始化,获取Url应用最新升级信息。

获取Url应用最新升级信息 - 同步调用

package com.toolsetlink.upgradelink.api;

import com.toolsetlink.upgradelink.api.models.*;
import org.junit.*;
import java.io.IOException;
import java.util.concurrent.*;

public class SimpleClientTest {

    private Client client;

    @Before
    public void setUp() {
        Config config = new Config();
        config.accessKey = "mui2W50H1j-OC4xD6PgQag";
        config.secretKey = "PEbdHFGC0uO_Pch7XWBQTMsFRxKPQAM2565eP8LJ3gc";
        client = new Client(config);
    }

    @Test
    public void getUrlUpgrade_shouldCallCallbackOnSuccess() throws Exception {
        UrlUpgradeRequest request = new UrlUpgradeRequest(
                "uJ47NPeT7qjLa1gL3sVHqw",
                1,
                0,
                "",
                ""
        );

        try {
            UrlUpgradeResponse response = client.getUrlUpgrade(request);
            System.out.println("getUrlUpgrade 请求响应: " + response.toString());
        } catch (Exception e) {
            // 打印异常堆栈信息
            e.printStackTrace();
            // 让测试失败,并给出错误信息
            Assert.fail("getUrlUpgrade 请求失败: " + e.getClass().getSimpleName() + ": " + e.getMessage());
        }
    }

}

获取Url应用最新升级信息 - 异步调用

package com.toolsetlink.upgradelink.api;

import com.toolsetlink.upgradelink.api.models.*;
import org.junit.*;
import java.io.IOException;
import java.util.concurrent.*;

public class SimpleClientTest {

    private Client client;

    @Before
    public void setUp() {
        Config config = new Config();
        config.accessKey = "mui2W50H1j-OC4xD6PgQag";
        config.secretKey = "PEbdHFGC0uO_Pch7XWBQTMsFRxKPQAM2565eP8LJ3gc";
        client = new Client(config);
    }

    @Test
    public void getUrlUpgradeAsync_shouldCallCallbackOnSuccess() throws Exception {
        UrlUpgradeRequest request = new UrlUpgradeRequest(
                "uJ47NPeT7qjLa1gL3sVHqw",
                1,
                0,
                "",
                ""
        );
        CountDownLatch latch = new CountDownLatch(1);

        Client.Callback<UrlUpgradeResponse> callback = new Client.Callback<>() {
            @Override
            public void onSuccess(UrlUpgradeResponse response) {
                System.out.println("getUrlUpgrade 请求响应: " + response.toString());
                latch.countDown();
            }

            @Override
            public void onFailure(Throwable t) {
                t.printStackTrace();
                Assert.fail("getUrlUpgrade 请求失败: " + t.getClass().getSimpleName() + ": " + t.getMessage());
                latch.countDown();
            }
        };

        client.getUrlUpgradeAsync(request, callback);
        Assert.assertTrue("测试超时", latch.await(15, TimeUnit.SECONDS));
    }

}