FileLock设计文档

原创 2016年05月31日 14:42:12

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 软件运行环境
分类 名称 版本 语种
操作系统 Android 2.3及以上版本 中文
1.2.2 软件开发环境
分类 名称 版本 语种
操作系统 Windows 10 中文
开发软件 Android Studio 2.1 英文
其他环境 JDK 1.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接口实现
db SQLiteDatabase实例
2.2.4 模型–JavaBean

FileLock

这里写图片描述

版权声明:本文为博主原创文章,欢迎转载,转载需注明出处~

filelock强大的文件删除工具

  • 2014年05月11日 00:01
  • 903KB
  • 下载

文件锁(Filelock) 与锁定映射文件部分内容

文件锁 JDK 1.4引入了文件加锁机制,允许我们同步访问一个共享文件,不过,竞争同一文件的两个线程有可能在不同的java虚拟机上,或者一个是java线程,另一个是操作系统中其他的某个线程,但文件锁...
  • Hsuxu
  • Hsuxu
  • 2013年07月25日 20:34
  • 1202

java进程文件锁FileLock

import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomA...

FileLock的疑惑和一些理解

最近碰到一个项目,有多个进程,同时操作同一目录的同一文件,笔者使用java语言。由于文件比较小,所以上线后并没有碰到什么问题。但是,我不禁想到一些问题:不同进程对同一个文件进行操作,如何保证数据的正确...

详解进程文件锁FileLock

import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile;...

Java 进程间文件锁FileLock详解

最近需要在两个进程中对同一个文件进行操作,正好Java 提供了文件锁FileLock类,利用这个类可以控制不同程序(JVM)对同一文件的并发访问,实现进程间文件同步操作。      FileLock...

详解进程文件锁FileLock

import java.io.FileNotFoundException;   import java.io.IOException;   import java.io.RandomAccessF...

C#文档编辑器程序设计报告摘要

一、实验要求 该文档编辑器,至少完成以下功能: 文件操作: 新建,打开,保存,退出;       //支持rtf文件 编辑操作: 复制,剪切,粘贴,全选; 查找与替换: 设计查找(替换)窗口,...

Java+FlexPaper+swfTools仿百度文库文档在线预览系统设计与实现

笔者最近在给客户开发文档管理系统时,客户要求上传到管理系统的文档(包括ppt,word,excel,txt)只能预览不允许下载。笔者想到了百度文库和豆丁网,百度文库和豆丁网的在线预览都是利用flash...
  • hil2000
  • hil2000
  • 2013年01月02日 22:13
  • 36538

韩顺平_轻松搞定网页设计(html+css+javascript)_第21讲_js运算符2_js移位运算_学习笔记_源代码图解_PPT文档整理

文西马龙:http://blog.csdn.net/wenximalong/ js基本语法——运算符 关系运算符 ①== 等于 ②> 大于 ③= 大于等于 ⑤ 请大家看个案例,请问输出...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:FileLock设计文档
举报原因:
原因补充:

(最多只允许输入30个字)