JAVA网络编程课程设计_报告(Android手机管家).doc_第1页
JAVA网络编程课程设计_报告(Android手机管家).doc_第2页
JAVA网络编程课程设计_报告(Android手机管家).doc_第3页
JAVA网络编程课程设计_报告(Android手机管家).doc_第4页
JAVA网络编程课程设计_报告(Android手机管家).doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

评语:课程设计成绩教师签名:JAVA网络编程课程设计报告安卓手机管家的设计与实现院 系:光电与信息工程学院班 级:网络工程2班设 计 者:施逸宁、陈翠榕、李雪、王小钰学 号:136032012170 、136032012184、136032012185、136032012186指导教师:陈顺凡设计时间:2014年11月14日始 福建师范大学 二一四年十二月1哈尔滨工业大学(威海)课程设计报告(论文)光电与信息工程学院JAVA网络编程课程设计验收及成绩评定表(项目组)项目名称安卓手机管家职责学 号姓 名主 要 分 工组员136032012170施逸宁文档+UI+软件管家+骚扰拦截组员136032012185李 雪组长136032012184陈翠榕流量监控+手机备份+系统优化+设置中心组员136032012186王小钰设计开始日期2014年11月14日项目完成日期2014年12月14日文 档 评 审 成 绩 (共50分)评审项目评审内容成绩标准评审成绩项目名称课题是否从实际出发,是否具有创意等10文档格式文档格式是否规范;文字是否规范;图表是否规范;术语是否准确等20分文档质量程序设计思想与整体框架是否清晰等20分文档总体评价总成绩程 序 功 能 完 备 性 评 审 成 绩 (共 50 分)评审项目评 审 内 容成绩标准评审成绩程序运行状况程序是否能正常运行;是否出现死锁;是否遇到错误而中止运行10分程序正确性对于给定的输入数据,是否能得到正确的输出结果15分程序与文档的一致性程序与各种文档的内容是否一致5 分程序的代码量程序代码量的大小10分实现方法图形界面或命令行界面,美观程度5分实现语言面向过程或面向对象5分程序总体评价总成绩课程设计任务书姓 名:施逸宁、陈翠榕、李雪、王小钰学 号: 136032012170 、136032012184、136032012185、136032012186院(系): 光电与信息工程学院专 业: 网络工程任务起止日期:2014年11月14日至2014年12月14日 课程设计题目:安卓手机管家 问题阐述与分析: 本项目是基于java网络编程 的项目。 安卓手机管家项目延续了初级Java编程,是基于Android系统平台的,采用安卓四大组件:Activity活动,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器等技术,采用MVC设计思想开发的安卓应用程序,使得系统不再是一个流水线式的系统,而是一个有层次、模块化的系统,降低代码的耦合度。开发系统版本基于Android2.2以上,开发工具采用Eclipse3.6.2或者以上版本。 该项目结合Andriod各部分组件以及各种事件监听器驱动界面,采用面向对象的编程思想以及封装空间的思想,项目还融入了SQLite轻量关系型数据库作为数据库技术,实现UI界面和数据库的数据交互。 工作量:(分工)1. 软件总体框架和界面设计、数据库设计2. 软件管理模块设计3. 流量监控模块设计4. 骚扰拦截模块设计5. 系统优化模块设计6. 设置中心模块设计7. 手机备份模块设计 工作计划安排:2014年11月14日至17日:软件总体框架和界面设计、数据库设计2014年11月18日至22日:软件管理模块设计2014年11月23日至26日:流量监控模块设计2014年11月27日至29日:骚扰拦截模块设计2014年11月30日至12月2日:系统优化模块设计2014年12月3日至6日:手机备份模块设计2014年12月7日至14日:程序优化、撰写报告 同组设计者及分工:施逸宁、李雪:文档+UI+软件管家+骚扰拦截陈翠榕、王小钰:流量监控+手机备份+系统优化+设置中心目录1. 序言11.1 背景11.2 相关技术11.2.1 JAVA概述1 1.2.2四大组件概述-22. 程序设计与实现22.1 需求分析22.2 程序结构32.3 代码实现32.3.1 软件管理模块32.3.2 自启管家模块52.3.3 圆形可旋转菜单模块73. 测试结果103.1 测试环境与使用方法103.2 功能测试103.2.1 软件管理103.2.2 病毒查杀113.2.3 自启管家143.2.2 流量监控153.2.2 来电归属地查询显示164. 总结16参考文献17161. 序言1.1 课题背景苹果公司在07年推出iPhone,开启了智能手机的革命,但Android平台正以一个更快的速度蔓延世界。 目前在手机市场上,越来越多的手机厂商开始选择Android系统作为其主要发展对象。自Android系统的第一个版本发布至今,Android系统已经占据市场份额第一的位置许久。 许多人使用360的手机管家,软件大,许多功能用不上,占据手机内存,造成不必要的浪费,用户需要集常用功能于一体的小型手机管家 此软件是一款支持专注于安卓(Android)系统手机管理的手机软件。与市面上已有的手机管家相比较,其界面简洁、操作方便,使用了圆形可移位旋转菜单,给用户全新的UI体验。功能方面具有大多手机管家常用的功能,而精简了一些不常用的功能,从而大大缩减了不必要的内存占用。1.2 相关技术介绍1.2.1 JAVA概述 JAVA语言有下面一些特点:简单、面向对象、分布式、解释执行、鲁棒、 安全、体系结构中立、可移植、高性能、多线程以及动态性。丰富的类库JAVA提供了大量的类以满足网络化、多线程、面向对象系统的需要。语言包提供的支持包括字符串处理、多线程处理、数学函数处理等,可以用它简单地实现JAVA程序的运行平台。实用程序包提供的支持包括哈希表、堆栈、可变数组、时间和日期等。输入输出包用统一的流模型来实现所有格式的I/O,包括文件系统、网络、输入低级网络包用于实现Socket编程。抽象图形用户接口包实现了不同平台的计算机的图形用户接口部件, 包括窗口、菜单、滚动条、对话框等,使得JAVA可以移植到不同平台的机器。网络包支持Internet的TCP/IP协议,提供了与Internet的接口。它支持URL连接,WWW的即时访问,并且简化了用户/服务器模型的程序设计。JAVA和C、C+对于变量声明、参数传递、操作符、流控制等使用了相同的传统,使得熟悉C、C+的程序员能很方便地进行编程。同时, JAVA为了实现其简单、鲁棒、安全等特性,也摒弃了C和C+中许多不合理的内容。1.2.2 四大组件概述Activities(活动)应用程序的显示层。每一个画面对应于你的应用程序,将会是Activity类的扩展。Activity使用Views去构建UI来显示信息和响应用户的行为。就桌面开发而言,一个Activity相当于一张Form。一个Activity通常展现为一个可视化的用户界面。例如,一个Activity可能展现为一个用户可以选择的菜单项列表或者展现一些图片以及图片的标题。一个消息服务应用程序可能包含一个显示联系人列表的Activity,一个编写信息的Activity,以及其它一些查看信息和修改应用程序设置的Activity。虽然这些Activity一起工作,共同组成了一个应用程序,但每一个Activity都是相对独立的。每一个 Activity都是Activity(android.app.Activity)的子类。一个应用程序可能只包含一个Activity,或者像上面提到的消息服务程序一样有多个Activity。一个应用程序包含几个Activity以及各个Activity完成什么样的功能完全取决于应用程序以及它的设计。通常每个应用程序都包含一个在应用程序启动后第一个展现给用户的 Activity。在当前展现给用户的Activity中启动一个新的Activity,可以实现从一个Activity转换到另外一个 Activity。每个Activity都会有一个用于绘制用户界面的窗口。通常这样一个窗口会填充整个屏幕,当然这个窗口也可以比屏幕小并漂浮在其他窗口之上。 Activity还可以使用一些额外的窗口,例如一个要求用户响应的弹出式对话框,或者是当用户在屏幕上选择一个条目后向用户展现一些重要信息的窗口。展示Activity窗口的可视化内容区域是一些具有层次关系(很像数据结构中的树)的视图,而视图则是由类View的子类表示的。每个视图控制窗口中的一个矩形区域。父视图包含一些子视图并管理子视图的布局。位于叶节点的视图直接控制并响应用户的动作。因此视图就是Activity与用户交互的接口。例如,一个显示图片的视图,当用户单击的时候它可能会启动一个动作。Android有许多开发人员可以直接使用的视图,包括按钮,文本域,滚动条,菜单,复选框等。通过调用Activity.setContentView()方法来设置展现Activity的窗口的视图。内容视图则是视图层次结构中的根节点视图。Services(服务)Android应用程序中不可见的“工人”。 Service组件运行时不可见,但它负责更新的数据源和可见的Activity,以及触发通知。它们常用来执行一些需要持续运行的处理,当你的 Activity已经不处于激活状态或不可见。Service没有用户界面,但它会在后台一直运行。例如,Service可能在用户处理其它事情的时候播放背景音乐,或者从网络上获取数据,或者执行一些运算,并把运算结果提供给Activity展示给用户。每个Service都扩展自类Serivce。多媒体播放器播放音乐是应用Service的一个非常好的例子。多媒体播放器程序可能含有一个或多个Activity,用户通过这些 Activity选择并播放音乐。然而,音乐回放并不需要一个Activity来处理,因为用户可能会希望音乐一直播放下去,即使退出了播放器去执行其它程序。为了让音乐一直播放,多媒体播放器Activity可能会启动一个Service在后台播放音乐。Android系统会使音乐回放Service一直运行,即使在启动这个Service的Activity退出之后。应用程序可以连接到一个正在运行中的Service。当连接到一个Service后,可以使用这个Service向外暴露的接口与这个Service进行通信。对于上面提到的播放音乐的Service,这个接口可能允许用户暂停,停止或重新播放音乐。与activity以及其它组件一样,Service同样运行在应用程序进程的主线程中。所以它们不能阻塞其它组件或用户界面,通常需要为这些Service派生一个线程执行耗时的任务。Content(内容)提供共享的数据存储。Content Provider(内容提供器)用来管理和共享应用程序的数据库。在应用程序间,Content Provider是共享数据的首选方式。这意味着,你可以配置自己的Content Provider去存取其他的应用程序或者通过其他应用程序暴露的Content Provider去存取它们的数据。Android设备本身包含了几个Content Provider来访问像联系人信息等有用的数据库。你将在第6章学习怎样创建和使用Content Provider。应用程序可以通过Content Provider访问其它应用程序的一些私有数据,这是Android提供的一种标准的共享数据的机制。共享的数据可以是存储在文件系统中、SQLite 数据库中或其它的一些媒体中。Content Provider扩展自ContentProvider类,通过实现此类的一组标准的接口可以使其它应用程序存取由它控制的数据。然而应用程序并不会直接调用ContentProvider中的方法,而是通过类ContentResolver。ContentResolver能够与任何一个 ContentProvider通信,它与ContentProvider合作管理进程间的通信。任何时候当Android系统收到一个需要某个组件进行处理的请求的时候,Android会确保处理此请求的组件的宿主进程是否已经在运行,如果没有,则立即启动这个进程,当请求的组件的宿主进程已经在运行,它会继续查看请求的组件是否可以使用,如果不能立即使用,它会创建一个请求的组件的实例来响应请求Intents(意图)简单的消息传递框架。使用Intent,你可以在整个系统内广播消息或者给特定的Activity或者服务来执行你的行为意图。系统会决定那个(些)目标来执行适当的行为。Broadcast Receivers(广播接收器)Intent广播的“消费者”。通过创建和注册一个Broadcast Receiver,应用程序可以监听符合特定条件的广播的Intent。Broadcast Receiver 会自动的启动你的Android应用程序去响应新来的Intent。Broadcast Receiver是事件驱动程序的理想手段。Broadcase Receiver不执行任何任务,仅仅是接受并响应广播通知的一类组件。大部分广播通知是由系统产生的,例如改变时区,电池电量低,用户选择了一幅图片或者用户改变了语言首选项。应用程序同样也可以发送广播通知,例如通知其他应用程序某些数据已经被下载到设备上可以使用。一个应用程序可以包含任意数量的Broadcase Reveiver来响应它认为很重要的通知。所有的Broadcast Receiver都扩展自类BroadcastReceiver。Broadcast Receiver不包含任何用户界面。然而它们可以启动一个Activity以响应接受到的信息,或者通过NotificationManager通知用户。可以通过多种方式使用户知道有新的通知产生:闪动背景灯、震动设备、发出声音等等。通常程序会在状态栏上放置一个持久的图标,用户可以打开这个图标并读取通知信息。Notifications(通知)用户通知的框架。Notification用来在不需要焦点或不中断它们当前Activity的情况下提示用户。它们是Service或 Broadcast Receiver获得用户注意的首选方式。例如,当设备收到文本信息或外部来电时,它通过闪光,发声,显示图标或显示对话框信息来提醒你。2. 程序设计与实现2.1 需求分析(功能性介绍)本软件需具有以下几个功能:1软件管理能够独立的显示系统软件和本地软件,并显示软件的大小、名称、系统内存使用等详细信息。点击该软件条目可显示一个对话框,选择启动或卸载程序。2.显示未安装软件列出SD卡中未安装的安装包,并显示其详细信息3流量监控显示当月总流量和各程序流量 显示当月流量的使用情况,有当月已使用的总流量以及各个程序使用的流量情况流量预警设置当月预计使用的总流量值,点击确定后,开启流量预警。此时,若当月的已使用的流量超过设定值,将进行提醒,让用户注意流量的使用。4骚扰拦截短信、来电黑名单设置短信、来电黑名单,号码不可接通,并向用户提示。短信可接收,由用户选择是否阅读或是删除。所设置的短信或电话的黑名单均可查看或删除,也可通过关闭黑名单服务,使设置的黑名单失效。5电话、短信备份点击备份电话或短信,会显示备份成功并显示备份后的地址6系统优化手机清理缓存显示当前存在的本地进程和系统进程,选择要清理结束的进程(除系统进程),点击清理后,该进程停止。7自启管家可选择手机中现有的软件(除了本软件),是否在开机时自动启动该软件。8优化电池管理具有节电设置功能,来达到电池的优化。9设置中心开机自启动设置本软件是否在手机开机时自动启动。10来电归属地查询及显示输入电话号码后,点击确定可显示该号码的归属地。以及在某个号码拨打进来时,可以显示此号码的归属地。11设置通知栏是否常驻图标设置是否在通知栏中常驻图标,方便使用。12病毒查杀该功能可是实现手机查杀病毒功能,用户点击开始扫描后开始查杀手机病毒,如果存在病毒,会提示用户存在病毒,点击杀毒,会跳转至卸载页面,保护手机的安全。2.2应用程序系统框架2.3代码实现开发环境:Eclipse3.6.2或者以上版本。采用MVC架构,使各模块实现高内聚,低耦合,方便后期软件的拓展和维护。采用面向对象的编程思想,使用Android中的Activity、Servise、BroadCastReceive、ContentProvider四大组件和Intent意图,用到了SharedPreference、Database来保存信息。 2.3.1 软件管理只列出程序界面以及伪代码: 伪代码:用ActivityGroup实现”本地“和“系统”分页显示,在onWindowFocusChanged()方法中刷新列表(1)获取应用:Public void getApplication()Packagemanager获得已经安装的应用程序;应用程序获取其信息表applicationInfo;通过applicationInfo.flag区分系统、本地应用;applicationInfo获取进程、包名、图标等信息 2.3.2 自启管家伪代码:(1)获取有开机权限的应用PackageManager获取已安装的应用apps;apps.iterator()获取迭代序列;For(迭代序列)If(app有开机权限) 装入model类; (2)将“禁止”、“允许”存入共享文件SharedPreferences share;Editor ed;ed.put(“进程名”,true/false)(3)在开机广播接收者BroadcastReceiver中:ActivityManager获取正在运行的服务;If(share.getString(“服务所在进程名”,“”)=false)获取服务对应的意图intent;stopService(intent); 2.3.3 圆形旋转可移位菜单1.菜单项移位监听public boolean TouchEvent(MotionEvent event) if(event.getAction() = MotionEvent.ACTION_MOVE) 获取移动后的X、Y坐标;根据X、Y重新计算图标的角度;else if (event.getAction() = MotionEvent.ACTION_UP)重新设置图标的X、Y坐标和角度;2.菜单旋转效果旋转时触发监听事件SimpleOnGestureListener(可以获得速度);调用线程(速度velocity)public void run() 旋转标志TO_ROTATE、速度velocity作为message传给handler;Handler刷新界面switch(获得message内容)case 旋转标志:改变每个菜单项的X、Y和角度;减小速度;调用线程(速度velocity);3. 测试结果3.1 测试环境及使用方法 测试环境:虚拟机或者真机 使用方法:1. 初次安装PhoneGuard软件时,滑动导航页到第三页,点击“点击进入体验”进入应用主菜单圆形旋转菜单,菜单支持移位和旋转功能,每个子菜单可以互换位置。 2. 点击圆形旋转菜单的“软件管家”:(1)选择进入“软件管理”,单击每个条目会弹出对话框可以选择进行软件卸载或启动操作,勾选条目点击“一键卸载”可以实现多个软件同时卸载。“本地”和“系统”可以切换出本地软件和系统软件。 (2)选择进入“未安装软件列表”,可以查看未安装的软件apk3. 点击圆形旋转菜单的“流量监控”:首先呈现流量统计页面,可以看到每日2G/3G,WIFI使用情况以及月流量总情况,点击右上角进行相关设置,设置后点击确认,取消。向左滑动页面进入所有程序流量使用情况汇总列表, 单击每个条目都会出现红色小方块,点击可以结束该项进程,或点击右上角的红色小方块可以一键结束所有进程4点击圆形旋转菜单的“骚扰拦截”:(1) 选择进入“来电黑名单管理”,“来电黑名单”和“拦截到的电话”可以切换,“来电黑名单”中可以点击下方“添加黑名单”添加,点击“删”删除对应条目。“拦截到的号码”显示拦截到的次数,点击“删”删除所在记录。(2) 选择进入“短信黑名单管理”,“短信黑名单”和“拦截到的短信”可以切换,“短信黑名单”中可以点击下方“添加黑名单”添加,点击“删”删除对应条目,“开启拦截”“取消拦截”可以开启和关闭短信拦截功能。“拦截到的短信”中点击“查”“删”分别查看短信内容和删除短信,当拦截到一条短信是会在通知栏通知用户,用户点击通知可查看或删除短信。5点击圆形旋转菜单的“系统优化”:(1) 选择进入“清理手机缓存”,“本地”和“系统”可以切换出本地和系统进程,勾选进程,点击“一键清理”可以同时杀死多个进程(2) 选择进入“自启管家”,点击“允许”或者“禁止”可以设置允许或者禁用对应的应用程序自启动。(3) 选择进入“优化电池管理”,可查看当期那正在运行的服务,点击每个条目会弹出对话框选择“停止”可以杀掉该服务。6点击圆形旋转菜单的“设置中心”:(1) 勾选“开机自启动”项可设置本应用程序开机自启动(2) 选择进入“号码归属地查询”,输入号码点击“一键查询”即可显示号码归属地(3) 选择进入“常用号码”,点击下拉列表中的号码可以快速拨号(4) 选择进入“来电归属地设置”,可以开启来电归属地,并设置来电归属地显示框颜色风格(5) 选择进入“IP拨号”,可以设置要加拨的IP号,再次拨号时生效(6) 选择进入“通知栏设置”,勾选可设置通知栏常驻(7) 选择进入“

温馨提示

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

最新文档

评论

0/150

提交评论