华为云盘sdk集成app开发笔记

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

华为云盘集成开发指南
需求

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

API的封装

包.类设计

com.huawei.sharedrive.client
    adapter
        FileAdapter.java //视图适配器
    bean
        DeviceInfo.java //API请求需要的设备信息
        DeviceInfoUtil.java //获取设备信息
        FileIntentTools.java //API接口层,登录request,获取文件列表request
        FileRequest.java //文件夹请求API
        FileResponse.java //文件夹响应API 
        LoginRequest.java //网盘登录请求API,为了获取token
        LoginResponse.java //网盘登录响应API
        MyDirOrFile.java //我的文件
        MyDocBoxs.java //目录信息
        MyFile.java //文件信息
com.org.eas.eclit e.ui
    FileShareCloudActivity.java //分享 and 浏览UI
com.org.eas.eclite.message.openserver
    DownloadOneBoxRequest.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.等待视图设置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值