产品概述
功能介绍
产品优势
应用场景
基本概念
build.gradle 中添加:repositories {google()// 增加这行mavenCentral()}
build.gradle 中添加依赖:dependencies {...// 增加这行implementation 'com.qcloud.cos:smh-android:1.2.37'}
build.gradle 中修改 smh-android 的依赖为:dependencies {...// 修改为implementation 'com.qcloud.cos:smh-android-nobeacon:1.2.37'}
AndroidManifest.xml 中添加如下权限声明:<uses-permission android:name="android.permission.INTERNET"/>
AndroidManifest.xml 中添加如下权限声明:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
SMHSimpleUser的子类,实现获取 libraryId 和 userSpace、请求访问令牌并返回结果的过程。class MySMHSimpleUser: SMHSimpleUser() {override val libraryId: Stringget() = "smh3ptyc9mscifdi"override val userSpace: UserSpaceget() = UserSpace(userId = "7",spaceId = "space1x8mfjgno6nyy")override suspend fun provideAccessToken(): AccessToken {// 首先从您的访问令牌服务器获取包含了访问令牌信息的响应// 然后解析响应,获取访问令牌信息String token = "token"; // 访问令牌 Tokenlong expiresIn = 86400;// 访问令牌的有效时长,单位为秒//建议返回服务器时间作为签名的开始时间,避免由于用户手机本地时间偏差过大导致请求过期// 返回服务器时间作为签名的起始时间long startTime = 1556182000L; //访问令牌有效起始时间,单位是毫秒// 最后返回访问令牌信息对象return new AccessToken(token, startTime, expiresIn);}}
MySMHSimpleUser。初始化一个实例,来给 SDK 提供访问令牌。val mySMHSimpleUser: MySMHSimpleUser = MySMHSimpleUser();
mySMHSimpleUser,初始化一个 SMHCollection 的实例。SMHCollection 提供了访问 SMH 的所有接口,后续文档中的 SMH 均指创建的 SMHCollection 实例。// 初始化 SMHCollection,获取实例val smh: SMHCollection = SMHCollection(context = context,user = mySMHSimpleUser,// 将控制台创建媒体库后显示的“访问域名”赋值给 customHostcustomHost = "<libraryId>.api.tencentsmh.cn")
//目标文件夹val targetDir = Directory()try {val directoryContents: DirectoryContents = smh.list(//目标目录dir = targetDir,//页码page = 1,//每页拉取的数量pageSize = 100,//排序方式orderType = OrderType.NAME,//排序方向orderDirection = OrderDirection.ASC,//过滤类型directoryFilter = DirectoryFilter.ONLY_FILE)//文件/目录列表 其他数量等内容请查看 DirectoryContents 实体内容val contents = directoryContents.contents} catch (e: Exception) {e.printStackTrace()}
文档反馈