android手机卫士毕业设计.doc

上传人:知****量 文档编号:91672997 上传时间:2023-05-27 格式:DOC 页数:29 大小:2.87MB
返回 下载 相关 举报
android手机卫士毕业设计.doc_第1页
第1页 / 共29页
android手机卫士毕业设计.doc_第2页
第2页 / 共29页
点击查看更多>>
资源描述

《android手机卫士毕业设计.doc》由会员分享,可在线阅读,更多相关《android手机卫士毕业设计.doc(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 摘 要 Android手机卫士系统主要帮助用户更加方便的使用手机,其中包括显示系统软件和本地软件的详细信息,删除应用程序,结束进程,清理缓存以便手机运行的更流畅;通讯录添加黑名单可以帮助用户免骚扰;程序锁可以保护用户的手机应用,不让他人随便打开私密程序,比如通讯录、短信等;常用号码可以方便用户查询常用的一些电话号码,方便人们的生活;手机杀毒可以保护手机不被病毒骚扰,使手机更加安全;短信备份可以防备短信丢失。Android手机卫士系统主要是面向越来越多的android手机用户。其内容包括通讯卫士可以来电归属地显示,来电黑名单/短信黑名单管理. 短信备份;软件管理,显示软件的详细信息,启动,删除

2、、分享应用程序;任务管理,管理系统任务 显示系统内存信息,杀死,批量杀死进程;系统优化,清理手机内存;隐私卫士,加密程序。 关键字:手机卫士、安全、Android.Abstract Android Mobile Guard system is mainly to help users more convenient to use mobile phones, including system software and local software displays detailed information, remove applications, the end of the process

3、, clearing the cache in order to run more smoothly phones; contacts can help users avoid adding blacklist harassment; program lock can protect the users mobile phone applications, not just open the privacy of others programs, such as contacts, text messages, etc.; frequently used numbers can be used

4、 to facilitate user queries some phone numbers to facilitate peoples lives; mobile antivirus can protect your phone is not virus harassment, make the phone more secure; preparedness SMS SMS backup can be lost.Android Phone Guardian system is mainly for more android mobile phone users. Its content in

5、cludes communication guards can call to show ownership, call blacklist / SMS blacklist management. SMS backup; software management, detailed information display software, start, delete, share applications; task management, task management system memory information display system , kill, kill the pro

6、cess batch; system optimization, cleaning phone memory; Privacy Guard, encryption programs.Keywords: Phone Guardian, safe, android.目 录1.1 前言11.2 课题研究的背景及意义11.3 国内外研究概况与发展趋势11.3.1国外研究情况:11.3.2国内研究情况:21.4 设计的主要工作21.5 论文组织22.开发环境和开发技术32.1工具环境介绍32.1.1 开发环境的选择32.2开发技术32.1.1 JAVA语言简介32.1.2 SQLite简介33.需求分析

7、43.1 设计思想43.2 可行性分析43.2.1 操作可行性43.2.2 技术可行性43.2.3 经济可行性43.3 功能需求53.3.1 基本功能需求54.系统设计64.1 总体结构设计64.1.1 系统设计基础64.1.3 系统模块流程设计65.系统实现95.1设计主界面95.2系统各个模块功能95.2.1 进程管理界面95.2.2程序管理135.2.3病毒查杀165.2.4骚扰拦截185.2.5流量查询195.2.6高级工具206.结束语246.1 总结246.2 心得体会24致谢25参考文献261.绪论1.1 前言目前android是最为普遍的手机操作系统,为了方便为数众多的andr

8、oid手机用户更加安全的使用手机,保护自己的隐私数据而建立android手机卫士系统。其内容包括黑名单的添加与删除,短信的备份与恢复,系统软件和用户软件的的详细信息、运行、卸载与分享,运行进程的结束,程序的加密保护,清理手机内存,常用电话号码的查询1.2 课题研究的背景及意义计算机便携化是未来的发展趋势,而Android作为最受欢迎的手机、平板电脑操作之一,其发展的上升势头是势不可当的。而Android应用选择了Java作为其开发语言,对于Java来说也是一次极好的机会。Android系统就是一个开发式的手机和平板电脑的操作系统,发展势头十分迅猛。虽然Android面世的时间不长,但Andro

9、id已经对传统的手机平台(如Symbian)构成了强大冲击,Nokia宣布与Microsoft结盟,可能会逐步采用Windows Phone来代替自己的Symbian系统。业界部分人士预测,Android将会成为应用最为广泛的手机操作系统。随着Android手机在人们日常生活的大众化,Android手机的安全也变得越来越重要。经过大学四年理论课程的学习,以及校内校外的实践,极大的丰富了自身的理论基础,并且也具备了一些处理简单问题的能力,但即将踏上社会的我深知这还远远不够,因此我利用了毕业设计的机会,在老师的指导下去完成一个具有挑战性的,其具体应用及社会服务相结合的项目,深知通过对它的开发,将对

10、我的能力有更高层次的突破。1.3 国内外研究概况与发展趋势1.3.1国外研究情况:美国Mcafee公司的WaveSecure应用程序没有任何病毒扫描和防火墙保护,但它却拥有一些重要的功能,比如,远程锁定你的Android设备,存储关键数据,并且能够通过GPS技术跟踪和定位设备,比较实用。Antivirus Free是一款流行的反病毒程序,下载量已经超过50万次,它扫描已经安装到你设备中的应用程序,并检查它们的数据库中是否有恶意程序,从本质上来说,它是一款非常好用的恶意应用检测程序,值得借鉴。1.3.2国内研究情况:国内Android手机卫士主要有360手机卫士,腾讯手机管家等,功能比较齐全,界

11、面友好,各个方面都比较成熟,为我提供了很好的借鉴。随着网络技术的不断发展和人们对安全性,高效性的要求,移动操作系统系统必须与时俱进,不断注入新的功能,以人们日常生活的要求。所以,android手机卫士系统必须保持进步与完善。1.4 设计的主要工作本系统包括进程管理模块、程序管理模块、病毒查杀模块、骚扰拦截模块、流量查询模块、高级功能模块进程管理模块主要实现查看系统中运行的用户进程、系统进程,并统计进程运行总数,显示内存剩余情况,以及查看进程详细信息。程序管理模块主要实现列出手机中所有已安装的应用程序,包括系统程序和用户程序,并可以运行程序、卸载程序、通过蓝牙、QQ空间、新浪等分享程序。病毒查杀

12、模块主要完成病毒的扫描与查杀,包括快速扫描和全盘扫描。骚扰拦截模块主要完成黑名单的添加与删除,对黑名单列表人的来电进行拦截,提示手机已停机,并自动挂断电话。流量查询模块主要完成手机中各个程序的流量使用情况。高级工具主要包括短信的备份,短信的还原,程序锁,常用电话号码的查询。1.5 论文组织论文全文共分为六章:第一章绪论。主要介绍了论文选题的引言、对课题研究的背景及意义进行了分析,同时也对国内外研究状况及发展趋势进行了介绍。 第二章 开发环境和开发技术。这一章介绍了系统、系统的开发模式、开发环境等基础知识。第三章 需求分析。这一章主要介绍了系统设计思想、可行性分析、功能和性能需求。第四章 系统设

13、计。这一章主要介绍了系统的总体结构设计。第五章 系统实现。这一章介绍了系统的所有模块和它的功能。第六章 结束语。对系统实现过程进行了总结。2.开发环境和开发技术2.1工具环境介绍2.1.1 开发环境的选择开发与运行的环境的选择会影响到数据库设计,本系统开发与运行环境如下:开发环境:Windows 7 HomeBasic开发工具:MyEclipse10.0UltraEdit数据库管理:SQLite本系统主要采用JAVA与SQLite相结合的技术。利用MyEclipse10.0软件来设计系统界面,使整个系统更具有吸引力和良好的价值2.2开发技术2.1.1 JAVA语言简介Java是一种可以撰写跨平

14、台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。2.1.2 SQLite简介SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它

15、占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。3.需求分析3.1 设计思想第一步确定系统要完成的功能模块;第二步完成系统各个模块的界面开发;第三步完成各个模块的程序设计。本系统包含六个模块:进程管理、程序管理、病毒查杀、骚扰拦截、流量查询、高级工具,各个模块相互独立,模块内部联系紧密,符合高内聚、低耦合的设计思想。3.2

16、可行性分析可行性分析是系统分析阶段的第二项活动,它的主要目是进一步明确系统的目标、规模与功能,对系统开发背景、必要性和意义进行了调查分析并根据需要和可能提出开发系统的初步方案与计划。可行性分析是对系统进行全面、概要的分析。通过调查分析,本系统设计主要有以下三个可行性:3.2.1 操作可行性本系统操作简单,易于理解,只需通过简单指导,上手较快,运行环境要求低。3.2.2 技术可行性本课题采用java语言进行开发,面向对象程序的基本元素是对象,面向对象程序的主要结构特点是:第一,程序一般由类的定义和类的使用两部分组成,在主程序中定义各对象并规定它们之间传递消息的规律.第二,程序中的一切操作都是通过

17、向对象发送消息来实现的,对象接收到消息后,启动有关方法完成相应的操作.一个程序中涉及到的类,可以由程序设计者自己定义,也可以使用现成的类(包括类库中为用户提供的类和他人已构建好的).尽量使用现成的类,是面向对象程序设计范型所倡导的程序设计风格。Android丰富的API可以使系统完成更加方便。3.2.3 经济可行性本课题所使用的软件都为免费公开发行版,不需要购买。现在,Android手机的价格已经十分低廉,使用非常普遍,为本次开发提供了设备支持,几乎所有的Android手机都可以高效的运行使用Android手机卫士系统 。3.3 功能需求按照系统开发业务分析要求和原则,在与系统管理人员的充分沟

18、通,整理出Android手机卫士系统所需求的基本功能和用户界面的一些需求,这些需求将作为系统分析和逻辑设计的依据。3.3.1 基本功能需求通过系统的分析,可得出该系统的基本功能需求如下:进程管理:列出所有进程,显示内存使用情况,可以批量杀死选中进程程序管理:列出手机上安装的用户程序和系统程序,可以运行、卸载相关程序病毒查杀:可以快速扫描和全盘扫描手机内存和SD卡,查杀病毒骚扰拦截:可以添加来电黑名单,拦截黑名单来电流量查询:可以查看各个程序的流量使用情况高级工具:包含短信的备份、还原,程序锁,常用号码查询3.3.2 用户界面需求系统界面要符合大多数人的使用习惯,界面美观、按钮得体,使用起来要方

19、便。图4-1系统组织结构图4.系统设计4.1 总体结构设计4.1.1 系统设计基础系统总体设计原则是需要充分考虑系统框架的合理构建理。其组织结构图如4-1所示。4.1.2 模块设计本系统是一个典型的Android手机卫士系统,主要目标是让使用它的用户能很好地管理Android手机,方便用户的使用,如任务管理功能、程序管理功能、病毒查杀功能、骚扰拦截功能,流量查询以及高级工具功能4.1.3 系统模块流程设计在具体模块的设计过程中,将系统模块以按钮的形式展现出来。任务管理:清理手机的运行进程,包括用户进程和系统进程,显示进程的详细信息和进程的详细信息,如同4-2所示。图4-2任务管理流程图图4-3

20、程序管理流程图程序管理:列出手机中安装的进程包括系统程序和用户程序,对程序进行管理,例如卸载程序,运行程序,分享程序需,如图4-3所示。病毒查杀:扫描手机文件,对比文件MD5值是否与病毒MD5值匹配,查杀病毒,如图4-4所示。图4-4病毒查杀流程图骚扰拦截:添加删除黑名单,并更新黑名单数据库,对黑名单号码来电拦截,如图4-5所示。图4-5骚扰拦截流程图流量查询:查询各个程序锁产生的流量,如图4-6所示。图4-6流量查询流程图图4-6程序锁流程图高级工具:备份所有短信、从备份恢复短信,如图6-7所示;给程序加锁,如图4-6所示;设置密码后只有通过密码验证才能进入相关程序,提供常用公共服务电话号码

21、的查询。图4-7短信备份恢复流程图图5-1 系统窗体5.系统实现5.1设计主界面民情档案管理系统主页面如图5-1所示:5.2系统各个模块功能5.2.1 进程管理界面如图5-2所示图5-2 任务管理界面实现添加功能的部分代码如下:lv_task_manager.setOnItemClickListener(new OnItemClickListener() public void onItemClick(AdapterView parent, View view,int position, long id) Object obj = lv_task_manager.getItemAtPositi

22、on(position);if (obj instanceof TaskInfo) TaskInfo taskinfo = (TaskInfo) obj;String packname = taskinfo.getPackname();CheckBox cb = (CheckBox) view.findViewById(R.id.cb_task_checked);if (cn.itcast.mobilesafe.equals(packname)| system.equals(packname)| android.process.media.equals(packname) cb.setVisi

23、bility(View.INVISIBLE);return;if (taskinfo.isIschecked() taskinfo.setIschecked(false);/ 更改checkbox的状态cb.setChecked(false); else taskinfo.setIschecked(true);cb.setChecked(true););lv_task_manager.setOnItemLongClickListener(new OnItemLongClickListener() public boolean onItemLongClick(AdapterView parent

24、,View view, int position, long id) Intent intent = new Intent(TaskManagerActivity.this,AppDetailActivity.class);MyApplication myapp = (MyApplication) getApplication();Object obj = lv_task_manager.getItemAtPosition(position);if (obj instanceof TaskInfo) TaskInfo taskinfo = (TaskInfo) obj;myapp.taskin

25、fo = taskinfo;startActivity(intent);return false;);fillData();/* * 填充listview的数据 */private void fillData() setTitleData();ll_task_manager_loading.setVisibility(View.VISIBLE);new Thread() Overridepublic void run() taskInfoprovider = new TaskInfoProvider(TaskManagerActivity.this);listtaskinfos = taskI

26、nfoprovider.getAllTasks(runingappinfos);/ 通知界面更新数据totalused = 0; / 所有程序占用的内存信息 kbfor (TaskInfo taskinfo : listtaskinfos) totalused += taskinfo.getMemorysize();handler.sendEmptyMessage(0);.start();/* * 设置title的数据 */private void setTitleData() tv_task_count.setText(进程数目: + getProcessCount();tv_avail_m

27、emory.setText(剩余内存+ TextFormater.getDataSize(getAvailMemoryInfo();/* * 获取当前正在运行的进程的数目 * * return */private int getProcessCount() runingappinfos = am.getRunningAppProcesses();return runingappinfos.size();private long getAvailMemoryInfo() MemoryInfo outInfo = new ActivityManager.MemoryInfo();am.getMem

28、oryInfo(outInfo);return outInfo.availMem;public void killTask(View view) int total = 0;int memorysize = 0;for (TaskInfo taskinfo : usertaskinfos) if (taskinfo.isIschecked() memorysize += taskinfo.getMemorysize();am.killBackgroundProcesses(taskinfo.getPackname();/ listtaskinfos.remove(taskinfo);total

29、+;for (TaskInfo taskinfo : systemtaskinfos) if (taskinfo.isIschecked() memorysize += taskinfo.getMemorysize();am.killBackgroundProcesses(taskinfo.getPackname();/ listtaskinfos.remove(taskinfo);total+;fillData();public void appSetting(View view) Intent intent = new Intent(this,TaskSettingActivity.cla

30、ss);startActivityForResult(intent, 0);private class TaskInfoAdapter extends BaseAdapter public TaskInfoAdapter() usertaskinfos = new ArrayList();systemtaskinfos = new ArrayList();for (TaskInfo taskinfo : listtaskinfos) if (taskinfo.isSystemapp() systemtaskinfos.add(taskinfo); else usertaskinfos.add(

31、taskinfo);5.2.2程序管理第一步:设计界面如图5-3所示。图5-3 程序管理界面第二步:完成查询功能:部分代码如下:/* * * param flag * true 代表的是更新所有的程序 false 代表的是更新用户的程序 */private void initUI(final boolean flag) ll_loading.setVisibility(View.VISIBLE);new Thread() Overridepublic void run() isloading = true;if (flag) provider = new AppInfoProvider(App

32、ManagerActivity.this);appinfos = provider.getAllApps();/Message msg = new Message();msg.what = GET_ALL_APP_FINISH;handler.sendMessage(msg);else provider = new AppInfoProvider(AppManagerActivity.this);appinfos = provider.getAllApps();userAppinfos = getUserApps(appinfos);Message msg = new Message();ms

33、g.what = GET_USER_APP_FINISH;handler.sendMessage(msg);.start();switch (v.getId() case R.id.tv_app_manager_title:tv = (TextView) v;titletext = tv.getText().toString();if (所有程序.equals(titletext) / 切换到用户程序tv.setText(用户程序);/ 更新listview的列表userAppinfos = getUserApps(appinfos);adapter.setAppInfos(userAppin

34、fos);adapter.notifyDataSetChanged(); else / 切换到所有程序tv.setText(所有程序);adapter.setAppInfos(appinfos);adapter.notifyDataSetChanged();break;case R.id.ll_share:Log.i(TAG, 分享 + packname);Intent shareIntent = new Intent();shareIntent.setAction(Intent.ACTION_SEND);/ shareIntent.putExtra(android.intent.extra.

35、SUBJECT, 分享);shareIntent.setType(text/plain);/ 需要指定意图的数据类型shareIntent.putExtra(Intent.EXTRA_SUBJECT, 分享);shareIntent.putExtra(Intent.EXTRA_TEXT,推荐你使用一个程序 + item.getAppname();shareIntent = Intent.createChooser(shareIntent, 分享);startActivity(shareIntent);break;case R.id.ll_uninstall:/ 需求不能卸载系统的应用程序if

36、(item.isSystemApp() Toast.makeText(this, 系统应用不能被删除, 0).show(); else Log.i(TAG, 卸载 + packname);String uristr = package: + packname;Uri uri = Uri.parse(uristr);Intent deleteIntent = new Intent();deleteIntent.setAction(Intent.ACTION_DELETE);deleteIntent.setData(uri);startActivityForResult(deleteIntent,

37、 0);break;case R.id.ll_start:Log.i(TAG, 运行 + packname);/ getPackageManager().queryIntentActivities(intent, flags);try PackageInfo info = getPackageManager().getPackageInfo(packname,PackageManager.GET_UNINSTALLED_PACKAGES| PackageManager.GET_ACTIVITIES);ActivityInfo activityinfos = info.activities;if

38、 (activityinfos.length 0) ActivityInfo startActivity = activityinfos0;Intent intent = new Intent();intent.setClassName(packname, startActivity.name);startActivity(intent); else Toast.makeText(this, 当前应用程序无法启动, 0).show(); catch (Exception e) Toast.makeText(this, 应用程序无法启动, 0).show();e.printStackTrace(

39、);5.2.3病毒查杀第一步:设计病毒查杀如图5-4所示。图5-4 病毒查杀界面第二步:部分代码如下:private void listPackages() ArrayList apps = getInstalledApps(false); final int max = apps.size(); for (int i = 0; i max; i+) if(flag = false) item = new HashMap(); item.put(appname, apps.get(i).appname); item.put(icon, apps.get(i).icon); Message me

40、ssage = new Message(); message.obj = item; progress = i*100/(max-1); try Thread.sleep(50); catch (InterruptedException e) e.printStackTrace(); mHandler.sendMessage(message); else break; 图5-5 骚扰拦截界面5.2.4骚扰拦截第一步:界面设计,如图5-5所示。第二步:部分代码public void onCallStateChanged(int state, String incomingNumber) supe

41、r.onCallStateChanged(state, incomingNumber);switch (state) case TelephonyManager.CALL_STATE_IDLE: / 处于静止状态: 没有呼叫endRingTime = System.currentTimeMillis();long calltime = endRingTime-firstRingTime;Log.i(TAG,calltime =+calltime);if(firstRingTimeendRingTime & calltime0)Log.i(TAG,响一声的电话);endRingTime = 0;

42、firstRingTime = 0;/ 弹出来notification 通知用户这是一个骚扰电话showNotification(incomingNumber);if(view!=null)windowmanager.removeView(view);view = null;/ 再获取一次系统的时间 break;case TelephonyManager.CALL_STATE_RINGING: / 零响状态firstRingTime = System.currentTimeMillis();Log.i(TAG,来电号码为+ incomingNumber);/ 判断incomingnumber是否在黑名单中if(dao.find(incomi

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁