FileLock设计文档

FileLock Design Doc

1. 设计说明

1.1 软件功能描述
1.1.1 两个主要功能
  1. 加密 : 选择文件对文件进行加密保存到指定位置 , 并删除原文件
  2. 解密: 对加密的文件进行解密并还原到文件原位置 , 并删除密文

以下所说的加密和解密均为该两个过程的简写

1.1.2 软件界面
  • Folder Reader 界面 : 从SDCard开始浏览文件 , 一个简单的文件浏览器 , 长按条目可进行加密过程
  • Box Folder 界面 : 浏览已经被加锁的文件 , 点击列表项选择需要解密的文件 , 选择进行解密文件
1.1.3 过程
  1. 打开浏览文件 : 点开APP进入Folder Reader界面 , 点击文件夹可浏览文件
  2. 选择加密 : 长按列表中某文件 , 弹出是否加密文件对话框 , 选择确定 , 则进入保险箱Box Folder界面进行加密 . 加密完成后 , 显示以加密的文件
  3. 进入保险箱 : 在Folder Reader连续点击三次右上角保险箱图片则也可进入保险箱界面
  4. 选择解密 : 在Box Folder界面 , 点击选择解密的列表项 , 弹出是否解密文件对话框 , 同意则开始解密 , 解密完成后仍在Box Folder界面
1.2 运行环境
1.2.1 软件运行环境
分类名称版本语种
操作系统Android2.3及以上版本中文
1.2.2 软件开发环境
分类名称版本语种
操作系统Windows10中文
开发软件Android Studio2.1英文
其他环境JDK1.8
版本控制Git
1.3 设计思想
1.3.1 软件功能结构图

软件结构

1.4 关键技术
1.4.1 加密算法的选择

对已知的加密方式进行对比 , 选择DES加密 , 该加密的优点

  1. Java本身有很好的加密支持
  2. 对大文件的加密 , 加密速度快
1.4.2 进入保险箱界面的方式

由于滑动进入在ListView下的子父组件之间的冲突 , 选择点击三次保险箱图标来进入保险箱

1.4.3 对以加密的文件进行包装的JavaBean
public class FileLock {
    private String _id;
    // 文件名
    private String filename;
    // 文件原路径
    private String filepath;
    // 加密后文件路径
    private String lockpath;

    get and set ...
}
  1. 根据数据库中的filename来显示以加密的文件列表
  2. 根据filepath和lockpath来解密文件并还原位置

2. 模块设计说明

2.1 项目包结构
  • com.sheep3.activity : Activity类
  • com.sheep3.bean : JavaBean包装类
  • com.sheep3.dao : SQLite数据库操作类
  • com.sheep3.util : 文件处理异步任务类以及文件大小获取的工具类
2.2 分层模块
2.2.1 表现层

MainActivity

方法功能
onCreate初始化界面 , 并添加各组件的监听器
inflateListView通过传入的File数组 , 刷新文件列表
onResume刷新界面
属性说明
currentParent当前文件列表的父文件
currentFiles当前文件列表
checkedFile选中的文件
COUNT_TO_BOX记录点击保险箱图片的次数
各组件

BoxActivity

方法功能
onCreate初始化界面并添加各组件监听器
inflateListView刷新列表
属性说明
currentFiles已加密的文件列表
checkedFile选中的加密文件
2.2.2 子线程逻辑层

class DesUtil extends AsyncTask\

2.2.3 SQLite数据库持久层

FileDbDao

这里写图片描述

方法功能
saveFileLock保存一个FileLock
getAll获取所有的FileLock
getFileLockByName根据filename字段的值找FileLock
delectFileLock根据filename字段的值删除FileLock
属性说明
fileDbOpenHelper自己的SQLiteOpenHelper接口实现
dbSQLiteDatabase实例
2.2.4 模型–JavaBean

FileLock

这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值