欢迎来到天天文库
浏览记录
ID:52848525
大小:5.19 MB
页数:33页
时间:2020-03-26
《Android云存储客户端开发 杜纪魁沈建国教学资源项目9 功能拓展模块.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、文件上传01任务功能拓展模块项目9文件下载02任务拍照上传03任务分享04任务主要完成文件的上传下载、拍照上传和资源分享等功能功能拓展模块1文件上传功能流程图1文件上传功能需求1)视图层,界面实现根据原型图设计实现文件上传窗口View。1文件上传功能需求2)控制层,用户选择上传文件点击Toolbar中的上传标签,弹出文件资源管理器,选择所需上传的文件。3)服务层,调用openstack提供的上传接口实现上传这里调用openstack中的上传方法,传递的参数为上传文件路径和所要上传到的目录。4)控制层,返回结果处理上传可能的情况包含:(1)所需上传的文件格式无法识别,提示用户上传失败,文件
2、格式不对;(2)所上传的文件已经存在,提示用户上传失败,文件已存在。(3)上传成功,提示用户上传成功。1文件上传实现步骤选择FileOpen..,点击弹出选择project93目录下面的项目“swiftstorage”2)新建一个GraphicsUtil工具类此工具类为图形帮助类,此类中的方法将原始路径转化为文件路径,该类中包含以下方法.//获得照片的旋转方向publicstaticintgetCameraPhotoOrientation(Contextcontext,UriimageUri,StringimagePath)throwsIOException//获得照片的路径publ
3、icstaticintgetOrientation(Contextcontext,UriimageUri)throwsIOException//获得照片的原始路径publicstaticStringgetOriginalFilePath(Contextcontext,UriimageUri)1文件上传实现步骤3)在MainActivity中对上传标签进行处理在MainActivity中的方法中对菜单的新建目录选项进行操作。if(id==R.id.action_upload){this.currentFragment.upload();}调用当前Fragment中的upload()方法。
4、1文件上传实现步骤4)新建一个静态变量privatestaticfinalintACTION_SELECT_CONTENT_FROM_UPLOAD=2;此静态变量用来传输选择的本地的文件5)在MainFragment中完成操作(1)实现SFileEditable接口下的upload()的方法。@Overridepublicvoidupload(){runupload();}1文件上传实现步骤(2)通过Intent方法调用本地文件资源管理器//打开文件资源管理器privatevoidrunupload(){Intentintent=newIntent();intent.setAction(
5、Intent.ACTION_GET_CONTENT);intent.setType("*/*");intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);intent.addCategory(Intent.CATEGORY_OPENABLE);startActivityForResult(intent,ACTION_SELECT_CONTENT_FROM_UPLOAD);}(3)通过onActivityResult方法来回调传输数据//处理回传数据,判断上传是否成功publicvoidonActivityResult(intrequestCode,
6、intresultCode,Intentdata)执行异步任务,在异步任务中调用SDK中的上传方法,完成后刷新列表1文件上传功能执行测试1)执行效果选择项目Android的“app”,点击工具条中运行Run“app”,执行的效果如图6-5所示,填入已经注册好的用户名和密码,进行登录验证。2文件下载功能流程图2文件下载功能需求1)视图层,界面实现根据原型图设计实现文件下载窗口View。2文件下载功能需求2)控制层,用户选择下载文件,点击下载标签点击所需下载文件的复选框,点击右上角下拉菜单中的下载标签,显示文件下载进度条。3)服务层,调用openstack提供的下载接口实现下载这里调用ope
7、nstack中的下载方法,传递的参数为容器名称和所要下载文件的路径。4)控制层,返回结果处理下载可能的情况包含:(1)下载成功,进度条消失,提示用户成功;(2)下载失败,提示错误。2文件下载实现步骤1)导入项目选择FileOpen..,点击弹出选择project91目录下面的项目“swiftstorage”。2)在MainActivity中对上传标签进行处理在MainActivity中的方法中对菜单的新建目录选项进行操作。if(i
此文档下载收益归作者所有