本文为本人的开发笔记,非讨论类文章.

华为云盘集成开发指南

需求

1.在我的文件列表中,设置我的云盘入口,用户点击云盘,可以直接单点登录到个人云盘,浏览云盘文件.[浏览api,登录API]
2.我的会话中,分享云盘文件到会话列表,将云盘文件上传到私有云空间.[私有云上传API]

API的封装

包.类设计

com.huawei.sharedrive.clientadapterFileAdapter.java //视图适配器beanDeviceInfo.java //API请求需要的设备信息DeviceInfoUtil.java //获取设备信息FileIntentTools.java //API接口层,登录request,获取文件列表requestFileRequest.java //文件夹请求APIFileResponse.java //文件夹响应API LoginRequest.java //网盘登录请求API,为了获取tokenLoginResponse.java //网盘登录响应APIMyDirOrFile.java //我的文件MyDocBoxs.java //目录信息MyFile.java //文件信息
com.org.eas.eclit e.uiFileShareCloudActivity.java //分享 and 浏览UI
com.org.eas.eclite.message.openserverDownloadOneBoxRequest.java //分享文件到私有云空间请求DownloadOneBoxResponse.java//分享文件到私有云空间请求
request类:负责参数,url,header,请求协议和方式等的设置
response类:负责数据从JSON格式解析到实体对象

难点:

将文件请求返回的JSON格式的文件信息封装到list``中.

将response获取的Folder和File封装到MyDirOrFile对象,然后添加到List集合.

FileListAdapter.java //文件选择适配器
Context //上下文
List<MyDirOrFile> //填充数据
LayoutInflater //动态视图填充器.非必要
List<String> checklist //选中列表,存储的值是view的position值.
viewHolder.imageview.setTag(boolean)//保存该项是否选中的Boolean值.
getView()方法中,使用view.setTag()还原重用viewHolder,减少视图绘制.

如何在activity中设置文件选中和未选中的效果及数据存储?
1.listview的itemClick事件监听
如果是文件夹,点击后要进入子级目录.
如果是文件,[从view.getTag()获取是否选中,进行checklist进出操作和取反视图,并且设置Tag.]
2.checkbox的onclick事件监听
从view.getTag()获取是否选中,进行checklist进出操作和取反视图,并且设置Tag.

[读取file API]
1>按回退键或返回按钮事件也会读取file API.
重写onKeyDown()方法,捕捉按回退键的处理事件
条件是:非文件夹root层级,按回退键[keycode=keyevent.keycode_back],动作
是按下去[event.getAction=keyevent.action_down]
任务:
1.取消目前正在进行的同步请求
2.清空当前的文件夹列表内容
3.重新设置adapter
4.回退按钮是请求往上级目录.
5.请求文件夹API,使用dirArraylist存储当前浏览的文件目录层级,使用ArrayList的目的就是他是有序列表,存储,第一个是父级.

2>按标题栏返回按钮也是回退到父级菜单,读取file API.
逻辑与[按回退键]相同,如果是root目录(dirArralist.size=0),finish.

3>目录层级操作
点击listview中的文件夹,层级深入一层.
任务:
1.获取当前文件目录对象
2.重新设置adapter
3.目录层级往下级目录.
4.dirarraylist新增一个子层级.dirArray.add(file_pid);
5.设置父id问当前文件夹id. file_pid=item.dirInfo; file_pname=…;
6.请求文件夹api

分享云盘文件到私有云
1.List<MyFile> //存储要分享的文件组织列表.
2.将被选择的文件列表收集
3.请求分享到私有云API.
4.开启异步线程请求,将多个文件封装成一个请求列表,返回一个响应列表.响应状态非200的添加该文件到异常列表.
5.封装结果[成功列表,错误列表]发给请求分享的主activity.

.UI的响应设计

1.进入分享界面就要登录网盘获取tokenid.获取成功后访问网盘的根节点.
2.文件列表项点击事件,点击的如果是文件夹,就根据这个文件夹id,重新进行file API访问.
3.文件分享,分享成功,将文件列表集合返回给会话.
4.回退按钮捕捉.
5.空视图设置
6.等待视图设置

华为云盘sdk集成app开发笔记相关推荐

  1. 【华为云技术分享】使用CloudIDE快速体验基于华为云ModelArts SDK的AI开发

    华为云ModelArts一站式AI开发与管理平台,能够支撑开发者从数据到AI应用的全流程开发过程,包含数据处理.算法开发.模型训练.模型管理.部署等,支持图像分类.图像检测.视频分析.语音识别.产品推 ...

  2. 基于华为云会议SDK 24行代码打造企业专属会议室

    华为已经有着超过20年的视频会议产品研发经验,拥有1000多项视频会议.音视频相关的国际和国内专利技术.华为云会议基于全开放的产品定位,将华为云会议的所有产品能力都开放给伙伴,伙伴可以通过集成华为云会 ...

  3. Unity 华为HMS/AGC SDK集成简介(以接入华为广告流量变现服务为例)

    本篇以接入华为广告为例,介绍如何使Unity项目直接集成 Huawei HMS /AGC 服务. 内容概述 中国Unity封装了基于华为HMS/AGC服务的SDK,对于移动端项目开发,可以直接在Uni ...

  4. 华为云HMS Core 助力鸿蒙开发

    前言 今天看了一期 华为云 HMS Core 助力鸿蒙开发的视频.内容干货满满.下面就视频的内容做一下学习记录. 名词说明 文中涉及到的相关名词 鸿蒙OS == HarmonyOS HarmonyOS ...

  5. 《ArcGIS Runtime SDK for Android开发笔记》——离在线一体化技术:离线矢量数据同步...

    1.前言 上一篇文章中我们实现了离线要素的编辑操作,这一篇中主要介绍离在线一体化技术中最后一个环节离线数据的同步功能,通过对数据的上传,服务器端的版本化管理,实现数据生产管理的整个流程. 转载请注明出 ...

  6. 《ArcGIS Runtime SDK for Android开发笔记》——离在线一体化技术:离线矢量数据下载...

    1.前言 1.1.环境准备: ArcGIS for Desktop 10.4.1(10.2.1以上版本即可) ArcGIS for Server 10.4.1 (10.2.1以上版本即可) Postg ...

  7. 《ArcGIS Runtime SDK for Android开发笔记》——离在线一体化技术:概述

    1.前言 数据生产和数据展示是常见的两大专业级移动GIS应用场景,这里我们针对数据生产环节的ArcGIS的离在线一体化技术给大家做一个基本的介绍和梳理. 使用ArcGIS离在线一体化技术首先需要以下基 ...

  8. 《ArcGIS Runtime SDK for Android开发笔记》——离在线一体化技术:离线矢量数据编辑...

    1.前言 在上一篇我们已经实现了离线地理数据库的下载,这一篇我们着重介绍离线数据库的加载与编辑. 由于ArcGIS Runtime SDK for Android 10.2.X版本并没提供要素绘制功能 ...

  9. 《ArcGIS Runtime SDK for Android开发笔记》——(7)、示例代码arcgis-runtime-samples-android的使用...

    1.前言 学习ArcGIS Runtime SDK开发,其实最推荐的学习方式是直接看官方的教程.示例代码和帮助文档,因为官方的示例一般来说都是目前技术最新,也是最详尽的.对于ArcGIS Runtim ...

最新文章

  1. Express 结合 multer 上传图片
  2. 记dropbox与git不和谐的一个问题
  3. linux boost 1.53编译,boost-1.53源码编译
  4. (第十章)多表查询之in,exitst
  5. 服务器后端开发系列——《实战Nginx高性能Web服务器》 (转载)
  6. 基于格密码的算法研究
  7. 练习题︱豆瓣图书的推荐与搜索、简易版知识引擎构建(neo4j)
  8. sqlplus命令连接oracle数据库,sqlplus命令行登录oracle数据库的N种方法盘点
  9. 一文看尽 6篇 CVPR2021 2D 异常检测论文
  10. Element el-form 表单详解
  11. 《智能搜索和推荐系统》总结
  12. MVC、MVCS、MTV、MVP框架模式
  13. Android 天气APP(十三)仿微信弹窗(右上角加号点击弹窗效果)、自定义背景图片、UI优化调整
  14. 微信小程序如何调用腾讯地图进行定位的简单方法
  15. CreateJs-EaselJs基础
  16. Word中10以内的都是带圆圈的数字到了11就没有圆圈
  17. 虚拟团队模式下的it需求管理
  18. 支付退款流程设计_支付升级:优化收银系统设计小技巧
  19. 爬虫 网站服务器瘫痪,如何解决搜索爬虫高频次抓取导致服务器崩溃的问题
  20. 一个用友友空间,让龙江森工绿色与智慧兼备

热门文章

  1. JMeter从入门到精通
  2. c语言向上取整计算方法
  3. 披露针对安卓手机的高级SMS网络钓鱼攻击,可被远程安装恶意设置项
  4. 2022华为杯C题汽车制造涂装-总装缓存调序区调度优化问题建模解决
  5. 骨传导蓝牙耳机哪个好,性价比最高的骨传导耳机
  6. 在王者荣耀角度下分析面向对象程序设计B中23种设计模式之模板方法模式
  7. Windows系统时间(FILETIME和SYSTEMTIME)
  8. 一个简单的添加额外网卡的方法
  9. 16.13.5 使用ITERATE语句控制流程
  10. Java随机生成数组