毕业论文-基于android 平台的手机文件监控系统的设计与开发_第1页
毕业论文-基于android 平台的手机文件监控系统的设计与开发_第2页
毕业论文-基于android 平台的手机文件监控系统的设计与开发_第3页
毕业论文-基于android 平台的手机文件监控系统的设计与开发_第4页
毕业论文-基于android 平台的手机文件监控系统的设计与开发_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业论文论文题目基于ANDROID平台的手机文件监控系统的设计与开发学院计算机科学与教育软件学院专业班级姓名学号指导教师填表日期基于ANDROID平台手机文件监控系统的设计与开发摘要随着ANDROID智能手机的普及,手机的安全问题也就接踵而来。我们都知道,保护系统安全的一个重要组成部分就是保护文件的安全,所以,通过文件监控这个方法来时刻监控文件是否完整是保护系统安全以及发生安全问题后进行初步评估的一个重要基础。不仅如此,在个人私隐方面,监控文件,可以让用户知道自己手机内的文件是否在自己不知情的情况下被他人查看,是一个保护个人私隐的有效途径。本文研究ANDROID文件系统,发现ANDROID系统API提供了FILEOBSERVER抽象类,这是一个基于LINUX的INOTIFY机制的类,这个类可以用来监听系统中的文件。文章详细说明如何通过这个类来实现对ANDROID系统中的多个文件或文件夹进行有效的监控,实现了一个ANDROID平台手机文件监控系统,从而让我们可以通过监控系统查看到文件发生打开、删除、修改等事件。关键词ANDROID智能手机;文件监控;FILEOBSERVER;JAVAABSTRACTWITHTHEPOPULARITYOFTHEANDROIDSMARTPHONE,THEPHONESSECURITYPROBLEMSWILLFOLLOWWEALLKNOWTHATTOPROTECTANIMPORTANTPARTOFSYSTEMSECURITYISTOPROTECTDOCUMENTSECURITY,FILEMONITORINGMETHODTOMONITORFILEATALLTIMESISCOMPLETEPROTECTIONSYSTEMSAFETYANDSECURITYPROBLEMSANIMPORTANTBASISFORAPRELIMINARYASSESSMENTMOREOVER,INTERMSOFPERSONALPRIVACY,CONTROLFILE,YOUCANLETTHEUSERKNOWTHATTHEFILESWITHINTHEIROWNCELLPHONEONTHEIROWNWITHOUTTHEKNOWLEDGEOFOTHERSTOVIEW,ISANEFFECTIVEWAYTOPROTECTPERSONALPRIVACYINTHISPAPER,THEANDROIDFILESYSTEM,THEANDROIDSYSTEMAPIPROVIDESFILEOBSERVERABSTRACTCLASS,WHICHISALINUXBASEDINOTIFYMECHANISMCLASS,THISCLASSCANBEUSEDINTHEMONITORINGSYSTEMFILETHEARTICLEDETAILEDDESCRIPTIONOFHOWTOACHIEVETHISCLASSANDROIDSYSTEMINMULTIPLEFILESORFOLDERSFOREFFECTIVEMONITORING,ANANDROIDPLATFORMFORMOBILEPHONESFILEMONITORINGSYSTEM,SOTHATWECANTHROUGHTHEMONITORINGSYSTEMTOVIEWFILEISOPEN,DELETE,MODIFYANDOTHEREVENTSKEYWORDSANDROIDSMARTPHONE;FILEMONITOR;FILEOBSERVER;JAVA目录1前言111课题背景112研究现状22相关介绍221ANDROID系统基本介绍2211什么是ANDROID2212ANDROID的由来3213ANDROID系统的特点与优势4214ANDROID开发环境的配置422LINUX的INOTIFY机制6221INOTIFY机制基本介绍6222FILEOBSERVER类作用7223FILEOBSERVER类的基本使用方法823JAVA程序设计语言113系统设计1131课题来源1132业务需求124系统分析与设计方案1341文件监控系统的总体设计思想13411实现思想13412实现步骤13系统流程图155监控系统各功能模块1551开始界面模块1552监控路径选择模块1653监控模块1754日志查询模块186各个类的作用18总类1961MAINACTIVITY类1962FILEMONITORSERVICE类2063MYFILEOBSERVER类2164UTILITY类2165NAVIGATIONVIEW类2267FILELAYOUT类2268FILEMANAGERLAYOUT类237系统设计与实现2471开发环境工具2472硬件环境2573监控系统功能测试25731在模拟器中测试25732在ANDROID手机上测试27733测试结论288总结2981毕业设计总结2982经验和感想29参考文献31致谢32ANDROID平台手机文件监控系统的设计与开发1前言11课题背景随着科技的发展,以及近年来各种手机操作系统的不断出现,可以说,手机的功能是越来越多也越来越完善。因此,手机也更加像是一台移动微型计算机。在日常生活中,我们使用手机的时间越来越多,甚至在某些方面,手机还代替了个人电脑做到以往只能用个人电脑才能做的事情,譬如收发邮件,查看文档,网上购物等等。然而,随着对智能手机的依赖,智能手机不仅仅是一个手机的存在,更是一个存放重要个人信息的一个存储器,越来越多的人都在智能手机上存放了一些个人信息,便于日常生活的需要,例如网上购物的网银账号等。一旦这些信息泄露或损坏,将对手机用户造成无法估计的损失。另一方面,智能手机的越发普及,针对智能手机的恶意软件也不断地出现。这些恶意软件就像计算机软件一般,包含了各种木马、蠕虫、间谍软件或其他病毒,给手机上的用户信息安全带来了极大的威胁。我们都知道,如何维护计算机系统的安全有很多种途径,其中系统中的文件安全问题是不可忽视的。通过文件监控来时刻监控文件是否完整是保护系统安全以及发生安全问题后进行初步评估的一个有效方法。除此之外,监控手机文件在一定程度上也是保护了用户的私隐。例如,手机内的文件在用户不知情的情况下被别人偷看,那么,通过监控系统,用户可以知道自己的什么私隐在什么时候被其他人知道,有了初步的损失估算。为此,对智能手机上的文件进行监控是必不可少的。论文通过对ANDROID的学习和研究后,发现ANDROID系统API里面有着一个名叫FILEOBSERVER的抽象类,这是一个基于LINUX的INOTIFY机制的类,这个类可以用来监听系统中的某个文件。以此为基础,本文设计实现了一个ANDROID平台手机文件监控系统。12研究现状ANDROID中文名称为安卓,实际上是一个基于LINUX的手机系统的名称。在2007年11月5日,该系统由GOOGLE正式发布。平台由四部分组成,分别是操作系统、中间件、用户界面和应用软件,号称是第一个为移动平台专门打造的真正开放以及完整的移动软件。随着ANDROID平台的普及以及该平台的开放性,许多在ANDROID平台上运行的软件也越来越多。当然,除了那些比较流行的游戏类和一些网络聊天类等软件,杀毒软件也日新月异,还有一些比较实用的文件管理的软件。可以说,ANDROID平台上该有的软件基本都有了,那些不该有的也有所出现。那么,对于文件监控这个模块的软件,是不是就没有了它的存在价值呢就如上面所说的,文件监控是为了保证数据的完整性以及用于灾情评估的。但是,有人会说,杀毒软件起到的作用不是更加直接可是,杀毒软件是基本作用是用于杀毒以及维护系统的安全的,对于哪个文件的损坏或者被修改,是无法知道的,这时候,文件监控就起到这个作用。系统在发生病毒感染后,某些文件也许会被修改或者损坏,通过文件监控可以得知是哪个文件被打开过、受到损坏或者被修改。通过得知的结果,手机用户可以以此评估这次中毒可能要面临的损失大概是怎么样的。同时,在日常生活中,手机被不是该手机用户的人所查看,手机用户可以在事后通过文件监控得知自己手机的哪个文档被打开查看过,这样可以起到一定的保护私隐的作用。相信,以后会出现一些功能更加全面的文件管理方面的软件,那些软件除了能对系统内的所有文件进行管理的同时,也有着监控的功能,甚至是对某个文件进行加密。这样的软件,对于手机用户来说,无疑是一个不错的选择。2相关介绍21ANDROID系统基本介绍211什么是ANDROIDANDROID,简单来说,是一个开源手机系统的名称。用过ANDROID系统的人都会看到一个类似机器人的图标,这实际上就是ANDROID原来的意思。在2007年11月5日,该系统由GOOGLE正式发布。平台由四部分组成,分别是操作系统、中间件、用户界面和应用软件,号称是第一个为移动平台专门打造的真正开放以及完整的移动软件。简单地说,ANDROID是与JAVA、SYMBIAN、WINDOWSMOBILE、IOS等并驾齐驱在手机市场上的一个手机操作系统平台。在GOOGLE发布后的一年,ANDROID正式兴起,而且在很短的时间内就迅速崛起,成为了2010年最热门的手机操作平台。212ANDROID的由来ANDROID(中文名为安卓)美国的一家成立于2003年的公司,它的创办人一共有三位,分别是ANDYRUBIN,ANDYMCFADDEN以及RICHARDMINERCHRISWHITE。这家公司的主要业务为有两个,是手机软件和手机操作系统。ANDYRUBIN创立有两个手机操作系统公司DANGER和ANDROID。曾经,ANDY把DANGER和ANDROID分别以5亿和4千万美元分别卖给微软和GOOGLE。在2007年11月5日,该系统由GOOGLE正式发布。ANDROID平台一共由四部分组成操作系统(底层)、界面(用户看到的部分)、应用软件以及中间件。同时,GOOGLE认为ANDROID是第一个为移动平台专门打造的操作系统,具有开放性以及完整性。ANDROID采用的是一种名叫软件堆层的架构,这种架构又叫做软件叠成架构,这种架构主要分为三部分。分别是底层、中间层以及最上层。其中,以LINUX作为内核工作基础的是底层,只提供最基本的那些功能。并且这部分的实现是由C语言开发的。至于中间层,却是由C语言开发。这部分主要包括函数库和虚拟机。最后,则是最上层,通俗来说,这部分相当于我们平常用的各种手机应用软件。这些应用软件大部分由各个公司自行开发,例如通信程序、短信程序等等。还有,最上层与前两层的开发语言又不一样,是用JAVA编写程序的。从GOOGLE发布ANDROID的那天,GOOGLE就和各种与移动设备相关的产业建立起深层次的合作关系,例如软件和硬件开发商、设备制造商、电信运行商等等。同时,GOOGLE也希望通过这样的合作,建立起一个具有标准化和开放式特点的手机软件平台,并且形成一个良好的生态系统。213ANDROID系统的特点与优势ANDROID系统是一个完全开放,完全开源,完全的自由式系统。应用程序可以并行运行。方便,快捷的获得应用程序。倘若说之前的SYMBIAN系统以及WINDOWSMOBILE系统都是按照别人的意思来生产手机的话,那么ANDROID系统则是让厂商们的彻底地放开了手脚。这也是为什么在ANDROID系统发布不到一年的时间里,HTCSENCE、MOTOBLUR等众多让人称赞的自定义UI就出现在我们的视线里的原因。大家对于这些优秀的UI可以说是称赞不绝,同时对于发展商来说,这有利于他们宣扬自己的那些品牌理念。所以,越来越多的人们认可了这一个名叫ANDROID的移动平台系统。还记得2008年以前,我们到市面上买一台功能比较健全的手机,花费可是很大的。然而,对比现在,买一台功能全面的智能手机的价格却不是很高。很多人会说,时代进步了,科技发达了。这种说法很对,但是不准确。ANDROID的出现,可以说是时代的不断进步的结果,其实,最大的原因是ANDROID平台的开源。因为,智能手机的操作系统的授权费可是不低的。正是由于ANDROID的这种开源性,广大的厂商在利用ANDROID平台进行手机开发的时候不再需要支付过去那很贵的授权费用。可以说,这是很大程度上减少了厂商们的开发成本,这样,也就有越来越多的厂商愿意投资开发ANDROID平台的移动设备。另一个原因是2009年发生了金融风暴,很多厂商都缩减了开支,这时候ANDROID的出现就为他们带来了一条新的道路。214ANDROID开发环境的配置1安装JDK在官网上找到JDK的安装包并把安装包下载下来,并且进行安装。安装完后,可以通过打开WINDOWS系统的命令提示符,输入JAVAVERSION,如果安装成功,会看到JDK的版本。2安装ECLIPSE在官网上找到ECLIPSE的压缩包,解压后就可以使用了。如下图,是ECLIPSE的其中一个版本。3安装ANDROIDSDK在ANDROIDDEVELOPERS下载ANDROIDSDK_R05WINDOWSZIP,解压后运行安装。4安装ADT打开ECLIPSE,打开菜单“HELPINSTALLNEWSOFTWARE”。点击ADD按钮,具体操作请看下面图片介绍。5创建AVD为了以后配置ANDROID的模拟器在ECLIPSE中,进行一下操作WINDOWSANDROIDSDKANDAVDMANAGERVIRTUALDEVICESNEW填入NAME,选择TARGET的API(SDCARD大小任意,SKIN随便选)HARDWARE目前保持默认值CREATEAVD完成以上操作即可完成创建AVD。22LINUX的INOTIFY机制221INOTIFY机制基本介绍1什么是INOTIFY平常,设备的运行维护过程中,我们很多时候是需要备份一些文件的,或者对一些诸如重要的配置文件进行监控。其中LINUX内核的INOTIFY机制,就能实现对文件的监控。通过查看资料,INOTIFY是一个具有强大、细粒度和异步特点的机制。实际上,就是一种基于INODE级别文件系统监控技术。很多各种各样的文件监控需求,它都能够很好地完成,不仅是性能,在安全方面也同样出色。对于那些被监视的目标,INOTIFY是不需要打开它们的文件描述符的。同时,当那些被监控的目标是在可移动的介质里,这个机制在UMOUNT那个可移动介质上的文件系统后,那些与文件对应的WATCH就会被自动删除,这时候会产生一个UMOUNT的事件。以下是INOTIFY机制的特点INOTIFY不仅可以监视文件,而且可以监视目录。INOTIFY使用系统调用却不是SIGIO来通知文件系统事件。INOTIFY的接口是通过使用文件的描述符。所以,INOTIFY监控文件的变化时,是可以使用通常的文件I/O操作的,例如SELECT和POLL。2INOTIFY可监视的文件系统事件1、IN_ACCESS文件被访问2、IN_MODIFY文件被写入东西3、IN_ATTRIB文件属性被修改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文件被关闭,等同于IN_CLOSE_WRITE|IN_CLOSE_NOWRITE15、IN_MOVE文件被移动,等同于IN_MOVED_FROM|IN_MOVED_TO222FILEOBSERVER类作用1概述FILEOBSERVER类是在ANDROID的API中,实际上,这个类是基于LINUXINOTIFY机制的。主要用于监控文件的一些事件,例如文件被访问创建、修改、删除、移动等。FILEOBSERVER是个抽象类,所以必须继承它才能使用。通过查看ANDROIDAPI文档,得知FILEOBSERVER监听的对象可以是一个单独的文件又或者是一个文件夹。当监视的是一个文件夹,那么当该文件夹下所有的文件和子目录发生事件时,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_SELF,自删除,即一个可执行文件在执行时删除自己。12、MOVE_SELF,自移动,即一个可执行文件在执行时移动自己。13、CLOSE,文件被关闭,等同于IN_CLOSE_WRITE|IN_CLOSE_NOWRITE。14、ALL_EVENTS,包括上面的所有事件。223FILEOBSERVER类的基本使用方法当我们要对一个文件或者文件夹进行监听的时候,我们可以使用ANDROIDAPI中的ANDROIDOSFILEOBSERVER这个抽象类。如何实现一个FILEOBSERVERFILEOBSERVER是个抽象类,必须继承它才能使用。这时候,我们可以新建一个类通过EXTENDS关键字来继承FILEOBSERVER这个类。然后覆盖其构造器,最后覆盖ONEVENTINTEVENT,STRINGPATH方法例如PUBLICCLASSMYFILEOBSERVEREXTENDSFILEOBSERVER/PATH是所监听的文件夹或者文件名。/PUBLICMYFILEOBSERVERSTRINGPATHSUPERPATHOVERRIDEPUBLICVOIDONEVENTINTEVENT,STRINGPATH监听你所关心的事件在ONEVENTINTEVENT,STRINGPATH中,我们可以通过匹配EVENT的值,这样,就可以捕获你想要捕获的已经发生的事件。例如PUBLICVOIDONEVENTINTEVENT,STRINGPATHSWITCHEVENTCASEANDROIDOSFILEOBSERVERALL_EVENTS/所有事件相当于DEFAULT的功能/相关操作/BREAKCASEANDROIDOSFILEOBSERVERCREATE/文件被创建/相关操作/BREAKCASEANDROIDOSFILEOBSERVEROPEN/文件被打开/相关操作/BREAKCASEANDROIDOSFILEOBSERVERACCESS/打开文件后,读文件内容操作/相关操作/BREAKCASEANDROIDOSFILEOBSERVERMODIFY/文件被修改/相关操作/BREAKCASEANDROIDOSFILEOBSERVERATTRIB/未明操作/相关操作/BREAKCASEANDROIDOSFILEOBSERVERCLOSE_NOWRITE/没有编辑文件,关闭/相关操作/BREAKCASEANDROIDOSFILEOBSERVERCLOSE_WRITE/编辑完文件,关闭/相关操作/BREAKCASEANDROIDOSFILEOBSERVERDELETE/文件被删除/相关操作/BREAKCASEANDROIDOSFILEOBSERVERMOVED_FROM/文件被移动/相关操作/BREAK在ONEVENTINTEVENT,STRINGPATH中,PATH返回的是发生事件的文件名,并且不带路径,当我们在某个事件当中需要找到发生事件的文件就要结合它的路径才能找得到。23JAVA程序设计语言JAVA编程语言是一种风格跟C、C语言非常接近的语言。既然它们是如此相似,毫不例外,JAVA语言如同C或C一样也是面向对象的程序设计语言。其中JAVA语言的面向对象技术的核心是从C语言继承过来的。当然,两者之间也是有所区别的,例如JAVA舍弃了C语言中的指针。说起JAVA,就不得不说JAVA语言的跨平台特性。JAVA语言跟一般的计算机语言的编译执行和解释执行过程有着很大的不同。JAVA不是直接编译的,代码运行之前需要先将源代码编译成字节码,再利用不同平台上的JAVA虚拟机对这些字节码进行解释。所以,在我看来,JAVA语言是一门应用十分广泛的程序设计语言。除此之外,JAVA语言还有其他的特点,就不详细说明。例如面向对象、解释型、多线程、分布式、健壮、安全、动态、体系结构中立、可移植、高性能等等特点。3系统设计31课题来源随着手机越发接近计算机时,病毒或者一些间谍软件也将智能手机当做重点的入侵对象。对于手机用户来说,这是一个很严重的问题,让手机用户时刻面临手机信息安全的威胁。对文件时刻进行监控,是一种保护文件的有效手段同时也是以后的灾情评估的基础,在系统安全上起到重要的作用。为此,文件监控是手机系统仲很重要的一部分。32业务需求设计一个ANDROID系统上的文件监控系统,为用户提供监控手机上文件的功能,用户可以通过这个系统获取一些关于手机中的文件发生事件后的信息。例如,在用户不知情的情况下,手机中的一个文件被其他人打开并且查看,监控系统就会把这个事件记录下来,用户可以通过监控的系统的日志查看功能知道这件事情。321开始界面1)开始监控按钮当用户选择好需要监听的文件或文件夹时,按下这个按钮,就能启动监控系统的监控模块,从而为用户提供监控服务。2)停止监控按钮当用户不再需要监控系统提供监控服务时,就可以按下这个按钮,就能停止监控服务。3)目录选择模板在这个模板上,会显示出当前智能手机上的所有文件目录,用户可以通过这个模板选择自己需要监控的文件目录。4)日志查看按钮当用户已经启用监控系统的监控服务后,当监控范围内的文件发生一些事件(如打开,被删除,被修改等),会通过后台服务把发生事件的时间以及发生什么事件记录在日志上,这时候,用户可以通过点击这个按钮,系统的界面会跳转到日志查看界面,从而让用户知道监控过程中发生的事件以及事件发生时间。332监控并生成日志1)属于系统后台的服务,是实现监控功能的模块。当用户点击在开始界面上的监控按钮,这个模块就会启动,对用户已经选择好的目录进行监控。2)当监控系统开始监控服务(用户点击开始监控按钮),系统会生成一个LOGTXT,负责记录系统监控过程中的信息。3)监听系统中的文件目录或某一个文件(用户在开始界面选择的目录或文件),当某一个文件发生一些事件时,会把该文件的名字、路径、发生的事件以及发生事件的时间这些信息“写进”之前生成的LOGTXT文件中。333监控结果查询界面1)返回按钮当用户查看完日志后,可以通过点击这个按钮返回开始界面进行操作。2)日志显示模块显示出LOGTXT里面的内容,就是把一些文件已经发生的事件、时间、文件名字以及该文件的路径显示出来。3)刷新按钮可以通过这个按钮刷新当前显示状态。例如,当查看日志的同时,有文件发生事件,可以通过刷新按钮刷新当前显示界面的信息。4系统分析与设计方案41文件监控系统的总体设计思想411实现思想1)分析文件系统,建立文件监控目录列表,用户可以通过这个目录列表选择需要监听的目录。2)根据用户已经选择的目录,为该目录且以及该目录下的子目录设置监听器。(监听器由FILEOBSERVER类构成,经过多次的测试,每个FILEOBSERVER类对象只能监听一个文件或文件夹,并不像ANDROID文档上面说的监听一个文件夹,那么那个文件夹下的所有文件或子文件夹发生事件时,监听器都能响应。实际上当监听的对象是文件夹时,那么,该文件夹下的文件是可以被监听到的,但是,对于文件夹下的子文件夹发生事件,FILEOBSERVER是不会响应的。)3)记录文件发生事件(被打开、修改、删除等)后的信息。新建一个TXT文件,负责保存那些信息。再通过查看TXT文件,以此作为监控系统的信息查询模块。412实现步骤1)新建一个文件列表的布局类FILELAYOUT。通过ANDROIDOSENVIRONMENT中的GETEXTERNALSTORAGEDIRECTORY方法获取SD卡的目录路径。自定义方法STRINGCMP()把文件目录按照字母表排序显示。自定义方法STRINGGETSELECTEDFILES获取用户选中的要监控的文件列表。2)构造好一个监听器MYFILEOBSERVER(EXTENDSFILEOBSERVER),把所需要响应的事件在ONEVENT()方法中写好,同时把事件发生后的信息记录在LOGTXT文件中RANDOMACCESSFILERAFNEWRANDOMACCESSFILELOG,“RW“;RAFWRITEMSGGETBYTES“UTF8“。3)创建一个后台服务类FILEMONITORSERVICE,用于给目录(已经被用户选中的目录)以及目录下的子目录设置监听器。(递归调用监听器MYFILEOBSERVER,以此遍历监听被选目录下的每个子目录)4)创建一个工具类UTILITY。用于日志信息的接收以及备份。自定义一个方法READFILE()读取监听器发送过来的信息。自定义方法BACKUPLOG备份LOG。5)方法INITLOG()初始化日志界面,用于显示LOGTXT中的信息。系统流程图5监控系统各功能模块51开始界面模块这个模块主要为用户提供了了一些对监控系统进行一系列操作的按钮,包括开始监控、停止监控、日志查看这三个按钮。界面如下图52监控路径选择模块这个模块主要是提供给用户一个选择路径的界面。客户可以从这个界面中选择想要监控的文件夹,同时也能通过这个模块来查看系统中各个目录以及各个目录下的文件。其中,这个界面有一个“上一级”的按钮,通过点击这个按钮可以返回上一个目录。具体界面如下53监控模块这是一个属于后台服务的模块,通过点击开始界面的开始监控按钮以及停止监控按钮会执行监控文件和停止监控这两个功能。这个模块的功能实现过程大致如下54日志查询模块通过点击开始界面的日志查看按钮,可以查看监控过程中发生的事件。具体图示如下其中,刷新按钮可以用于刷新日志显示,查看最新的日志。例如当查看日志的过程中,又有文件发生某些事件,这时候,点击刷新按钮,能看到这个刚刚查看过程发生的事件。返回按钮,点击该按钮能返回主界面。6各个类的作用总类61MAINACTIVITY类(相关布局文件ACTIVITY_MAINXML)类说明显示出开始界面,通过点击界面的三个按钮(开始监控、停止监控、日志查看),用户可以对系统进行相关的操作。62FILEMONITORSERVICE类类说明属于后台服务类,接收来自主界面发来的路径信息,根据路径信息,递归调用MYFILEOBSERVER类,从而实现遍历监控文件夹的功能。63MYFILEOBSERVER类类说明监听器,根据FILEMONITORSERVICE类的调用,对文件夹进行监控。是监控模块中的监听器,当文件或文件夹发生事件时,能够做出相应的响应,同时把事件信息发送到UTILITY类。64UTILITY类类说明在SDCARD目录下生成LOGTXT文件,接收来自MYFILEOBSERVER类的信息,并把信息记录在LOGTXT文件里。65NAVIGATIONVIEW类类说明导航控件,用于响应路径选择模块中上一级、下一级两个控件。记录当前所在的目录67FILELAYOUT类类说明是文件列表的布局类,获取SD卡下的文件和目录列表以及获取用户选中的要监控的文件列表。68FILEMANAGERLAYOUT类类说明是一个用于主界面的控件布局类。主要用于初始化控件的排版。7系统设计与实现71开发环境工具1)JAVA环境JDKJDK即为JAVADEVELOPMENTKIT,是SUNMICROSYSTEMS公司针对JAVA开发员而研发的产品。可是说,JDK是整个JAVA的核心,里面包括有JAVA的运行环境、工具以及基础类库。2)ANDROID平台ECLIPSEANDROIDSDKECLIPSE,在我看来,是一个用于进行JAVA代码编写的工具。实际上,通过相关资料的查看,我明白到自己的理解只是很片面的一小部分。它应该是一个可扩展开发平台,例如,本次的ANDROID监控系统就是通过ECLIPCE和ADT搭配环境后编写的。对于本身来说,它只是一个框架以及一组服务,依靠插件组件来构建开发环境。当然它自身附带了一个标准的插件集,其中包括JAVA的开发工具JDK。很多人都把ECLIPSE仅仅当作JAVA的开发环境来使用,事实上,它的功能不仅仅是这样。它有一个组件PDE,具有能让软件开发人员扩展ECLIPSE的功能,软件开发员通过这个组件往ECLIPSE中插入一些插件,从而搭配成一个用于其他开发的环境。另外,ECLIPSE也是适用于其他语言的。例如,C/C、COBOL、PHP等编程语言的插件有得已经可以使用或者有得预计将会推出。SDK即为SOFTWAREDEVELOPMENTKIT,是一个软件开发工具包。ANDROIDSDK就是指专门用于进行ANDROID开发的软件工具包。3)ANDROID手机模拟器当利用上面介绍的开发工具搭建好ANDROID开发环境后,就可以通过ANDROIDSDK自带的工具配置一个ANDROID的模拟器,通过这个模拟器,我们可以测试相关版本的ANDROID程序。72硬件环境本系统运行环境所需用到的环境为硬件配置中央处理器(CPU)P420G的处理器;硬盘40GB以上硬盘;内存1024DDR内存;显示器17寸显示器等;软件环境WINDOWSXP/WIN7。73监控系统功能测试731在模拟器中测试测试前期准备1)往ANDROID模拟器中安装监控系统FILEMONITOR2)往ANDROID模拟器的SDCARD中添加了两个文件,其中,1TXT在SD卡的目录下另外,2TXT在SD卡的子目录DCI下测试说明由于文件能发生的事件比较多,所以选取了删除以及修改这两个事件作为测试事件。打开监控系统图标,进入监控系统。1、主界面(路径选择)由上图所示,在SDCARD的左边打了一个勾(选择了SDCARD作为监控的文件夹)然后点击开始监控,系统开始监控SDCARD。2、查询日志点击日志查看按钮,界面跳转到日志查看的界面,通过日志显示可以看出对两个文件进行相关的操作后,无论是直接在SDCARD目录下的1TXT还是在SDCARD子目录下的2TXT都被监控到了,并且发生的事件都在日志中显示。732在ANDROID手机上测试1、软件打开界面2、路径选择以MUSIC这个文件夹作为监控目录,点击开始监控,系统开始监控MUSIC这个文件夹里面的所有文件(文件夹)。3、监控结果(日志查看)打开MUSIC文件夹下的音乐文件“陈柏宇潮密语MP3”,系统日志显示出该文件在晚上11点55分被打开。733测试结论经过在模拟器以及ANDROID智能手机上对本系统的测试可以看出,本系统基本能实现监控需求。8总结81毕业设计总结本毕业设计实现了简单的在ANDROID平台上的文件监控系统。在功能方面,通过以上在模拟器以及ANDROID手机上的测试可以看出,本监控系统是能够比较好地实现了监控功能。至于界面,由于学习ANDROID的时间比较短,很多关于界面布局的知识都没有学到,所以做出来的系统很简单而且色彩单调。同时,在做这个系统的过程中,发现有很多JAVA的知识还是没有掌握好,用JAVA编写代码还是不熟练。例如有时候在一个类中要用到别的类时,会出现错误,这是因为忘记声明那个类的对象。诸如这样的小问题,在编写代码的过程中总是出现。所以在今后,要多注意代码编写的细节,多看看别人写的代码,同时多练习,从而减少在那些细节上发生的错误。可以说,毕业设计大致上是完成了。可是,对于刚刚上面所说的那些错误或者系统的不完善,我还是会不断改善自己同时也改进这个文件监控系统。我并不会因为完成了毕业设计就停下对ANDROID方面的学习。通过日后的再学习,我会把这个系统做得更好,例如把界面设计得更加美观,让用户用起来更加的方便舒服。或者,在监控的基础上加上一些实用的功能,例如加上一个文件管理的模块,甚至是加上能进行文件的传输功能等等。同时,希望能通过这次的实践,对以后的工作或研究有所帮助。82经验和感想在这次毕业设计实践中,要学习的东西还是不少的。刚开始接触ANDROID方面的开发,跟着教学视频做出第一个HELLOWORD的ANDROID程序,当时就像是在大一的时候,第一次学习C语言那样的情景。可以说,在这次实践中,最大的收获就是学习到关于ANDROID方面开发的知识。另一方面,在看完ANDROID的教学视频后,开始进行毕业设计的代码编写的过程中,我明白到了一些东西。刚刚开始的时候,可以说是毫无头绪,于是在网上查看了一些关于ANDROID监控文件的一些资料,最后发现了ANDROIDOS包下的FILEOBSERVER类,于是查看ANDROID文档,里面写到当FILEOBSERVER类监听文件夹,那么文件夹下所有的文件和级联子目录的改变都会触发监听的事件。那时候,我天真地以为只要做一个界面ACTIVITY,然后调用一个继承FILEOBSERVER类的服务类就可以了。可是结果不如我意,程序运行后,没有起到监听的效果。后来经过查阅了网上的资料以及自己进行了测试才知道,ANDROID文档说的不完全正确。我的理解是要实现监听文件夹下的所有文件(包含子文件夹),并且能对事件做出响应,是需要对每一个文件(文件夹)设置一个监听器(FILEOBSERVER类)。从这事了解到,当学习了一些新的东西的时候,不仅仅是需要学习,还要进行相关的实践,这样才真正的学到所要学的东西。参考文献1韩超ANDROID经典应用程序开发J人力资源出版社,20113182马越ANDROID的架构与应用D中国地质大学(北京),20083陈煜基于ANDROID系统的手机文件管理器的设计与实现D西南交通大学,20124左玲基于ANDROID恶意软件检测系统的设计与实现D电子科技大学,20125李凯ANDROID操作系统分析与移植D华南理工大学,20116冯相忠计算机类专业的JAVA语言程序设计课程的教学研究J福建电脑,2009317陈璟,陈平华,李文亮ANDROID内核分析J现代计算机专业版,20091121158贺建英如何提高高校学生JAVA语言的实践能力J电脑知识与技术,200895979余永佳高职ANDROID操作系统课程教学与研究J徐州建筑职业技术学院学报,2011525410丁丽萍ANDROID操作系统的安全性分析J信息网络安全,201228314111CHAOWANG,WEIDUAN,JIANZHANGMATHERESEARCHOFANDROIDSYSTEMARCHITECTUREANDAPPLICATIONPROGRAMMINGCCOMPUTERSCIENCEANDNETWORKTECHNOLOGYICCSNT,2011INTERNATIONALCONFERENCE,201178579012CHRISHASEMANANDROIDESSENTIALSBAPRESSSPRINGER2008SPRINGER56813MAOQIANGSONG,HAIYANSONG,XIANGLINGFUMETHODOLOGYOFUSERINTERFACESDESIGNBASEDONANDROIDCMULTIMEDIATECHNOLOGYICMT,2011INTERNATIONALCONFERENCE,201140841114WEIHU,TIANZHOUCHEN,QINGSONGSHISMARTPHONESOFTWAREDEVELOPMENTCOURSEDESIGNBASEDONANDROIDCCOMPUTERANDINFORMATIONTECHNOLOGYCIT,2010IEEE10THINTERNATIONALCONFERENCE,20102180218415KUMARMAJI,A,KANGLIHAOCHARACTERIZINGFAILURESINMOBILEOSESACASESTUDYWITHANDROIDANDSYMBIANCSOFTWARERELIABILITYENGINEERINGISSRE,2010IEEE21STINTERNATIONALSYMPOSIUM,201010719458致谢转眼间,毕业设计就要结束了,在完成了ANDROID平台的文件监控系统的功能设计后,我感到由衷的喜悦。在我做毕业设计期间,老师,同学和朋友给我无私的关怀和帮助,在此,我要向他们表示衷心的感谢,首先,我要特别感谢带我毕业设计的綦科老师,感谢老师在毕业设计期间给了我悉心的关怀与帮助,并且给了我许多关键的,建设性的指导。并且老师优秀的专业素养,严谨的治学精神和认真负责的工作态度都给我留下了深刻印象。同时,更加感谢学校四年以来,为我们计划了许多有用的课程,为我能做好毕业设计打下了比较好的理论基础。当然,四年的学习生活是少不了同学之间的互相讨论,感谢四年来一起学习一起生活的同学。这次的毕业设计让我受益匪浅。为了能做好这个毕业设计,我从网上下载了ANDROID的教学视频,通过视频,我学习了ANDROID开发方面的知识,虽然那些知识还是比较基础,不过,这对于以后的关于ANDROID的深入学习可是很有帮助的。同时,在做毕业设计的过程中,也加深了我对JAVA语言的了解,纠正了一些编写JAVA代码时的一些坏习惯。当然,困难可是一直围绕在我周围,为了克服这些困难,从而能很好的完成毕业设计,我只好更加用功地查阅资料,用好网上的那些文献网站,用好百度,用好GOOGLE。可以说,通过这次的毕业设计,学到的不仅仅是知识,更是学到了如何自学,如何快速地解决问题。当然,在实际的运用中,可能我设计的系统并不是尽善尽美,但是我在毕业设计期间学会的分析方法和解决方法的能力对我却是受益匪浅。最后,请允许我再一次向毕业期间无私帮助过我的老师,同学和朋友表示最衷心的感谢。在这里,特别感谢我的毕业设计导师,。AGANEMPLOYMENTTRIBUNALCLAIEMLOYMENTTRIBUNALSSORTOUTDISAGREEMENTSBETWEENEMPLOYERSANDEMPLOYEESYOUMAYNEEDTOMAKEACLAIMTOANEMPLOYMENTTRIBUNALIFYOUDONTAGREEWITHTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUYOUREMPLOYERDISMISSESYOUANDYOUTHINKTHATYOUHAVEBEENDISMISSEDUNFAIRLYFORMOREINFORMU,TAKEADVICEFROMONEOFTHEORGANISATIONSLISTEDUNDERFURTHERHELPEMPLOYMENTTRIBUNALSARELESSFORMALTHANSOMEOTHERCOURTS,BUTITISSTILLALEGALPROCESSANDYOUWILLNEEDTOGIVEEVIDENCEUNDERANOATHORAFFIRMATIONMOSTPEOPLEFINDMAKINGACLAIMTOANEMPLOYMENTTRIBUNALCHALLENGINGIFYOUARETHINKINGABOUTMAKINGACLAIMTOANEMPLOYMENTTRIBUNAL,YOUSHOULDGETHELPSTRAIGHTAWAYFROMONEOFTHEORGANISATIONSLISTEDUNDERFURTHERHELPATIONABOUTDISMISSALANDUNFAIRDISMISSAL,SEEDISMISSALYOUCANMAKEACLAIMTOANEMPLOYMENTTRIBUNAL,EVENIFYOUHAVENTAPPEALEDAGAINSTTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUHOWEVER,IFYOUWINYOURCASE,THETRIBUNALMAYREDUCEANYCOMPENSATIONAWARDEDTOYOUASARESULTOFYOURFAILURETOAPPEALREMEMBERTHATINMOSTCASESYOUMUSTMAKEANAPPLICATIONTOANEMPLOYMENTTRIBUNALWITHINTHREEMONTHSOFTHEDATEWHENTHEEVENTYOUARECOMPLAININGABOUTHAPPENEDIFYOURAPPLICATIONISRECEIVEDAFTERTHISTIMELIMIT,THETRIBUNALWILLNOTUSUALLYACCEPTIIFYOUAREWORRIEDABOUTHOWTHETIMELIMITSAPPLYTOYOUIFYOUAREBEINGREPRESENTEDBYASOLICITORATTHETRIBUNAL,THEYMAYASKYOUTOSIGNANAGREEMENTWHEREYOUPAYTHEIRFEEOUTOFYOURCOMPENSATIONIFYOUWINTHECASETHISISKNOWNASADAMAGESBASEDAGREEMENTINENGLANDANDWALES,YOURSOLICITORCANTCHARGEYOUMORETHAN35OFYOURCOMPENSATIONIFYOUWINTHECASEYOUARECLEARABOUTTHETERMSOFTHEAGREEMENTITMIGHTBEBESTTOGETADVICEFROMANEXPERIENCEDADVISER,FOREXAMPLE,ATACITIZENSADVICEBUREAUTOFINDYOURNEARESTCAB,INCLUDINGTHOSETHATGIVEADVICEBYEMAIL,CLICKONNEARESTCABFORMOREINFORMATIONABOUTMAKINGACLAIMTOANEMPLOYMENTTRIBUNAL,SEEEMPLOYMENTTRIBUNALSTHELACKOFAIRUPTHEREWATCHMCAYMANISLANDSBASEDWEBB,THEHEADOFFIFASANTIRACISMTASKFORCE,ISINLONDONFORTHEFOOTBALLASSOCIATIONS150THANNIVERSARYCELEBRATIONSANDWILLATTENDCITYSPREMIERLEAGUEMATCHATCHELSEAONSUNDAY“IAMGOINGTOBEATTHEMATCHTOMORROWANDIHAVEASKEDTOMEETYAYATOURE,“HETOLDBBCSPORT“FORMEITSABOUTHOWHEFELTANDIWOULDLIKETOSPEAKTOHIMFIRSTTOFINDOUTWHATHISEXPERIENCEWAS“UEFAHASOPENEDDISCIPLINARYPROCEEDINGSAGAINSTCSKAFORTHE“RACIST

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论