版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科毕业论文 论文题Android 平台手机文件监控系统的设计与开发学 院计算机科学与教育软件学院 专 业 班 级 姓 名 学 号 指导教师 填表日期 Android 平台手机文件监控系统的设计与开发摘要 随着Android 智能手机的普及,手机的安全问题也就接踵而来。我们都知道,保护系统安全的一个重要组成部分就是保护文件的安全,所以,通过文件监控这个方法来时刻监控文件是否完整是保护系统安全以及发生安全问题后进行初步评估的一个重要基础。不仅如此,在个人私隐方面,监控文件,可以让用户知道自己手机内的文件是否在自己不知情的情况下被他人查看,是一个保护个人私隐的有效途径。本文研究Android 文件
2、系统,发现Android系统API提供了FileObserver抽象类,这是一个基于Linux的INotify机制的类,这个类可以用来监听系统中的文件。文章详细说明如何通过这个类来实现对Android 系统中的多个文件或文件夹进行有效的监控,实现了一个Android平台手机文件监控系统,从而让我们可以通过监控系统查看到文件发生打开、删除、修改等事件。关键词 Android 智能手机;文件监控;FileObserver;JavaABSTRACT With the popularity of the Android smart phone, the phone's security pro
3、blems will follow.We all know that to protect an important part of system security is to protect document security, file monitoring method to monitor file at all times is complete protection system safety and security problems an important basis for a preliminary assessment. Moreover, in terms of pe
4、rsonal privacy, control file, you can let the user know that the files within their own cell phone on their own without the knowledge of others to view, is an effective way to protect personal privacy. In this paper, the Android file system, the Android system API provides FileObserver abstract clas
5、s, which is a Linux-based inotify mechanism class, this class can be used in the monitoring system file. The article detailed description of how to achieve this class Android system in multiple files or folders for effective monitoring, an Android platform for mobile phones file monitoring system, s
6、o that we can through the monitoring system to view file is open, delete, modify and other events.KEYWORDS Android smartphone;File Monitor;FileObserver;Java目录1 前 言11.1课题背景11.2 研究现状22 相关介绍22.1 Android系统基本介绍22.1.1 什么是Android?22.1.2 Android的由来32.1.3 Android系统的特点与优势42.1.4 Android开发环境的配置42.2 Linux的INotif
7、y机制62.2.1 INotify机制基本介绍62.2.2 FileObserver类作用72.2.3 FileObserver类的基本使用方法82.3 java程序设计语言113.系统设计113.1 课题来源113.2 业务需求124.系统分析与设计方案134.1 文件监控系统的总体设计思想134.1.1 实现思想134.1.2 实现步骤13系统流程图:155.监控系统各功能模块155.1 开始界面模块155.2 监控路径选择模块165.3 监控模块175.4 日志查询模块186.各个类的作用18总类:196.1 MainActivity类196.2 FileMonitorService 类
8、206.3 MyFileObserver 类216.4 Utility 类216.5 NavigationView 类226.7 FileLayout 类226.8 FileManagerLayout 类237.系统设计与实现247.1 开发环境工具247.2 硬件环境257.3 监控系统功能测试257.3.1在模拟器中测试:257.3.2在android手机上测试277.3.3测试结论288 总结298.1 毕业设计总结298.2 经验和感想29参考文献31致谢32Android 平台手机文件监控系统的设计与开发1 前 言1.1课题背景 随着科技的发展,以及近年来各种手机操作系统的不断出现,
9、可以说,手机的功能是越来越多也越来越完善。因此,手机也更加像是一台移动微型计算机。在日常生活中,我们使用手机的时间越来越多,甚至在某些方面,手机还代替了个人电脑做到以往只能用个人电脑才能做的事情,譬如:收发邮件,查看文档,网上购物等等。然而,随着对智能手机的依赖,智能手机不仅仅是一个手机的存在,更是一个存放重要个人信息的一个存储器,越来越多的人都在智能手机上存放了一些个人信息,便于日常生活的需要,例如:网上购物的网银账号等。一旦这些信息泄露或损坏,将对手机用户造成无法估计的损失。另一方面,智能手机的越发普及,针对智能手机的恶意软件也不断地出现。这些恶意软件就像计算机软件一般,包含了各种木马、蠕
10、虫、间谍软件或其他病毒,给手机上的用户信息安全带来了极大的威胁。我们都知道,如何维护计算机系统的安全有很多种途径,其中系统中的文件安全问题是不可忽视的。通过文件监控来时刻监控文件是否完整是保护系统安全以及发生安全问题后进行初步评估的一个有效方法。除此之外,监控手机文件在一定程度上也是保护了用户的私隐。例如,手机内的文件在用户不知情的情况下被别人偷看,那么,通过监控系统,用户可以知道自己的什么私隐在什么时候被其他人知道,有了初步的损失估算。为此,对智能手机上的文件进行监控是必不可少的。论文通过对Android的学习和研究后,发现Android系统API里面有着一个名叫FileObserver的抽
11、象类,这是一个基于Linux的INotify机制的类,这个类可以用来监听系统中的某个文件。以此为基础,本文设计实现了一个Android 平台手机文件监控系统。1.2 研究现状 Android中文名称为安卓,实际上是一个基于Linux的手机系统的名称。在2007年11月5日,该系统由Google正式发布。平台由四部分组成,分别是操作系统、中间件、用户界面和应用软件,号称是第一个为移动平台专门打造的真正开放以及完整的移动软件。随着Android平台的普及以及该平台的开放性,许多在Android平台上运行的软件也越来越多。当然,除了那些比较流行的游戏类和一些网络聊天类等软件,杀毒软件也日新月异,还有
12、一些比较实用的文件管理的软件。可以说,Android平台上该有的软件基本都有了,那些不该有的也有所出现。那么,对于文件监控这个模块的软件,是不是就没有了它的存在价值呢?就如上面所说的,文件监控是为了保证数据的完整性以及用于灾情评估的。但是,有人会说,杀毒软件起到的作用不是更加直接?可是,杀毒软件是基本作用是用于杀毒以及维护系统的安全的,对于哪个文件的损坏或者被修改,是无法知道的,这时候,文件监控就起到这个作用。系统在发生病毒感染后,某些文件也许会被修改或者损坏,通过文件监控可以得知是哪个文件被打开过、受到损坏或者被修改。通过得知的结果,手机用户可以以此评估这次中毒可能要面临的损失大概是怎么样的
13、。同时,在日常生活中,手机被不是该手机用户的人所查看,手机用户可以在事后通过文件监控得知自己手机的哪个文档被打开查看过,这样可以起到一定的保护私隐的作用。相信,以后会出现一些功能更加全面的文件管理方面的软件,那些软件除了能对系统内的所有文件进行管理的同时,也有着监控的功能,甚至是对某个文件进行加密。这样的软件,对于手机用户来说,无疑是一个不错的选择。 2 相关介绍2.1 Android系统基本介绍2.1.1 什么是Android? Android,简单来说,是一个开源手机系统的名称。用过Android系统的人都会看到一个类似机器人的图标,这实际上就是Android原来的意思。在2007年11月
14、5日,该系统由Google正式发布。平台由四部分组成,分别是操作系统、中间件、用户界面和应用软件,号称是第一个为移动平台专门打造的真正开放以及完整的移动软件。简单地说,Android是与java、symbian、windows mobile、ios等并驾齐驱在手机市场上的一个手机操作系统平台。在Google发布后的一年,Android正式兴起,而且在很短的时间内就迅速崛起,成为了2010年最热门的手机操作平台。2.1.2 Android的由来Android(中文名为:安卓)美国的一家成立于2003年的公司,它的创办人一共有三位,分别是Andy Rubin,Andy McFadden以及Rich
15、ard Miner Chris White。这家公司的主要业务为有两个,是手机软件和手机操作系统。Andy Rubin创立有两个手机操作系统公司:Danger和Android。曾经,Andy把Danger 和Android分别以5亿和4千万美元分别卖给微软和Google。在2007年11月5日,该系统由Google正式发布。Android平台一共由四部分组成:操作系统(底层)、界面(用户看到的部分)、应用软件以及中间件。同时,Google认为Android是第一个为移动平台专门打造的操作系统,具有开放性以及完整性。Android采用的是一种名叫软件堆层的架构,这种架构又叫做软件叠成架构,这种架
16、构主要分为三部分。分别是底层、中间层以及最上层。其中,以linux作为内核工作基础的是底层,只提供最基本的那些功能。并且这部分的实现是由C语言开发的。至于中间层,却是由C+语言开发。这部分主要包括函数库和虚拟机。最后,则是最上层,通俗来说,这部分相当于我们平常用的各种手机应用软件。这些应用软件大部分由各个公司自行开发,例如通信程序、短信程序等等。还有,最上层与前两层的开发语言又不一样,是用java编写程序的。从Google发布android的那天,Google就和各种与移动设备相关的产业建立起深层次的合作关系,例如软件和硬件开发商、设备制造商、电信运行商等等。同时,Google也希望通过这样的
17、合作,建立起一个具有标准化和开放式特点的手机软件平台,并且形成一个良好的生态系统。2.1.3 Android系统的特点与优势 Android系统是一个完全开放,完全开源,完全的自由式系统。应用程序可以并行运行。方便,快捷的获得应用程序。倘若说之前的Symbian系统以及Windows Mobile系统都是按照别人的意思来生产手机的话,那么Android系统则是让厂商们的彻底地放开了手脚。这也是为什么在Android系统发布不到一年的时间里, HTC Sence、MOTO Blur等众多让人称赞的自定义UI就出现在我们的视线里的原因。大家对于这些优秀的UI可以说是称赞不绝,同时对于发展商来说,这
18、有利于他们宣扬自己的那些品牌理念。所以,越来越多的人们认可了这一个名叫Android的移动平台系统。 还记得2008年以前,我们到市面上买一台功能比较健全的手机,花费可是很大的。然而,对比现在,买一台功能全面的智能手机的价格却不是很高。很多人会说,时代进步了,科技发达了。这种说法很对,但是不准确。Android的出现,可以说是时代的不断进步的结果,其实,最大的原因是android平台的开源。因为,智能手机的操作系统的授权费可是不低的。正是由于Android的这种开源性,广大的厂商在利用Android平台进行手机开发的时候不再需要支付过去那很贵的授权费用。可以说,这是很大程度上减少了厂商们的开发
19、成本,这样,也就有越来越多的厂商愿意投资开发Android平台的移动设备。另一个原因是2009年发生了金融风暴,很多厂商都缩减了开支,这时候android的出现就为他们带来了一条新的道路。2.1.4 Android开发环境的配置 1.安装JDK 在官网上找到JDK的安装包并把安装包下载下来,并且进行安装。安装完后,可以通过打开windows系统的命令提示符,输入java version,如果安装成功,会看到JDK的版本。 2安装Eclipse 在官网上找到Eclipse的压缩包,解压后就可以使用了。如下图,是Eclipse的其中一个版本。 3. 安装Android SDK在Android De
20、velopers下载android-sdk_r05-windows.zip,解压后运行安装。 4.安装ADT 打开Eclipse,打开菜单“helpInstall New Software”。点击Add按钮,具体操作请看下面图片介绍。 5.创建AVD(为了以后配置android的模拟器) 在Eclipse中,进行一下操作:Windows > Android SDK and AVD Manager>Virtual Devices>New>填入Name,选择Target的API(SD Card大小任意,Skin随便选)Hardware目前保持默认值 >Cre
21、ate AVD完成以上操作即可完成创建AVD。2.2 Linux的INotify机制2.2.1 INotify机制基本介绍 1.什么是Inotify 平常,设备的运行维护过程中,我们很多时候是需要备份一些文件的,或者对一些诸如重要的配置文件进行监控。其中linux内核的inotify机制,就能实现对文件的监控。 通过查看资料,Inotify是一个具有强大、细粒度和异步特点的机制。实际上,就是一种基于inode级别文件系统监控技术。很多各种各样的文件监控需求,它都能够很好地完成,不仅是性能,在安全方面也同样出色。对于那些被监视的目标,Inotify是不需要打开它们的文件描述符的。同时,当那些被监
22、控的目标是在可移动的介质里,这个机制在umount那个可移动介质上的文件系统后,那些与文件对应的watch就会被自动删除,这时候会产生一个umount的事件。以下是Inotify机制的特点:Inotify 不仅可以监视文件,而且可以监视目录。Inotify 使用系统调用却不是 SIGIO 来通知文件系统事件。Inotify的接口是通过使用文件的描述符。所以,Inotify监控文件的变化时,是可以使用通常的文件I/O 操作的,例如:select 和 poll。2.Inotify 可监视的文件系统事件1、IN_ACCESS : 文件被访问2、IN_MODIFY : 文件被写入东西3、IN_ATTR
23、IB : 文件属性被修改4、IN_CLOSE_WRITE : 可写的文件被关闭5、IN_CLOSE_NOWRITE : 不可写的文件被关闭6、IN_OPEN : 文件被打开7、IN_MOVED_FROM : 文件被移走,如 mv8、IN_MOVED_TO : 文件被移来,如 mv、cp9、IN_CREATE : 创建新文件10、IN_DELETE : 文件被删除,如 rm11、IN_DELETE_SELF : 可执行文件自己删除了自己(执行过程中)12、IN_MOVE_SELF : 可执行文件自移动(移动过程中)13、IN_UNMOUNT : 宿主文件系统被 umount14、IN_CLOSE
24、 : 文件被关闭,等同于(IN_CLOSE_WRITE | IN_CLOSE_NOWRITE)15、IN_MOVE : 文件被移动,等同于(IN_MOVED_FROM | IN_MOVED_TO)2.2.2 FileObserver类作用 1.概述:FileObserver类是在Android的api中,实际上,这个类是基于linux Inotify机制的。主要用于监控文件的一些事件,例如文件被访问创建、修改、删除、移动等。FileObserver是个抽象类,所以必须继承它才能使用。通过查看Android api文档,得知FileObserver监听的对象可以是一个单独的文件又或者是一个文件夹
25、。当监视的是一个文件夹,那么当该文件夹下所有的文件和子目录发生事件时,FileObserver都会被触发。2.监听的事件类型:1、ACCESS,即文件被访问。2、MODIFY,文件被修改。3、ATTRIB,文件属性被修改,如 chmod、chown、touch 等。4、CLOSE_WRITE,可写文件被 close。5、CLOSE_NOWRITE,不可写文件被 close。6、OPEN,文件被 open。7、MOVED_FROM,文件被移走,如 mv。8、MOVED_TO,文件被移来,如 mv、cp。9、CREATE,创建新文件。10、DELETE,文件被删除,如 rm。11、DELETE_S
26、ELF,自删除,即一个可执行文件在执行时删除自己。12、MOVE_SELF,自移动,即一个可执行文件在执行时移动自己。13、CLOSE,文件被关闭,等同于(IN_CLOSE_WRITE | IN_CLOSE_NOWRITE)。14、ALL_EVENTS,包括上面的所有事件。 2.2.3 FileObserver类的基本使用方法当我们要对一个文件或者文件夹进行监听的时候,我们可以使用android api中的android.os.FileObserver这个抽象类。如何实现一个FileObserver:FileObserver是个抽象类,必须继承它才能使用。这时候,我们可以新建一个类通过exte
27、nds关键字来继承 FileObserver 这个类。然后覆盖其构造器,最后覆盖onEvent(int event,String path)方法:例如:public class MyFileObserver extends FileObserver /* path 是所监听的文件夹或者文件名。 */ public MyFileObserver (String path) super(path); Override public void onEvent(int event, String path) 监听你所关心的事件: 在onEvent(int event,String path)中,我们可
28、以通过匹配event的值,这样,就可以捕获你想要捕获的已经发生的事件。 例如: public void onEvent(int event, String path) switch(event) case android.os.FileObserver.ALL_EVENTS: /所有事件 相当于default的功能 /*相关操作 * */ break; case android.os.FileObserver.CREATE: /文件被创建 /*相关操作 * */ break; case android.os.FileObserver.OPEN : /文件被打开 /*相关操作 * */ brea
29、k; case android.os.FileObserver.ACCESS: /打开文件后,读文件内容操作 /*相关操作 * */ break; case android.os.FileObserver.MODIFY: /文件被修改 /*相关操作 * */ break; case android.os.FileObserver.ATTRIB: /未明操作 /*相关操作 * */ break; case android.os.FileObserver.CLOSE_NOWRITE: /没有编辑文件,关闭/*相关操作 * */ break; case android.os.FileObserver
30、.CLOSE_WRITE: /编辑完文件,关闭 /*相关操作 * */ break; case android.os.FileObserver.DELETE: /文件被删除 /*相关操作 * */ break; case android.os.FileObserver.MOVED_FROM: /文件被移动 /*相关操作 * */ break; 在onEvent(int event,String path)中,path返回的是发生事件的文件名,并且不带路径,当我们在某个事件当中需要找到发生事件的文件就要结合它的路径才能找得到。2.3 java程序设计语言java编程语言是一种风格跟c、c+语言非
31、常接近的语言。既然它们是如此相似,毫不例外,java语言如同C或C+一样也是面向对象的程序设计语言。其中java语言的面向对象技术的核心是从C+语言继承过来的。当然,两者之间也是有所区别的,例如:java舍弃了c语言中的指针。 说起java,就不得不说java语言的跨平台特性。Java语言跟一般的计算机语言的编译执行和解释执行过程有着很大的不同。java不是直接编译的,代码运行之前需要先将源代码编译成字节码,再利用不同平台上的java虚拟机对这些字节码进行解释。所以,在我看来,java语言是一门应用十分广泛的程序设计语言。除此之外,java语言还有其他的特点,就不详细说明。例如:面向对象、解释
32、型、多线程、分布式、健壮、安全、动态、体系结构中立、可移植、高性能等等特点。3.系统设计 3.1 课题来源随着手机越发接近计算机时,病毒或者一些间谍软件也将智能手机当做重点的入侵对象。对于手机用户来说,这是一个很严重的问题,让手机用户时刻面临手机信息安全的威胁。对文件时刻进行监控,是一种保护文件的有效手段同时也是以后的灾情评估的基础,在系统安全上起到重要的作用。为此,文件监控是手机系统仲很重要的一部分。 3.2 业务需求 设计一个android系统上的文件监控系统,为用户提供监控手机上文件的功能,用户可以通过这个系统获取一些关于手机中的文件发生事件后的信息。例如,在用户不知情的情况下,手机中的
33、一个文件被其他人打开并且查看,监控系统就会把这个事件记录下来,用户可以通过监控的系统的日志查看功能知道这件事情。 3.2.1 开始界面 1)开始监控按钮:当用户选择好需要监听的文件或文件夹时,按下这个按钮,就能启动监控系统的监控模块,从而为用户提供监控服务。 2)停止监控按钮: 当用户不再需要监控系统提供监控服务时,就可以按下这个按钮,就能停止监控服务。 3)目录选择模板: 在这个模板上,会显示出当前智能手机上的所有文件目录,用户可以通过这个模板选择自己需要监控的文件目录。 4)日志查看按钮: 当用户已经启用监控系统的监控服务后,当监控范围内的文件发生一些事件(如打开,被删除,被修改等),会通
34、过后台服务把发生事件的时间以及发生什么事件记录在日志上,这时候,用户可以通过点击这个按钮,系统的界面会跳转到日志查看界面,从而让用户知道监控过程中发生的事件以及事件发生时间。 3.3.2 监控并生成日志 1)属于系统后台的服务,是实现监控功能的模块。当用户点击在开始界面上的监控按钮,这个模块就会启动,对用户已经选择好的目录进行监控。 2)当监控系统开始监控服务(用户点击开始监控按钮),系统会生成一个log.txt,负责记录系统监控过程中的信息。 3)监听系统中的文件目录或某一个文件(用户在开始界面选择的目录或文件),当某一个文件发生一些事件时,会把该文件的名字、路径、发生的事件以及发生事件的时
35、间这些信息“写进”之前生成的log.txt文件中。 3.3.3 监控结果查询界面 1)返回按钮: 当用户查看完日志后,可以通过点击这个按钮返回开始界面进行操作。 2)日志显示模块: 显示出log.txt里面的内容,就是把一些文件已经发生的事件、时间、文件名字以及该文件的路径显示出来。 3)刷新按钮: 可以通过这个按钮刷新当前显示状态。例如,当查看日志的同时,有文件发生事件,可以通过刷新按钮刷新当前显示界面的信息。4.系统分析与设计方案4.1 文件监控系统的总体设计思想 4.1.1 实现思想1)分析文件系统,建立文件监控目录列表,用户可以通过这个目录列表选择需要监听的目录。2)根据用户已经选择的
36、目录,为该目录且以及该目录下的子目录设置监听器。(监听器由FileObserver类构成,经过多次的测试,每个FileObserver类对象只能监听一个文件或文件夹,并不像Android 文档上面说的:监听一个文件夹,那么那个文件夹下的所有文件或子文件夹发生事件时,监听器都能响应。实际上当监听的对象是文件夹时,那么,该文件夹下的文件是可以被监听到的,但是,对于文件夹下的子文件夹发生事件,FileObserver是不会响应的。)3)记录文件发生事件(被打开、修改、删除等)后的信息。新建一个.TXT文件,负责保存那些信息。再通过查看.TXT文件,以此作为监控系统的信息查询模块。 4.1.2 实现步
37、骤1)新建一个文件列表的布局类FileLayout。通过android.os.Environment 中的getExternalStorageDirectory()方法获取sd卡的目录路径。自定义方法stringCmp()把文件目录按照字母表排序显示。自定义方法String getSelectedFiles()获取用户选中的要监控的文件列表。2)构造好一个监听器MyFileObserver(extends FileObserver),把所需要响应的事件在onEvent()方法中写好,同时把事件发生后的信息记录在log.txt文件中RandomAccessFile raf = new Rando
38、mAccessFile(log, "rw");raf.write(msg.getBytes("UTF-8")。3)创建一个后台服务类FileMonitorService,用于给目录(已经被用户选中的目录)以及目录下的子目录设置监听器。(递归调用监听器MyFileObserver,以此遍历监听被选目录下的每个子目录)4)创建一个工具类Utility。用于日志信息的接收以及备份。自定义一个方法readFile()读取监听器发送过来的信息。自定义方法backUpLog()备份log。5)方法 initLog()初始化日志界面,用于显示log.txt中的信息。
39、系统流程图:5.监控系统各功能模块5.1 开始界面模块 这个模块主要为用户提供了了一些对监控系统进行一系列操作的按钮,包括开始监控、停止监控、日志查看这三个按钮。界面如下图:5.2 监控路径选择模块 这个模块主要是提供给用户一个选择路径的界面。客户可以从这个界面中选择想要监控的文件夹,同时也能通过这个模块来查看系统中各个目录以及各个目录下的文件。其中,这个界面有一个“上一级”的按钮,通过点击这个按钮可以返回上一个目录。具体界面如下: 5.3 监控模块 这是一个属于后台服务的模块,通过点击开始界面的开始监控按钮以及停止监控按钮会执行监控文件和停止监控这两个功能。这个模块的功能实现过程大致如下:
40、5.4 日志查询模块 通过点击开始界面的日志查看按钮,可以查看监控过程中发生的事件。具体图示如下: 其中,刷新按钮可以用于刷新日志显示,查看最新的日志。例如:当查看日志的过程中,又有文件发生某些事件,这时候,点击刷新按钮,能看到这个刚刚查看过程发生的事件。 返回按钮,点击该按钮能返回主界面。6.各个类的作用总类: 6.1 MainActivity类(相关布局文件:activity_main.xml) 类说明:显示出开始界面,通过点击界面的三个按钮(开始监控、停止监控、日志查看),用户可以对系统进行相关的操作。6.2 FileMonitorService 类类说明:属于后台服务类,接收来自主界面
41、发来的路径信息,根据路径信息,递归调用MyFileObserver类,从而实现遍历监控文件夹的功能。6.3 MyFileObserver 类类说明:监听器,根据FileMonitorService 类的调用,对文件夹进行监控。是监控模块中的监听器,当文件或文件夹发生事件时,能够做出相应的响应,同时把事件信息发送到Utility类。6.4 Utility 类类说明:在sdcard目录下生成log.txt文件,接收来自MyFileObserver类的信息,并把信息记录在log.txt文件里。6.5 NavigationView 类类说明:导航控件,用于响应路径选择模块中上一级、下一级两个控件。记录
42、当前所在的目录6.7 FileLayout 类类说明:是文件列表的布局类,获取sd卡下的文件和目录列表以及获取用户选中的要监控的文件列表。6.8 FileManagerLayout 类类说明:是一个用于主界面的控件布局类。主要用于初始化控件的排版。7.系统设计与实现7.1 开发环境工具1)java 环境:jdk JDK即为Java Development Kit,是Sun Microsystems公司针对Java开发员而研发的产品。可是说,JDK是整个java的核心,里面包括有java的运行环境、工具以及基础类库。2)Android 平台:eclipse + android sdk Eclip
43、se,在我看来,是一个用于进行java代码编写的工具。实际上,通过相关资料的查看,我明白到自己的理解只是很片面的一小部分。它应该是一个可扩展开发平台,例如,本次的Android监控系统就是通过Eclipce和ADT搭配环境后编写的。对于本身来说,它只是一个框架以及一组服务,依靠插件组件来构建开发环境。当然它自身附带了一个标准的插件集,其中包括Java的开发工具JDK。很多人都把Eclipse仅仅当作java的开发环境来使用,事实上,它的功能不仅仅是这样。它有一个组件PDE,具有能让软件开发人员扩展Eclipse的功能,软件开发员通过这个组件往Eclipse中插入一些插件,从而搭配成一个用于其他
44、开发的环境。另外,Eclipse也是适用于其他语言的。例如,C/C+、COBOL、PHP等编程语言的插件有得已经可以使用或者有得预计将会推出。 SDK即为software development kit,是一个软件开发工具包。Android SDK就是指专门用于进行Android开发的软件工具包。3)Android 手机模拟器 当利用上面介绍的开发工具搭建好Android 开发环境后,就可以通过Android SDK自带的工具配置一个Android的模拟器,通过这个模拟器,我们可以测试相关版本的Android程序。7.2 硬件环境本系统运行环境所需用到的环境为:硬件配置 :中央处理器(CPU)
45、 :P4 2.0G的处理器;硬 盘:40GB以上硬盘;内 存:1024 DDR内存;显示器:17寸显示器等;软件环境:WINDOWS XP/Win7。7.3 监控系统功能测试 7.3.1在模拟器中测试:测试前期准备:1)往Android模拟器中安装监控系统 FileMonitor 2)往Android模拟器的sdcard中添加了两个文件, 其中,1.txt在sd卡的目录下 另外,2.txt在sd卡的子目录DCI下 测试说明:由于文件能发生的事件比较多,所以选取了删除以及修改这两个事件作为测试事件。打开监控系统图标,进入监控系统。1、主界面(路径选择)由上图所示,在sdcard的左边打了一个勾(
46、选择了sdcard作为监控的文件夹)然后点击开始监控,系统开始监控sdcard。 2、查询日志 点击日志查看按钮,界面跳转到日志查看的界面,通过日志显示可以看出: 对两个文件进行相关的操作后,无论是直接在sdcard目录下的1.txt还是在sdcard子目录下的2.txt都被监控到了,并且发生的事件都在日志中显示。 7.3.2在android手机上测试 1、软件打开界面 2、路径选择 以Music这个文件夹作为监控目录,点击开始监控,系统开始监控Music这个文件夹里面的所有文件(文件夹)。 3、 监控结果(日志查看) 打开Music文件夹下的音乐文件“陈柏宇-潮密语.mp3”, 系统日志显示
47、出该文件在晚上11点55分被打开。 7.3.3测试结论 经过在模拟器以及android智能手机上对本系统的测试可以看出,本系统基本能实现监控需求。8 总结8.1 毕业设计总结 本毕业设计实现了简单的在Android平台上的文件监控系统。在功能方面,通过以上在模拟器以及Android手机上的测试可以看出,本监控系统是能够比较好地实现了监控功能。至于界面,由于学习Android的时间比较短,很多关于界面布局的知识都没有学到,所以做出来的系统很简单而且色彩单调。同时,在做这个系统的过程中,发现有很多java的知识还是没有掌握好,用java编写代码还是不熟练。例如:有时候在一个类中要用到别的类时,会出
48、现错误,这是因为忘记声明那个类的对象。诸如这样的小问题,在编写代码的过程中总是出现。所以在今后,要多注意代码编写的细节,多看看别人写的代码,同时多练习,从而减少在那些细节上发生的错误。可以说,毕业设计大致上是完成了。可是,对于刚刚上面所说的那些错误或者系统的不完善,我还是会不断改善自己同时也改进这个文件监控系统。我并不会因为完成了毕业设计就停下对Android方面的学习。通过日后的再学习,我会把这个系统做得更好,例如:把界面设计得更加美观,让用户用起来更加的方便舒服。或者,在监控的基础上加上一些实用的功能,例如加上一个文件管理的模块,甚至是加上能进行文件的传输功能等等。同时,希望能通过这次的实
49、践,对以后的工作或研究有所帮助。8.2 经验和感想 在这次毕业设计实践中,要学习的东西还是不少的。刚开始接触Android方面的开发,跟着教学视频做出第一个Helloword的Android程序,当时就像是在大一的时候,第一次学习c语言那样的情景。可以说,在这次实践中,最大的收获就是学习到关于Android方面开发的知识。另一方面,在看完Android的教学视频后,开始进行毕业设计的代码编写的过程中,我明白到了一些东西。刚刚开始的时候,可以说是毫无头绪,于是在网上查看了一些关于Android 监控文件的一些资料,最后发现了Android.os包下的FileObserver类,于是查看
50、Android文档,里面写到当FileObserver类监听文件夹,那么文件夹下所有的文件和级联子目录的改变都会触发监听的事件。那时候,我天真地以为只要做一个界面activity,然后调用一个继承FileObserver类的服务类就可以了。可是结果不如我意,程序运行后,没有起到监听的效果。后来经过查阅了网上的资料以及自己进行了测试才知道,Android文档说的不完全正确。我的理解是:要实现监听文件夹下的所有文件(包含子文件夹),并且能对事件做出响应,是需要对每一个文件(文件夹)设置一个监听器(FileObserver类)。从这事了解到,当学习了一些新的东西的时候,不仅仅是需要学习,还要进行相关
51、的实践,这样才真正的学到所要学的东西。参考文献1 韩超. Android经典应用程序开发J . 人力资源出版社,2011:3-18.2 马越. Android的架构与应用D.中国地质大学(北京),2008.3 陈煜. 基于Android系统的手机文件管理器的设计与实现D.西南交通大学,2012.4 左玲. 基于Android恶意软件检测系统的设计与实现D.电子科技大学,2012.5 李凯. Android操作系统分析与移植D.华南理工大学,2011.6 冯相忠. 计算机类专业的JAVA语言程序设计课程的教学研究J. 福建电脑,2009:31.7 陈璟,陈平华,李文亮. Android内核分析J. 现代计算机(专业版),2009:112-115.8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电力企业安全管理制度流程
- 中心校心理健康教育实施方案
- 小学科技创新大赛活动方案
- 商业管理辅助行业营销策略方案
- 文化创意产业项目全过程咨询管理方案
- 单簧管市场需求与消费特点分析
- 高级商场沿街门面租赁协议样本
- 2024年全方位运营合作协议模板
- 办公空间1124装修工程承包协议
- 2024年度车辆指定洗护服务协议
- 绿城物业服务协议书范本2024年
- 血标本采集法并发症
- DB15-T 3651-2024 光伏项目防沙治沙技术规程
- 2024年安全员C证考试题库附答案
- 2024至2030年中国钢铁行业当前现状及未来趋势发展预测报告
- 2024年领导干部任前廉政知识测试试卷题库及答案
- 项目经理或管理招聘面试题与参考回答(某大型国企)
- 中医外科揿针
- DB13T 5958-2024 金属非金属露天矿山采场边坡安全监测技术规范
- 2024年新华师大版七年级上册数学全册课件(新版教材)
- 2024年统编版新教材语文小学一年级上册第二单元测试题(有答案)
评论
0/150
提交评论