文件共享
  • iOS
  • Android : Java
  • macOS
  • Windows
  • Web
  • Electron
  • 概述
  • 价格说明
  • 下载
  • 体验 App
  • 下载示例源码
  • 接入指南
  • 快速开始
  • 场景实践
  • 进阶功能
  • 常见错误码
  • 服务端 API v2
  • 客户端 API
  • 常见问题

集成

更新时间:2022-05-26 17:17

1 前提条件

2 准备环境

  • Android Studio 4.0 或以上版本。
  • Android 版本不低于 5.0(推荐使用真机)。
  • Android 设备已经连接到 Internet。

3 集成 SDK

3.1 新建示例工程

此步骤以如何创建新工程为例,如果是集成到已有项目,可忽略此步。

  1. 打开 Android Studio,选择菜单 File > New > New Project

  2. 选择项目类型 Empty Activity

  3. 选择项目存储路径。

  4. 单击 Finish 完成新工程创建。

3.2 导入 SDK

ZegoDocsView SDK 基于 AndroidX 构建,因此被导入的项目也需要基于 AndroidX 构建。如果开发者的项目不满足该要求,请参考 迁移到 AndroidX 进行迁移。

  1. 解压下载的 zegodocsview_android.zip 文件,得到 zegodocsview.aar ,拷贝到你的项目目录 libs/ 文件夹下。

  2. app/build.gradle 文件中的 dependencies 节点下添加以下代码:

    implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
  3. SDK 依赖以下模块,在 app/build.gradle 文件中的 dependencies 节点下添加以下代码:

    // recyclerview
    implementation "androidx.recyclerview:recyclerview:1.1.0" //当前最新版本为1.1.0
    // SDK使用kotlin开发,如果是纯java的项目,需要添加此依赖
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.21" //编写文档时最新版本为1.4.21
  4. 添加权限声明,打开 app/AndroidManifest.xml 文件,添加如下内容:

    <!-- SDK 必须使用的权限 -->
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

注意:由于 Android 6.0 在一些比较重要的权限上要求必须动态申请权限,不能只通过 AndroidMainfest.xml 文件声明权限。因此还需要参考执行如下代码(requestPermissions 是 Activity 的方法)。

   String[] permissionNeeded = {
           "android.permission.WRITE_EXTERNAL_STORAGE",
           "android.permission.READ_EXTERNAL_STORAGE"};

   if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
       if (ContextCompat.checkSelfPermission(this, "android.permission.WRITE_EXTERNAL_STORAGE") != PackageManager.PERMISSION_GRANTED ||
           ContextCompat.checkSelfPermission(this, "android.permission.READ_EXTERNAL_STORAGE") != PackageManager.PERMISSION_GRANTED) {
           requestPermissions(permissionNeeded, 101);
       }
   }

权限说明表格:

权限 必要性 权限说明 需要理由
INTERNET 必要权限 访问网络权限 SDK 基本功能都需在联网的情况下才可以使用
WRITE_EXTERNAL_STORAGE 必要权限 内置 SD 卡写权限 SDK 会将日志和相关配置文件保存在内置 SDK 内
READ_EXTERNAL_STORAGE 必要权限 内置 SD 卡读权限 SDK 上传本地文件时需要
  1. 防止代码混淆

    在 proguard-rules.pro 文件中,为 SDK 添加 -keep 类的配置,这样可以防止混淆 SDK 公共类名称:

    -keep class im.zego.zegodocs.**{*;}