标题 | 基于新浪开放平台的安卓手机网盘设计与实现 |
范文 | 张小琴++黄晶晶 摘 要:随着智能设备的普及,手机与电脑数据同步问题被提上日程。结合实际需要,利用新浪提供的微盘开放平台,设计了一款基于Android系统的手机网盘。这款手机网盘系统可以进行数据实时同步,用户不受时间和空间限制,可随时随地保存、查看、使用需要的文件资料等。系统界面简单、操作方便、实用性强。 关键词:安卓手机;网盘;新浪开放平台;OAuth2.0 DOIDOI:10.11907/rjdk.1511051 中图分类号:TP319 文献标识码:A 文章编号文章编号:1672-7800(2015)012-0127-03 0 引言 手机等智能设备可随身拍照记录、书写创作灵感、记录设计思路,既是通讯工具,也是存储器,手机与电脑数据相互同步可满足很多业务需求。本文提出了一种基于新浪开放平台的安卓手机与电脑数据同步的系统设计方案,实现了文件存储及同步等基本功能,设计出一款操作简单、功能齐全的手机网盘系统。 本手机网盘系统可以实现数据实时同步,用户可将文件存放到服务器端,方便在外“携带”数据。可以上传、下载、删除文件,以及创建和查询文件。此手机网盘系统不受时间和空间限制,可随时随地查看文件资料,操作方便,界面简单明了。 1 可行性分析 系统设计之前,从运行环境、技术、经济等方面分析了设计方案是否可行。 手机网盘系统是一个小型的网络磁盘系统,所用的资源较小,运行环境要求较低,一般电脑或服务器软硬件都能够满足要求。 随着云存储技术的发展,各大网络媒体为开发者们提供了大量的免费云存储平台以及开放的软件开发工具包(SDK),这使得设计一款手机网盘变得更加简单方便。系统采用B/S模式,在局域网或互联网上运行,用户可以通过Android系统手机或者智能设备访问网盘系统。本系统是一个比较普通的C/S模式信息发布系统,技术上可行。 2 系统设计 网盘系统主要为用户提供一块网络上的存储空间,在这个属于用户的存储空间里,用户可以像在本地计算机上一样随意操纵存储空间内的文件夹和文件。 2.1 系统总体功能架构 系统主要模块是前端手机应用部分,包括以下功能:手机客户端实现服务器端注册与登录,浏览存储卡上的文件,浏览服务器上的文件,选中手机文件后上传至服务器端,选中服务器端文件下载至手机卡等等。手机网盘主要功能模块组成如图1所示[1]。 图1 系统功能模块 2.2 系统设计流程 (1)申请授权。该系统设计需要借助新浪的服务器,因此需要授权。开放平台的核心问题就是用户验证和授权问题,新浪微盘开放平台的用户身份鉴权采用OAuth2.0方式。OAuth是目前国际通用的授权方式,特点是不需要用户在第三方应用输入用户名及密码,就可以申请访问该用户的受保护资源。OAuth最新版本是OAuth2.0,其认证与授权流程更简单、更安全[2]。开发者需要根据各自的应用场景(包括网站、站外Web、桌面以及无线客户端应用),选择适用的OAuth2.0授权流程。申请授权流程如图2所示[2-3]。只有获得授权许可后才能使用新浪提供的各种资源。 图2 授权申请流程 首先,用户向新浪发出授权申请,新浪许可后,用户将授权许可发送给授权服务器;然后获得访问令牌(Access Token),有了访问令牌后才可以访问应用程序编程接口(API)服务器,调用所需要的API。 获得Access Token后,使用Access Token 调用微盘API ,有两种方式:①直接传递参数,名为 access_token (HTTPS:POST/GET),优先级:高,形式::https://openapi.vdisk.me/2/ … &access_token=[ACCESS_TOKEN];②在请求头里添加,优先级:中,形式为在Header里添加: Authorization:OAuth2[空格][ACCESS_TOKEN]。 (2)安装SDK并调用API。新浪微盘目前提供了PHP、Android、IOS、Python的SDK代码,为php、java、object c、python编程用户提供了很多方便。在完成授权之后就可以下载与Android系统对应的SDK文件并安装导入,完成之后即可按照设计需求调用对应的API,主要包括文件的上传、下载,云端文件的删除、移动、重命名等。下面对几个常用的API具体内容以及参数的含义进行说明。 /fileops/copy: 复制一个对象。当前目录下的目录和文件总数不超过10 000个时,可以执行此操作。超过此限额时,需要进入更深层的目录分批操作。 函数:copy(string $from,string $to,null | string $fromCopyRef) :object 参数说明:$from是指需要进行复制的文件或文件夹;$to指目标路径;$fromCopyRef与$from两者只要使用一个就可以了。 /fileops/create_folder:创建目录,一个目录下最多允许创建1 000个子目录。 函数:create(string $path) :object 参数说明:$path是指需要创建的新文件夹。 /files_put上传文件,以PUT方式上传文件。 函数:putFile(string $file,string $toPath,boolean $overwrite,string $parentRev,boolean $safe) :object 参数说明:$file指要上传的文件真实路径;$toPath指目标文件路径;$overwrite指所上传的文件需要覆盖(默认情况为是);$parentRev指当前文件的版本;$safe指是否使用https( 默认为否)。 /files (GET)下载文件。 函数:getFile(string $file,string $outFile,string $revision) :array 参数说明:$file指下载文件路径;$outFile指下载文件重新命名的文件名;$revision指文件新的查找路径。 3 系统功能 经过简单设置以及函数调用,一款简单但功能齐全的手机网盘就设计完成了。用户登录进入网盘系统,就可以进入如图3所示的手机网盘管理系统主界面,可以像对本地硬盘一样对网盘文件管理系统进行操作。 在如图3所示的网盘管理系统操作主界面中,可以看到网盘空间内的当前目录下所包含的文件夹和文件,图3中列表所示文件和文件夹,是当前用户顶级目录下的文件夹目录。在这个系统中,用户可以新建一个文件夹、编辑当前文件夹、删除文件夹或为文件夹上传文件、查看当前上传进度、取消当前上传任务、将文件夹和文件移动到其它文件夹等。 图3 手机网盘系统主界面 在网盘管理系统中,新建文件夹和在本地硬盘上创建文件夹一样。单击右上角的菜单键有如图4的下拉选项。单击其中的“新建文件夹”按钮,用户进入为新建文件夹选择父目录的界面,默认情况下为顶级目录,然后输入文件夹名,单击“确定”按钮即可。当用户创建新文件夹后,可以对新建的文件夹做与之前的文件夹同样的操作。 图4 下拉列表界面 用户可以把不用的文件夹删除。右击文件夹会出现图5所示的界面,单击图5文件夹列表中“删除”按钮,系统会跳出确认删除文件夹的提示框。点击“取消”则取消本次删除操作,点击“确定”后,所选文件夹或文件将被删除。 图5 右按钮功能介绍 在图3中单击“上传”按钮即可打开上传文件界面,如图6所示。用户可以根据需要选择要上传的文件,实现上传功能。 图6 上传界面 上传过程中单击图3中向上的箭头可以查看上传进度,还可以查看已经上传的文件。 此外还可以下载已上传到网盘系统空间里的数据文件。长按文件点击下载按钮即可下载选中的文件。 该手机网盘还有其它功能,在此不再赘述。 4 结语 本文利用新浪所提供的微盘开放平台,设计了一款基于Android系统的手机网盘。在利用优质开放资源的前提下,系统开发过程简单,使用方便,具体体现在:①该网盘系统给用户带来非常轻松、便捷的个人文件管理功能;②该网盘系统解决了现有QQ网盘、金山快盘、360云盘、115网盘等网络磁盘工具对带宽要求高的问题;③该网盘系统可以减少U盘等实体磁盘病毒及木马的传播。 该网盘系统可以简单地进行文件上传、下载等操作,并且可以管理服务器端存储的文件夹与文件,使得数据的存储与携带变得更加方便,也使得工作、生活变得更加轻松便捷。 参考文献参考文献: [1] 刘意先,耿鹏涛.基于Web的网盘系统的设计与实现[J].电子设计工程,2014(8):5-7. [2] 时子庆,刘金兰,谭晓华.基于OAuth2.0的认证授权技术[J].计算机系统应用,2012(3):260-264. [3] 席剑霄.OAuth2.0协议及其应用模式研究[J].软件导刊,2015(7):23-25. (责任编辑:杜能钢) |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。