20169205 项目进度一 文件资源管理器开发详细计划

20169205 项目进度一 文件资源管理器开发详细计划

所用知识

Android基本组件

1.1 Android四大基本组件介绍
1、Activity
activity代表了界面,一个程序可能在好几个界面里切换,这时每个界面都对应一个activity。
2、Broadcast Receivers
Broadcast Receivers用来提醒用户一些信息,可以启动一个Activity来显示信息。
3、Service
后台运行的服务程序。
4、Content Provide
包装数据以供其他程序使用,其他程序使用ContentResolver 便可以与ContentProvider合作管理进程间数据交互。它是两个程序间数据交换的唯一途径。
1.2 所用组件

软件采用了Activity组件,使用了intent类来实现Activity之间的跳转。实现方法:

Intent intent = new Intent(mainActivity.this,otherActivity.class);
startActivity(intent);

//mainActivity为此刻所在的Activity,otherActivity为跳转的目的Activity

UI设计

2.1 UI设计的基本知识
在Android应用程序开发过程中,主要就是对界面UI的设计与控制,android中的UI元素包括:Activity、View、ViewGroup和布局。Activity不是View但是包括View,View是常说的“组件”或者“控件”。
1、View
在Andorid应用程序中,UI元素称为View,它们都继承了android.view.View类。View有众多的子类,包括ViewGroup、基础控件、高级控件和布局。
基础控件主要包括:Button、ImageButton、ToggleButton、TextView、RadioButton、CheckBox、ImageView、ProgressBar、SeekBar等。
高级控件都直接或者间接的继承了android.view.ViewGroup类,常用的高级控件主要包括:AutoCompleteTextView、Spinner、ListView、GridView、Gallery等。
2、布局管理
布局是指导把各个UI元素在手机屏幕上进行布置。常用的布局包括以下个:
1) FrameLayout(框架布局),通常也叫做帧布局。
2) LinerLayout(线性布局),让所有的UI无成为单一方向的布局。
3) AbsoluteLayout(绝对布局),让所有的UI元素准确的(x ,y)坐标 值进行放置。
4) RelativeLayout(相对布局),将子元素的放置位置与其它元素的位置 相关放置。
5) TableLayout(表格布局),将子元素的位置分配到行或者列中。

2.2 所用UI元素
1、基础控件:Button、TextView、ProgressBar,EditText等。
2、高级控件:ListView
3、布局:LinerLayout(线性布局)、AbsoluteLayout(绝对布局)。
3 数据相关
3.1 文件读写
采用文件读写方式读取SD卡中的文件,并获得文件的绝对路径、文件名、类型等相关信息。
3.2 文件信息存储
采用数据库存储SD卡中文件的信息(绝对路径、文件名、类型) 。
4 多线程
在扫描SD卡中文件信息时采用多线程加快扫描速度。方法如下:

File file[] = new File(“/storage/sdcard0”).listFiles();
If(file[i].isFile())//是文件{
}else if(file[i].isDirectory(){//是文件夹
new Thread(new Runnable() {         //开启线程,加快扫描
                public void run() {
             //扫描当前文件夹
                }
         }).start();
}

数据结构设计

封装软件运行模式

1155137-20170511101905551-1572131910.png

封装提示信息

1155137-20170511101925160-843030299.png

封装文件和文件夹信息

文件与文件夹有许多信息是相同的,因此,给它们定义一个基类:
1155137-20170511102102535-1864355251.png

系统功能类的设计

为了提升代码的可维护性, 应该尽量地把功能代码从UI界面中剥离出来。

使用第三方组件,简化主Activity代码

使用Butter Knife简化Android开发: http://jakewharton.github.io/butterknife/
1155137-20170511102827691-608213257.png

分离UI与功能代码

将功能代码从Fragment中抽取为独立的类,采用“Inject”的方式关联
1155137-20170511102925551-388665787.png
1155137-20170511102932176-1557590874.png

搜索功能必须采用异步调用方式实现

1155137-20170511103012707-708567214.png

分离SearchFolderAsyncTask与UI

为了把SearchFolderAsyncTask类与UI界面(FileExplorerFragment)分 离,特定义以下接口,让FileExplorerFragment实现它
1155137-20170511103051347-1155409795.png

阶段开发计划

时间计划任务成员成果
第十二周完成数据结构和框架设计20169205项目详细计划文档
第十三周底层公共模块开发与设计20169202、20169204接口设计文档
第十四周逻辑功能模块设计与开发20169205、20169207功能说明文档
第十五周测试与交付20169221用户使用文档

转载于:https://www.cnblogs.com/filemanagement/p/6839690.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值