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.18版本的依赖为例:

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

快速使用

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

获取Url应用最新升级信息

package com.toolsetlink.upgradelink.api;

import com.google.gson.Gson;
import com.toolsetlink.upgradelink.api.Client;
import com.toolsetlink.upgradelink.api.models.*;
import com.toolsetlink.upgradelink.api.Client.Callback;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;

import java.io.IOException;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;

import static org.junit.Assert.*;

public class SimpleClientTest {

    private Client client;
    private final String accessKeyId = "mui2W50H1j-OC4xD6PgQag";
    private final String accessKeySecret = "PEbdHFGC0uO_Pch7XWBQTMsFRxKPQAM2565eP8LJ3gc";

    @Before
    public void setUp() {
        client = new Client(accessKeyId, accessKeySecret);
    }

    @Test
    public void shouldTriggerSuccessCallback() throws Exception {

        CountDownLatch latch = new CountDownLatch(1);

        // 使用带打印功能的回调
        TestCallback callback = new TestCallback(latch) {
            @Override
            public void onSuccess(UrlUpgradeResponse result) {
                // 打印返回参数
                System.out.println("Received response: ");
                System.out.println("Code: " + result.code);
                System.out.println("msg: " + result.msg);
                super.onSuccess(result);
            }

            @Override
            public void onFailure(Exception e) {
                System.out.println("Error: " + e.getMessage());
                super.onFailure(e);
            }
        };

        client.getUrlUpgrade(new UrlUpgradeRequest(
                "uJ47NPeT7qjLa1gL3sVHqw",
                1,
                0,
                "",
                ""
        ), callback);

        assertTrue(latch.await(1, TimeUnit.SECONDS));

        // 也可以通过Gson格式化输出
        if (callback.result != null) {
            String json = new Gson().toJson(callback.result);
            System.out.println("Formatted JSON response: \n" + json);
        }
    }

    private static class TestCallback implements Callback<UrlUpgradeResponse> {
        final CountDownLatch latch;
        UrlUpgradeResponse result;
        Exception error;

        TestCallback(CountDownLatch latch) {
            this.latch = latch;
        }

        @Override
        public void onSuccess(UrlUpgradeResponse result) {
            this.result = result;
            latch.countDown();
        }

        @Override
        public void onFailure(Exception e) {
            this.error = e;
            latch.countDown();
        }
    }
}