[Android第三方类库]OneDrive模块开发小结(二)--- 性能及其他问题解决方案

继上篇OneDrive模块开发小结(一)--- 获取登陆时email http://blog.csdn.net/vic_fang/article/details/23282311 之后,再做一个阶段性小结


1. 关于同步方法和异步方法

onedrive的demon项目中提供了两种方式的api,以获取文件详细信息为例:get(String id), getAsync(String id, LiveOperationListener listener)。get(String id)方式是纯异步的, getAsync(String id, LiveOperationListener listener)需要用户在listener中实现回调接口,回调函数是在UI线程中,所以你可以在这里直接做UI控制的事情


2. 关于获取文件的InputStream

如果你的需求中需要获取文件的InputStream,需要使用download(string upload_location)接口,onedrive在数据结构中提供了两个url,一个link一个upload_location,虽然你可以直接使用这两个url构建HttpURLConnection,但是onedrive内部有验证机制,用这种方式是拿不到对应文件的InputStream的。download(string upload_location)接口返回LiveDownloadOperation对象,该对象提供了getStream方法


3. 关于onedrive需要频繁访问网络,如何提高性能(效率)的问题

项目中提供了缓存机制,构建一个小型数据库,把onedrive访问网络时,一些文件和文件夹的详细信息存储下来,下次需要获取相关数据时,先查找数据库,若没有再从onedrive网络上取数据,并保存到数据库中,当需求中有需要频繁访问onedrive网络时,可以有效提高效率

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值