基于Android的任务管理器的设计与实现_第1页
基于Android的任务管理器的设计与实现_第2页
基于Android的任务管理器的设计与实现_第3页
基于Android的任务管理器的设计与实现_第4页
基于Android的任务管理器的设计与实现_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、专科毕业设计(论文)题 目 基于Android任务管理器的设计与实现姓 名 候敏敏专 业 计算机信息管理学 号 所 在 系 信息工程学院指导教师 李胜辉完成时间 2015年3月17日郑州科技学院信息工程学院 二一五年四月目 录摘 要IAbstractII1 绪论11.1 学术背景及理论与实际意义11.2 国内外发展状况及存在的问题21.3 研究的主要内容32 需求分析42.1 可行性分析42.2 开发环境72.3 功能要求73 概要设计93.1 概述93.2 系统功能93.3 基本的设计概念和处理流程94 详细设计104.1 概述及环境搭建104.2 系统模块设计154.2.1 布局设计154

2、.2.2 获取运行程序164.2.3 任务管理模块175 软件测试215.1 软件测试定义215.2 系统测试步骤及测试过程216 结论与展望287 致谢29参考文献30基于Android 任务管理器的设计与实现摘 要随着新技术的不断开发与应用,近年来Android技术发展十分迅速,一个以Android应用为主的新技术革命浪潮正在蓬勃兴起。基于Andriod的软件开发是一个前景很大的技术,由于Android系统本身不自带任务管理器,一般的关闭程序不能完全结束,很多程序依然会后台运行,本次毕业设计是设计出一个任务管理器,对系统的程序可以进行管理,优化手机性能。这次毕业设计在老师的指导和自己不断努

3、力下终于完成。这个系统实现了包括1.查看当前系统下运行的所有的进程;2.可以查看每个进程的进程号、版本号以及内存占用情况;3.杀死进程(可以杀死全部进程或者杀死指定的进程);4.查看系统剩余内存。随着智能手机一步步走进普通人的生活,它将成为人们生活中必不可少的一部分。这次毕业设计所完成的任务管理器实现了对android手机的性能优化并且可以很好的管理自己的手机,对android的系统的市场推广普及以后的应用也有很大的帮助,使自己对android系统也有了更进一步了解。关键词:任务管理;Android;Java Based on the design of the android task ma

4、nagerAbstractWith the continuous development and application of new technologies in recent years, android technology development is very rapid, an android application based new wave of technological revolution is booming. Andriod-based software development is a promising technology, android system i

5、tself does not own task manager, the general closure procedures can not be completely over, many programs will still be running in the background, this graduation project is to design a Task Manager management procedures of the system can be optimized mobile performance.The graduation project lasted

6、 three months, and finally completed under the guidance of their teachers and continuous efforts. This system includes: a task management function, you can view the running processes, and end the process; two file management functions, you can delete files, rename; memory management functions, can c

7、lear the cache, view installed software and so on.With the smart phone, step by step into the lives of ordinary people, it will become an indispensable part of peoples lives. This graduation design Task Manager on the performance of the android phone optimized and can well manage their own mobile ph

8、ones, marketing the popularity of the android system after a great help, so the android system also have a better understanding.KEY WORLD: Task Manage, Android, Java 前言目前android平台手机渗透到我们生活,21世纪,电子技术获得了飞速的发展,在其推动下,基于android平台手机的现代电子产品在我们生活的各个角落都能见到,有力地推动了社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。基于

9、android平台手机的发展趋势,本设计以android平台手机为核心制作了一个任务管理器。本次设计运用android平台手机作为研究开发对象,配合Java语言程序设计以及面向对象思想设计了一种手机任务管理器。本设计完成后,能够实现对进程的管理,包括结束正在运行的进程,切换进程,卸载进程等以及扩展一些更全面的功能:内存的的管理和文件的管理等。在设计时,按照设计的要求,从技术性、经济性等方面进行考虑,通过设计方案的比较,确定出来一套即经济又可行的方案。本次设计是对所学知识的综合运用,把理论知识和实践相结合。在本次设计与检验过程中遇到了许多实际问题,比如不熟悉开发技巧,可能会发生一些微小功能不能实

10、现、软件运行不稳定,如何设计软件的最佳外观效果等。所有的这些问题,我们都通过查阅资料,咨询老师一一解决了,为设计的成功提供了保障。本文通过方案确认,介绍了设计中所用到的技术、开发思想,以及android平台的简介,通过清晰的程序流程图,给程序的理解提供了方向。还介绍了程序调试软件和硬件调试软件,最后对本设计的软件做了一个概述。1 绪论1.1 学术背景及理论与实际意义随着移动互联网的蓬勃发展,手机作为移动互联网最重要的承载设备,在人们日常生活中所扮演的角色越来越重要。人们开始关注手机应用的多元化和功能的强大,在满足消费者越来越高的要求方面,智能手机成为了最好的选择。同时也正是基于这种原因,智能手

11、机在手机市场扮演着非常重要的角色,而且相应的智能手机应用领域也变得火爆起来,对智能手机平台的研究与开发是当前移动计算技术发展中最为活跃的领域,从中我们不难看出智能手机所蕴含着广阔发展前景。智能手机需要操作系统平台的支撑,研究智能手机软件的根本就是要研究智能手机平台的软件开发。现在虽然手机生产厂商众多,但是操作系统平台不开源,各种应用放上去非常困难。为此,Google于2007年11月推出了一个专为移动设备设计的软件平台Android,它的出现打破了这些格局,使世界手机市场产生了巨大的变化。Android系统很大的优势让其迅速发展,但目前还有很多缺陷,一个很大问题就是正常关闭的程序总会在后台运行

12、,无法完全关闭。导致很多进程不能立刻结束,在后台运行就占用了内存,影响了系统的运行速度,还严重浪费了手机电量和流量。Android系统最大的优势在于与互联网贴合紧密,使用Android系统手机可以尽享移动互联网带来的欢乐。但是,有没有想过这种谷歌引以为豪的优势有一天会变成消费者眼中的大敌。查看一下网上的记录,有多少人抱怨Android系统手机费流量,还有现在普遍的用户都反应手机电池续航能力很差,基本一天一充,让用户很是头疼。iPhone4虽然是单核512M内存,但是比Android的双核1G内存的操作起来更流畅,iPad2虽然是也只有512M的内存但是操作起来比Android四核1G内存还要流

13、畅。另外在安全性方面也不如iOS。造成Android性能,待机时间,操作流畅和安全性不好的原因是Android后台进程的管理。所以有一个对所有进程进行管理的任务管理器就显得十分必要,可以很好管理手机,把手机的性能发挥大最大化,在享受android手机带来的方便同时不必为运行速度、电量、流量等烦恼。1.2 国内外发展状况及存在的问题2011 年以来 Android 实现了计算机诞生以来最快速度的增长,目前 Android 以每天 85 万新激活数的速度快速征服世界,成为世界范围内占有率最高的智能手机操作系统。根据 comScore 的统计,2012 年第一季度 Android 在北美的市场占有率

14、又增长了 3.7% 达到 51%;而根据赛诺的调研报告,Android 系统在中国的市场份额高达 74.7%。然而 Android 在快速增长的同时,也面临着多种问题,操作系统并没有提供任务管理器程序,无从得知后台有哪些程序正在运行,更无法管理。这也是它性能差的原因。打开手机一看,有几十条进程在跑,比如短信,邮件,输入法等系统核心应用,另外还有很多很应用也都在后台运行,不管是否是用户启动的,很多应用都在后面跑,这点已经成为Android用户最受困扰的地方。主要的原因就是Android中的关键的组件都有着过长的生命周期,比如BroadcastReceiver和Service,还有就是线程的不正当

15、应用。Service就是专门用于在后台长期运行的组件,用以在后台完成长期的任务比如在后台播放歌曲,在后台接收邮件和短信等等。BroadcastReceiver是一种长期存在的组件,它正常时候是处于不活跃的,只有当其感兴趣的Intent广播出现时就被激活,虽然它不活跃,但是它依然活着,它所在的进程依然运行。此外,Activity也可以长期的运行,通过moveTaskToBack()就可以不销毁的把Activity放到后台去,或者在Activity中运行Thread,如果在Activity销毁时没把Thread停止,那么Thread就会仍然运行,进程就会仍然运行。这是Android系统架构决定的,

16、对于有组件在运行的进程,即使用任务管理器把它杀掉,那么ActivityManager还会把这个进程重启。所以对于Android的程序来讲,需要开发者的努力才能正确的应用这些组件让应用在用户用到的时候运行,不需要的时候就完全退出。目前市场上的基于Android的应用系统可以大体分为系统工具、影音播放、文件浏览管理、联络工具、休闲娱乐、生活助手、软件超市等七大类。Android 应用已经是遍地开花,一个很重要的应用任务管理器也有很多已经面世,能实现很多功能,但也大多是些基本功能,实现程序进程的结束和管理等,目前仍然存在很多不足。1.3 研究的主要内容了解了android的缺点,努力去解决这些给用户

17、带来的不便和影响。所以这次设计目标是设计出一个任务管理器,能够实现一些任务管理器的功能,能够查看正在运行的所有程序及占用内存情况;可以把程序完全结束掉;清理缓存资源释放出内存资源,有利于提升手机运行速度,提高手机续航能力,降低隐形流失的流量对用户的压力和更好的对系统进行管理。这都对android系统的发展及以后的研究都很有意义。2 需求分析需求分析指的是在建立一个新的或改变一个现存的系统或产品时,确定新系统的目的、范围、定义和功能时所要做的所有工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后才能够分析和寻求新系统的解决方法。2

18、.1 可行性分析随着新技术的不断开发与应用,近年来Java技术发展十分迅速,一个以Java应用为主的新技术革命浪潮正在蓬勃兴起。而基于Andriod的软件开发是一个前景很大的技术,然而市面上基于Android的任务管理器虽然有不少种,各种的任务管理器都能实现进程基本的管理功能的应用,但是由于版本繁多,开发思路不同,加之Google开放的源代码,Android的SDK的版本不同,API不同使得各种任务管理器的版本、实现的功能也进而不同,所以设计出一个简洁通用的任务管理器显得很有必要。我们已经学习了Java技术,并且对软件的系统开发流程有了一定的了解,进而学习了与Android相关的一些技术,以及

19、一些简单的xml技术,随着对这几种技术的掌握,结合市场上基于Android的任务管理器种类虽然繁多,但真正简洁好用的不多的情况,从技术角度决定开发基于Android的任务管理器。(1)Android简介android一词的本义指“机器人”,当时同时Android也是Google于07年11月5日宣布的基于Linux平台开源手机操作系统名称,该平台由操作系统、中间件、用户界面和应用软件组成,Android是基于JAVA并运行在Linux内核上的操作系统,这个操作系统是轻量级的,但是功能很全面。而且在这个操作系统上,Google公司已经内置了很多有用的软件,如打电话、发短信等,号称是首个为移动终端

20、打造的真正开放和完整的移动软件。2008年9月22日,美国运营商T-Mobile USA在纽约正式发布第一款Google手机T-Mobile G1。该款手机为宏达电制造,是世界上第一部使用Android操作系统的手机,支持WCDMA/HSPA网络,理论下载速率7.2Mbps,并支持Wi-Fi。Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌与开放手机联盟合作开发了Android,这个联盟由包括中国移动、高通、宏达和 T-Mobile 在内的 30 多家技

21、术和无线应用的领军企业组成。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,我们希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。任务管理器主界面的设计:运用android的View来对任务管理器的主界面进行布局。使用现行布局与表格布局来对文件浏览器的菜单进行布局。可以是有android的一些布局小工具。(2)Android应用程序组成Android上的应用程序可以通过标准 API 访问核心移动设备功能。它最大的特点就是与互联网紧密联系,在该系统上运行的大部分程序都依赖于互联网,这保证了信息的实时更新。配合上手机中自带的WIFI网络模块

22、可以让手机一尺处于高速网络下。但是由于目前中国正处在2G通信技术和3G通信技术的过渡期,因此全部依赖于网络的Android或许不能表现出所有的性能和便利,因此中移动推出了基于该系统修改的OMS操作系统,OMS系统的底层和Android完全相同,只是在界面层经过中国人审美观的定制,并去除了Google的各种服务,加入了中移动的服务,因此对于高速网络的依赖性也不是特别强了。与之前的智能手机平台霸主Symbian相比,反应快,界面好,支持的程序也多,有着众多实力雄厚的手机制造商和程序开发商作为坚实的后盾。最重要的是支持多任务并行处理。以下所有的应用程序都由一系列的服务和系统组成,包括:一个可扩展的视

23、图(Views )可以用来建应用程序,包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons),甚至包括一个可嵌入的web浏览器 内容管理器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。 一个活动类管理器(Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能。 Android 程序库Android包括一个被 Android 系统中各种不同组件所使用的 C/C+ 库集。该库通过Android应用程序框架为开发者提供服务。以下是一些主要的核心库:系统C

24、库 - 一个从BSD继承来的标准 C 系统函数库(libc),专门为基于 embedded linux 的设备定制。 媒体库 - 基于 PacketVideo OpenCORE;该库支持录放,并且可以录制许多流行的音频视频格式,还有静态印像文件包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。Surface Manager - 对显示子系统的管理,并且为多个应用程序提供2D和3D图层的无缝融合。 LibWebCore - 一个最新的web浏览器引擎用来支持Android浏览器和一个可嵌入的web视图。SGL - 一个内置的2D图形引擎 3D libraries -

25、 基于OpenGL ES 1.0 APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。 FreeType - 位图(bitmap)和向量(vector)字体显示。SQLite - 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。Android 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik是针对于同时高效地运行多个VMs来实现的。Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对最小内存使用做了优化。该虚拟机是基

26、于寄存器的,所有的类都经由JAVA汇编器编译,然后通过SDK中的dx工具转化成.dex格式由虚拟机执行。Dalvik虚拟机依赖于linux的一些功能,比如线程机制和底层内存管理机制。Linux 内核Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件堆栈之间的硬件抽象层。未来发展 与iPhone相似,Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一

27、种融入全部Web应用的单一平台。 但其最震撼人心之处在于Android手机系统的开放性和服务免费。Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了iPhone等只能添加为数不多的固定软件的枷锁;同时与Windows Mobile、Symbian等厂商不同,Android操作系统免费向开发人员提供,这样可节省近三成成本。由于android系统自身没有任务管理器,而且程序的关闭不能够完全结束,导致很多任务在后台运行,降低了手机的性能。这次设计的任务管理器可以查看所以后台运行的程序,随时完全结束这些进程,提高了手机性能,所以这次的设计具有很大市场价值。

28、所以从市场角度来看,很有必要设计一款简洁实用的任务管理器。而且这次毕业设计是个人项目就无需考虑太多成本问题。2.2 开发环境本系统采用eclipse的开发环境,配置SDK。2.3 功能要求本系统就是要实现对正在运行的进程进行管理的功能,包括以下几点:1)查看当前系统下运行的所有的进程能够显示手机上所有正在运行的程序,了解每个进程的大小和占CPU的比例。2.)查看程序的详细信息。点击能够查看一个程序的具体信息。3)杀死进程可以杀死全部进程或者杀死指定的进程4)查看系统剩余内存功能模块图如下:任务管理器功能模块显示正在运行的任务查看详细信息结束进程查看系统剩余内存图2-1 系统功能模块图3 概要设

29、计软件概要设计主要是一个把软件需求转化为软件表示的过程,这种表示只是描述出软件总的概貌。3.1 概述概要设计的主要任务是把需求分析得到的DFD转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及界面等。3.2 系统功能 菜单名称功能描述备注应用显示正在运行的应用查看当前正在运行的程序及详细信息进程切换到用户查看的进程查看正在运行的进程及详细信息服务显示正在运行服务查看正在运行的服务及详细信息任务查看当前正在运行任务图3-1 任务管理操作功能3.3 基本的设计概念和处理流程本系统的基本设计概念和处理流程大致是:1.

30、 打开系统直接显示出正在运行的所有进程2. 点击列表中的一个程序打开相应的任务管理操作3. 双击返回键退出程序4 详细设计详细设计是软件工程中软件开发的一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。4.1 概述及环境搭建本软件是简单实用的公共软件。考虑到系统的构架简单,且主要实现主要模块,提供清晰的设计框架,本文档在先做出概要设计前提下,然后在概要设计的基础上进行扩展和详细的描述,完成主要模块的详细设计1. JDK安装先下载JDK,接下来一步一步安装。设置环境变量步骤如下:我的电脑-属性-高级-环境变量-系统变量中添加以下环境变量: JAVA_HOME值为:

31、 D:Program FilesJavajdk1.6.0_18(安装JDK的目录) CLASSPATH值为:.;%JAVA_HOME%libtools.jar;%JAVA_HOME%libdt.jar;%JAVA_HOME%bin; Path: 在开始追加 %JAVA_HOME%bin; NOTE:前面四步设置环境变量对搭建Android开发环境不是必须的,可以跳过。 安装完成之后,可以在检查JDK是否安装成功。打开cmd窗口,输入java version 查看JDK的版本信息。出现类似下面的画面表示安装成功了:图4-1 JDK安装是否成功2. Eclipse安装Eclipse下载解压之后即可

32、使用。3. Android SDK安装在Android Developers下载android-sdk_r05-windows.zip,下载完成后解压到任意路径。运行SDK Setup.exe,点击Available Packages。如果没有出现可安装的包,请点击Settings,选中Misc中的Force https:/.这项,再点击Available Packages 。 选择希望安装的SDK及其文档或者其它包,点击Installation Selected、Accept All、Install Accepted,开始下载安装所选包 在用户变量中新建PATH值为:Android SDK中

33、的tools绝对路径(本机为D:AndroidDevelopandroid-sdk-windowstools)。 图4-2 设置Android SDK的环境变量“确定”后,重新启动计算机。重启计算机以后,进入cmd命令窗口,检查SDK是不是安装成功。 运行 android h 如果有类似以下的输出,表明安装成功:图4-3 验证Android SDK是否安装成功4. ADT安装打开 Eclipse IDE,进入菜单中的 Help - Install New Software 点击Add.按钮,弹出对话框要求输入Name和Location:Name随便取,Location输入http:/dl-ss

34、/android/eclipse。如下图所示: 图4-4 ADT的安装确定返回后,在work with后的下拉列表中选择刚才添加的ADT,会看到下面出有Developer Tools,展开它会有Android DDMS和Android Development Tool,勾选他们。 如下图所示: 图4-5 ADT的下载然后就是按提示一步一步next。 完成之后:选择Window Preferences. 在左边的面板选择Android,然后在右侧点击Browse.并选中SDK路径,本机为: D:AndroidDevelopandroid-sdk-windows 点击App

35、ly、OK。配置完成。 5. 创建AVD为使Android应用程序可以在模拟器上运行,必须创建AVD。1、在Eclipse中。选择Windows AVD Manager 2、点击左侧面板的Virtual Devices,再右侧点击New 3、填入Name,选择Target的API,SD Card大小任意,Skin随便选,Hardware目前保持默认值4、点击Create AVD即可完成创建AVD 具体创建项目步骤:通过File - New - Project 菜单,建立新项目Android Project 然后填写必要的参数,如下图所示: 图4-6新建项目图图4-7 选择相应的版本图4-8 填

36、写相应信息相关参数的说明:Project Name: 包含这个项目的文件夹的名称。 Package Name: 包名,遵循JAVA规范,用包名来区分不同的类是很重要的,用的是helloworld.test。 Activity Name: 这是项目的主类名,这个类将会是Android的Activity类的子类。一个Activity类是一个简单的启动程序和控制程序的类。它可以根据需要创建界面,但不是必须的。 Application Name: 一个易读的标题在应用程序上。 在选择栏的 Use default location 选项,允许你选择一个已存在的项目。 点击Finish后,点击Eclips

37、e的Run菜单选择Run Configurations 选择“Android Application”,点击在左上角或者双击“Android Application”, 有个新的选项“New_configuration”。在右侧Android面板中点击Browse,选择HelloWorld。在Target面板的Automatic中勾选相应的AVD,如果没有可用的AVD的话,你需要点击右下角的Manager,然后新建相应的AVD。如下图所示: 图4-9 启动模拟器然后点Run按钮即可,运行成功的话会有Android的模拟器界面,如下图所示: 图4-10 模拟器显示图4.2 系统模块设计 这个系统

38、主要有一个布局的设计和一些功能模块的设计。4.2.1 布局设计主界面能够把系统中所有正在运行的程序都显示出来。在main.xml中进行布局,用一个把当前的进程信息都放进去ListView每项自定义较复杂布局实现:对于ListView里面布局较复杂的情况,可以自定义一个继承自BaseAdapter的类,来逐条绘制ListView.继承BaseAdapter(抽象类)之后,需要重写以下四个方法:getCount,getItem,getItemId,getView。getItem和getItemId方法将会在调用ListView的响应方法的时候被调用到,这两个方法对于android来讲是没有用的,单

39、纯是为了客户端调用的方便。getCount()获取Item的个数,是必须的。getView(final int position, View convertView, ViewGroup parent)方法根据getCount(),用来逐条绘制,每绘制一个Item就调用一次这个方法,是必须的。在getView方法里可以为convertView添加各种监听事件。4.2.2 获取运行程序ActivityManager对象向系统取得ACTIVITY_SERVICE:am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 1

40、. .获取正在运行的进程列表:List list = am.getRunningAppProcesses();通过RunningAppProcessInfo获取任务的详细信息:(将所有信息封装到一个类DetailProcess中)2. 获取ApplicationInfo获取所以安装了的程序,得到List:PackageManager pm = Context().getPackageManager();ListappList=pm.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES);在通过程序名RunningApp

41、ProcessInfo .processName与appList中的ApplicationInfo .processName是否相符来获取此运行任务的ApplicationInfo.3. 获取PackageInfopm.getPackageInfo(RunningAppProcessIcessName,PackageManager.GET_ACTIVITIES)4. 获取任务名:ApplicationInfo. loadLabel(pm).toString()效果图:图4-11主界面图4.2.3 任务管理模块 选择列表中的进程可对其进行相应管理对选择的菜单进行相应的操作任务管理器

42、显示正在运行的任务查看详细信息结束进程查看系统剩余内存图4-12 进程管理功能图相应的操作是调用系统的方法进行执行1. 结束任务方法:关闭应用程序的权限 :API 7及以下:ActivityManager. restartPackage(PackageName) (restartPackage会关掉于这个进程有关联的所有资源)API 8及以上:ActivityManager. Killbackgroundprocesses (alarms会被关掉,service会重启,如果是用户可见的activity,将不会被kill,该方法只能重启应用程序)2. 获取程序详细信息方法:Intent deta

43、ilsIntent = new Intent();detailsIntent.setClassName(com.android.settings,com.android.settings.InstalledAppDetails); detailsIntent.putExtra(com.android.settings.ApplicationPakgName,dp.getPackageName(); Context.startActivity(detailsIntent);求文件集合的部分代码(文件这里可能是纯粹的文件,也可能是文件夹):File file=new File(sdcard);if

44、(file!=null & file.exists() File fileItems=file.listRoots(); for(int i=0;ifileItems.length;i+) File item=fileItemsi; if(!item.isDirectory()/不是目录/文件的处理,在list中显示文件图标,单击则打开 else/遇到目录,/目录的处理,在list中显示文件夹图标,单击则进入下一级,下一级的处理一样 获取系统可用内存大小:ActivityManager.MemoryInfooutInfo = new ActivityManager.MemoryInfo();a

45、m.getMemoryInfo(outInfo);可用内存(string):Formatter.formatFileSize(getBaseContext(),outInfo.availMem);点击可进行相应操作,清理缓存资源,安装包管理,查看已安装的软件并管理。清除是在软件中清理其它程序的缓存,有两种。一种带root权限的:Class c1 = Class.forName(android.content.pm.IPackageDataObserver);Method method = pm.getClass().getMethod(deleteApplicationCacheFiles,

46、String.class,IPackageDataObserver.class);method.invoke(pm, packageName,new IPackageDataObserver.Stub()Overridepublic void onRemoveCompleted(String packageName,boolean succeeded) throws RemoteException / TODO Auto-generated method stub);另外一种是不用权限;一键清理:private static long getEnvironmentSize() File loc

47、alFile = Environment.getDataDirectory(); long l1; if (localFile = null) l1 = 0L; while (true) String str = localFile.getPath(); StatFs localStatFs = new StatFs(str); long l2 = localStatFs.getBlockSize(); l1 = localStatFs.getBlockCount() * l2; return l1; PackageManager pm = activity.getPackageManager

48、();Class arrayOClass = new Class2;Class localClass2 = Long.TYPE;arrayOfClass0 = localClass2;arrayOfClass1 = IPackageDataObserver.class;Method localMethod = pm.getClass().getMethod(freeStorageAndNotify, arrayOfClass);Long localLong = Long.valueOf(getEnvironmentSize() - 1L);Object arrayOfObject = new

49、Object2;arrayOfObject0 = localLong;localMethod.invoke(pm,localLong,new IPackageDataObserver.Stub() public void onRemoveCompleted(String packageName,boolean succeeded) throws RemoteException / TODO Auto-generated method stub);经过详细设计,各个模块的设计基本完成,接下来就是软件的测试,测试系统能否达到所需求的功能,并进一步完善。5 软件测试5.1 软件测试定义软件测试使用人

50、工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness) 完全度(completeness)和质量(quality)的软件过程;是SQA(software quality assurance)的重要子域。1. 测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进;2. 这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性;3. 没有发现错误的测试

51、也是有价值的,完整的测试是评定软件质量的一种方法。5.2 系统测试步骤及测试过程先分别进行单元测试,再进行集成测试,遵循自底向上的策略。1.显示界面测试测试能否正常显示进程列表。图5-1 应用列表显示图5-2 进程列表显示图5-3 任务列表显示图5-4 服务界面显示2.结束进程点击结束进程直接结束所选进程,返回进程列表主界面。图5-5 进程结束图3.详细信息图5-6 详细信息图软件测试是软件开发到使用前的过程中必不可少的一个部分,而且也是很重要的一个部分。这次测试对软件的一些进程管理的基本功能进行了测试,能基本达到设计要求,但是系统漏洞肯定是有的,有些功能也还有待于进一步的完善。在这里自己没有

52、去对软件测试这一块进行更深一层次的研究,在测试的过程中,也出现过一些问题,但是在同学的帮助和自己的努力下也都解决了。6 结论与展望本任务管理器的开发过程中,由于本人开发软件项目不多,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对任务管理器的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。在本次开发过程由于硬件的限制,未能实现部分细节功能,因此在以后的系统更新过程中可能会造成一些不必要的数据损失。尽管本任务管理器存在着很多不足,但其功能全面、界面友好、操作方便、效率高、安全性好等优点是本次系统所必需的。在这次毕业设计中的最大收获并不是掌握开发工具的应用,而是进一步学会了设计系统的思维方法。在整个设计过程中,遇到了很多困难,但是在严老师的悉心教导和努力下,完成了软件制作和论文纂写,在此期间我深入学习了软件的开发流程、Android、Java语言程序设计等方面的书籍,所以收获颇大。我始终相信毕业设计是大学当中的最后也是最重要的

温馨提示

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

评论

0/150

提交评论