android文件管理器需求分析之一

来源:互联网 发布:网络棋牌赌博判几年 编辑:程序博客网 时间:2024/06/05 16:45

(部分初稿)

正在做一个android文件管理器,代码基本完成,但由于一直以来面向过程开发的,到后期代码量不断增大,Bug频繁出现,修改代码变得非常繁琐、困难。

于是我想从需求分析开始重新对项目进行整合、编码。

算是第一次写需求分析,必然会出现很多Bug,希望前辈们能给予一些建议,求大家给予修正或分享一些想法。



文件管理器需求分析

一、基本功能。

1、文件操作:快捷目录,主页,收藏夹,多项选择,文件打开(点击文件时启动打开方式,不另设置按钮),文件隐藏,添加到桌面,新建,剪切,复制,粘贴,删除,重命名,分享,排序,压缩与解压缩,属性,加入收藏夹,移出收藏夹,按类型搜索,搜索,文件显示

2、设置:主题style设置,文件显示模式,文件管理器的基本设置

3、硬件响应:触摸响应、按键的响应

二、功能详情。

1文件操作

    1.1文件管理器的启动过程

(1)用户点击打开应用图标。

(2)启动应用缓冲加载页面

(3)启动应用主页面

(4)应用读取本地数据、获取屏幕分辨率、然后开始布局

(5)读取主页,进行下一步

(6)加载文件目录并显示 文件(1.2)

 

  1.2文件目录的加载并显示过程[在线程里操作;如果用时过长,可以加入缓冲界面]

(1)获取文件路径(文件夹)

(2)根据文件路径创建文件对象

(3)判断文件对象是否为null

(4)如果文件对象是null,屏幕输出该文件无法访问;否则进行下一步

(5)获取文件夹的子文件list,根据子文件创建新的FileInfo,得到新的文件list2

(6)刷新适配器更新View

(7)获取是否存在原选中位置,滚动列表到选中位置

 

1.3文件的打开过程

(1)用户点击GridView或ListView中的Item

(2)主页面分发点击消息至下一层

(3)底层GridView(ListView)接受点击消息,并随之响应点击事件

(4)通过Item的Id获取点击文件信息

(5)判断文件类型

(6)如果是文件夹,就加载其目录下的文件 刷新适配器;否则就根据文件类型调用相应函数进行下一步处理

 

1.4文件的多项选中

(1)用户点击多项选中按钮,响应事件

(2)把显示复选框的变量设置为true

(3)刷新文件显示的适配器

 

1.5主页

(1)如果用户点击主页按钮,响应事件进行第二步;如果用户长按主页按钮,响应事件进行第四步

(2)判断主页的状态,取得返回对象 File ;如果File 为null;提示消息”文件不存在“,否则进行下一步

(3)主页面滑动中央;并加载显示目录(1.2)

(4)显示主页设置界面

 

1.6判断主页的状态并返回

(1)打开本地数据文档,读取相应数据

(2)如果有相应数据,获取路径并根据其新建File对象,进行第三步;否则进行第四步

(3)如果File对象不为null 且File是文件夹, 进行第 五步;否则进行第四步

(4)将路径设为默认目录(根目录),并以此路径新建File对象;如果此对象不为null ; 将路径写入本地数据文档;并进行第五步

(5)返回File对象。

 

1.7新建

(1)用户点击新建按钮,响应事件进入第二步;用户长按新建文件按钮,响应事件进入第;

(2)启动新建文件对话框,里面有新建文件,新建文件夹两个选项。

(3)用户点击新建文件,进行新建文件(1.8)

(4)用户点击新建文件夹,进行新建文件夹(1.9)

 

1.8新建文件

(1)更改对话框View,出现文件名输入窗口,并打开键盘

(2)文件名默认设置为“新建文本文档.txt”。如果用户点击确认按钮,就进行下一步;如果用户点击屏幕非对话框位置,就退出对话框。如果用户重新更改输入框内容,就进行第六步。

(3)根据文件名和当前目录创建文件对象;如果文件对象为null;就提示消息“创建文件失败“;否则就检测文件是否已经存在,进行下一步

(4)如果文件存在,就提示消息”文件已存在“;否则创建文件;

(5)如果文件创建成功,提示消息“文件成功创建“,退出对话框,进行第七步;否则提示消息”文件创建失败“。

(6)检测输入框里的内容是否等于(“”);如果是,则提示消息“输入为空”;否则进行第三步。

(7)刷新文件目录,滚动列表到新创建的文件上。

 

1.9新建文件夹

(1)更改对话框View,出现文件名输入窗口,并打开键盘(同1.8.1)

(2)文件名默认设置为“新建文件夹”。如果用户点击确认按钮,就进行下一步;如果用户点击屏幕非对话框位置,就退出对话框。如果用户重新更改输入框内容,就进行第六步。

(3)根据文件名和当前目录创建文件对象;如果文件对象为null;就提示消息“创建文件夹失败“;否则就检测文件是否已经存在,进行下一步

(4)如果文件夹存在,就提示消息”文件夹已存在“;否则创建文件;

(5)如果文件夹创建成功,提示消息“文件夹成功创建“,退出对话框,进行第七步;否则提示消息”文件夹创建失败“。

(6)检测输入框里的内容是否等于(“”);如果是,则提示消息“输入为空”;否则进行第三步。

(7)刷新文件目录,滚动列表到新创建的文件夹上

 

1.10剪切

(1)用户点击剪切按钮,响应点击事件,进行下一步;用户长按剪切按钮,响应长按事件,进行第四步

(2)查看选中状态,如果没有选中项,则提示消息”没有选中项”,否则进行下一步

(3)把选中文件存起来,并标记已剪切,提示消息”文件已剪切”;如果存在复选框,就退出复选框

(4)提示消息“剪切”

1.11复制

(1)用户点击复制按钮,响应点击事件,进行下一步;用户长按复制按钮,响应长按事件,进行第四步

(2)查看选中状态,如果没有选中项,提示消息“没有选中项”,否则进行下一步

(3)把选中文件存起来,并标记已复制,提示消息”文件已复制”;如果存在复选框,就退出复选框

(4)提示消息”复制”

1.12粘贴

(1)用户点击粘贴按钮,响应事件,并进行下一步;用户长按粘贴按钮,进行第九步

(2)判断文件标记是否有剪切、复制操作:如果有进行下一步;否则提示消息”没有复制或剪切操作“

(3)弹出粘贴进度框。遍历第一层文件目录,判断粘贴路径是否为源文件的子路径:如果是,提示消息“粘贴..文件失败,目标文件是源文件的子文件;否则检测是否存在同名文件,如果有同名文件则进行第八步,否则进行下一步

(4)判断文件标记:如果标记是剪切,进行第五步;如果标记是复制,进行第七步;

(5)判断文件的起始路径是否在同一个SD卡内:如果在同一个SD卡内,进行第六步;否则进行第七步

(6)遍历所有粘贴文件更改文件目录,并显示剪切文件的进度(大小,速度,剩余时间,起始路径,项目数)

(7)遍历所有粘贴文件,进行文件复制(1.12),并显示粘贴文件进度,复制完毕后,如果文件标记为剪切,删除文件

(8)如果源路径和目的路径一致,如果文件标记为剪切的话,则不改动该文件,如果文件标记为复制则建立文件副本(循环建立副本),进行第七步;进行下一步

(9)否则进行同名文件选择覆盖(重点),弹出同名对话框,让用户选择是否覆盖,进行下一步

(10)如果用户点击覆盖按钮,则退出同名对话框,进行第七步;如果用户点击跳过,则退出对话框;如果用户点击复选框应用到全部,则在下一步时进行用户之前操作

(11)粘贴完毕,如果是剪切操作,清空粘贴板。退出粘贴对话框,释放内存,刷新文件目录,滚动列表到新粘贴的文件上

(12)提示消息“粘贴”

1.12文件复制

(1)提供初始路径,和目的路径,

(2)检测源文件大小和目标存储卡剩余空间大小

(3)如果剩余空间不足,提示消息“粘贴..文件失败,剩余空间不足”,退出文件复制,终止粘贴操作;否则进行文件复制

(4)打开输入流、输出流,进行文件拷贝,并及时将信息(大小,速度,剩余时间,起始路径,项目数)更新UI

(5)关闭输入流、输出流

 

1.13删除

(1)如果用户点击删除按钮,响应点击事件,进行下一步;如果用户长按删除按钮,响应长按事件,进行第七步

(2)如果当前没有选中项,则提示消息”没有选中项”;否则进行下一步

(3)弹出对话框,遍历选中文件,同时让用户确认是否删除选中文件,进行下一步

(4)如果用户点击确认,继续遍历选中文件直到遍历完毕,期间定时更新UI信息,完毕后,进行下一步;如果用户点击取消,退出对话框。

(5)删除文件,显示进度条。

(6)删除完毕后,退出对话框,更新文件列表。

(7)提示消息”删除”

 

1.14重命名

(1)如果用户点击重命名按钮,响应点击事件,进行下一步;如果用户长按重命名按钮,进行

(2)如果当前没有选中项,则提示消息”没有选中项”;否则进行下一步

(3)如果当前状态是多选状态,则进行第八步;否则进行下一步

(4)弹出重命名对话框,text的窗口里为文件名,并打开键盘

(5)如果用户输入名称,点击确定,则进行下一步

(6)获取文本框里的名称,与现有文件名对比,如果文件名没有更改,则不进行文件名的改动。如果文件名改动,则进行文件重命名。

(7)退出对话框,获取文件重命名返回值,如果为true,提示消息”文件重命名成功”,并进行第十二步;如果为false,提示消息”文件重命名失败”

(8)弹出多文件重命名对话框,进行多文件重命名,输入起始文件名称,点击确定,顺序进行文件重命名。

(9)弹出进度对话框,显示实时信息

(10)如果已存在相同名称文件,则跳过该文件名称,把文件名称序号+1继续进行文件重命名。

(11)重命名完毕,提示消息”文件重命名成功”,并进行下一步

(12)刷新文件列表,滚动到重命名的文件上


附:

0 0
原创粉丝点击