全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 阿里云办公 培训与认证 物联网
消息服务

安装

更新时间:2017-06-07 13:26:11

直接引入jar包

当您下载了MNS Android SDK 的 zip 包后,进行以下步骤(对Android studio 或者 Eclipse 都适用):

  • 在官网下载 sdk 包
  • 解压后得到 jar 包,目前包括 aliyun-mns-sdk-android-2.2.1.jar、okhttp-3.2.0.jar 和 okio-1.6.0.jar
  • 将以上 3 个 jar 包导入 libs 目录

权限设置

以下是 MNS Android SDK 所需要的 Android 权限,请确保您的 AndroidManifest.xml 文件中已经配置了这些权限,否则,SDK 将无法正常工作。

  1. <uses-permission android:name="android.permission.INTERNET"></uses-permission>
  2. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
  3. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
  4. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

混淆设置

在混淆配置中加入:

  1. -keep class com.alibaba.sdk.android.oss.** { *; }
  2. -dontwarn okio.**
  3. -dontwarn org.apache.commons.codec.binary.**

对 SDK 中同步接口、异步接口的一些说明

考虑到移动端开发场景下不允许在UI线程执行网络请求的编程规范,SDK大多数接口都提供了同步、异步两种调用方式,同步接口调用后会阻塞等待结果返回,而异步接口需要在请求时需要传入回调函数,请求的执行结果将在回调中处理。

同步接口不能在UI线程调用。遇到异常时,将直接抛出ClientException或者ServiceException异常,前者指本地遇到的异常如网络异常、参数非法等;后者指MNS返回的服务异常,如鉴权失败、服务器错误等。

异步请求遇到异常时,异常会在回调函数中处理。

此外,调用异步接口时,函数会直接返回一个Task,Task可以取消、等待直到完成、或者直接获取结果。如:

  1. MNSAsyncTask task = mns.asyncGetObejct(...);
  2. task.cancel(); // 可以取消任务
  3. task.waitUntilFinished(); // 等待直到任务完成
  4. GetObjectResult result = task.getResult(); // 阻塞等待结果返回

接口支持同步和异步两种调用方式,考虑到简洁性,本文档中只有部分重要接口会同时提供同步、异步两种调用的示例,其他接口暂时以异步调用的示例为主。

本文导读目录