毕业实习报告 手机安全助手.doc_第1页
毕业实习报告 手机安全助手.doc_第2页
毕业实习报告 手机安全助手.doc_第3页
毕业实习报告 手机安全助手.doc_第4页
毕业实习报告 手机安全助手.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

毕业实习报告题目:Android的手机信息查看助手界面设计系 名 计算机科学与技术系 专 业 计算机科学与技术 年 级 姓 名 指导教师 2010年12月23日Android的手机信息查看助手界面设计 摘要摘 要当今社会的生活节奏越来越快,随着硬件移动设备的越来越先进,人们对移动设备的要求也越来越高,从以前的追求技术到现在的追求视觉,因此,也逐步提高了对系统的要求,本文主要是对Android系统上的一款信息查看助手应用程序的设计与实现进行讨论。Android是一个开源系统,它底层是基于Linux的操作系统,本文的手机助手采用了Android开源技术,利用Java语言和Eclipse编辑工具对软件进行编写。同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图,本文还对高度过程中遇到的问题和解决方法进行了详细的讨论,该手机助手集查看系统信息、软件信息、硬件信息、文件查看、进程管理等功能于一体,性能良好,在Android系统中能独立运行。关键词:Android,开源系统,Linux,Java,Eclipse,手机助手,Android的手机信息查看助手界面设计 目录目录第一章 概述11.1 项目背景11.2 系统架构2第二章 用户界面需求分析52.1 问题概述52.2 功能需求5第三章 概要设计73.1 主界面设计73.2 功能界面设计73.2.1 运行状态界面设计73.2.2 硬件信息界面设计83.2.3 文件管理器界面设计8第四章 具体实现94.1 主界面设计实现94.2 运行状态界面设计实现124.3 硬件信息界面设计实现154.4 文件管理器界面设计实现16第五章 测试175.1 登陆LOGO的测试175.2 主界面按钮的测试175.3 按钮跳转的测试185.4 列表点击跳转测试195.5 选项卡间切换测试205.6 进程管理器测试215.7 主界面MENU按钮的测试22第六章 总结23第七章 参考文献24Android的手机信息查看助手界面设计 25一、 概 述1.1 项目背景当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同种类,现在的市场上主要有四个手机操作系统,Windows的Windows mobile,诺基亚的Symbian,苹果的iOS,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。既然是手机的操作系统,那么它是负责管理手机硬件与资源的程序,能不能像操作系统一样在手机上实现查看这些硬件信息与系统资源并管理这些资源的程序呢?答案是可以的,Android系统可以做到。本文的手机助手就是基于谷歌Android手机平台的信息查看软件。关于Android:是谷歌于2007年公布的开放式源代码手机系统,Android是Google于2007年11月05日宣布的基于Linux平台的开源移动操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。它采用软件堆层(Software Stack,又名软件叠层)的架构,主要分为三部分。底层以Linux内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Library和虚拟机Virtual Machine,由C+开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件。Android 作为Google企业战略的重要组成部分,将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。全球为数众多的移动电话用户正在使用各种基于 Android 的电话。谷歌的目标是让(移动通讯)不依赖于设备甚至平台。出于这个目的,Android 将补充,而不会替代谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。他的开放性就优于其他封闭式的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的功能进行重新编写。这使得越来越多的人关注这个操作系统。本文的手机信息查看助手就是基于Android平台的。随着计算机的广泛应用,手机市场的迅速发展,硬件处理速度的飞速发展,手机的性能也在不断提升,那么方便的查看手机性能信息也成为了一种需要,为了满足这些需要,设计了这款手机信息查看助手。目前已实现的功能有:查看手机的运行状态,包括已安装软件信息,系统信息,操作系统版本等,查看手机的硬件信息,包括查看手机的CPU,内存,显示,硬盘,手机文件管理,进程管理。1.2系统架构1.2.1 Linux KernelAndroid基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。 1.2.2 Android RuntimeAndroid包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik虚拟机中的实例,运行在他们自己的进程中。Dalvik虚拟机设计成,在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。 大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于寄存器的。两种架构各有优劣,一般而言,基于栈的机器需要更多指令,而基于寄存器的机器指令更大。dx 是一套工具,可以将 Java .class 转换成 .dex 格式。一个dex文件通常会有多个.class。由于dex有时必须进行最佳化,会使文件大小增加1-4倍,以ODEX结尾。Dalvik虚拟机依赖于Linux 内核提供基本功能,如线程和底层内存管理。1.2.3 LibrariesAndroid包含一个C/C+库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(application framework)暴露给开发者。下面列出一些核心库: 系统C库标准C系统库(libc)的BSD衍生,调整为基于嵌入式Linux设备 媒体库基于PacketVideo的OpenCORE。这些库支持播放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4、 H.264、 MP3、 AAC、 AMR、JPG、 PNG 界面管理管理访问显示子系统和无缝组合多个应用程序的二维和三维图形层 LibWebCore新式的Web浏览器引擎,驱动Android 浏览器和内嵌的web视图 SGL基本的2D图形引擎 3D库基于OpenGL ES 1.0 APIs的实现。库使用硬件3D加速或包含高度优化的3D软件光栅 FreeType 位图和矢量字体渲染SQLite 所有应用程序都可以使用的强大而轻量级的关系数据库引擎1.2.4 Application Framework所有的应用程序其实是一组服务和系统,包括: 视图(View)丰富的、可扩展的视图集合,可用于构建一个应用程序。包括包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器 内容提供者(Content Providers)使应用程序能访问其他应用程序(如通讯录)的数据,或共享自己的数据 资源管理器(Resource Manager)提供访问非代码资源,如本地化字符串、图形和布局文件 通知管理器(Notification Manager)使所有的应用程序能够在状态栏显示自定义警告活动管理器(Activity Manager)管理应用程序生命周期,提供通用的导航回退功能1.2.5 Application装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。二、用户界面需求分析2.1 问题概述 由于该系统是查看手机信息,获取手机的运行状态,查看实时信息等功能,实现友好界面。 根据项目的目标,程序框架分为四个模块,在主界面进行一个简易漂亮的图标型选项的设计引导用户进入各个功能,依据功能模块将实现不同的功能:1.运行状态 2.硬件信息 3.文件管理器4.进程管理器针对上述功能,对各个模块的功能需求进行设计。2.2 功能需求2.2.1 运行状态: 包括查看已安装软件信息,系统信息,运营商信息,操作系统版本,正在运行的进程,系统服务信息,网络状态。 考虑到此功能内需要查看信息的内容众多,将以列表的形式进行设计。如图功能1功能2内容2 内容12.2.2. 硬件信息: 查看CPU,显示信息,硬盘信息,内存信息。 由于只查看四个信息,为了简单直观的进行查看,将以选项卡的形式进行设计。如表选项卡1选项卡2选项卡3选项卡4文字2.2.3 文件管理器: 可以对手机内部文件进行查看。 方便用户查看,并且直观的显示,以列表的方式进行设计。目录1目录2子目录1子目录22.2.4 进程管理器: 控制手机正在进行的进程 使用列表的方式进行查看并完成相应操作 进程1进程2进程3操作1操作2三、概要设计3.1 主界面设计将主界面分为两个部分,运行程序之后出现LOGO界面,经过延时之后显示主操作界面。主操作界面有四个按钮,通过四个按钮跳转到相应功能。运行LOGO界面运行状态硬件信息文件管理器进程管理器图 3-13.2 功能界面设计3.2.1 运行状态界面设计由于考虑到运行状态的功能居多,为了直观显示,将采用图标+列表的方式显示出来。每个列表项的模式如表3-1表 3-1图片功能名称 功能概述通过点击各个列表项,跳转到相应功能。如表3-2表 3-2运行状态已经安装软件信息系统信息运营商信息操作系统版本进程信息服务网络状态3.2.2 硬件信息界面设计将硬件信息以选项卡的方式方式列出,每个选项卡分别显示各个硬件信息,如表3-3:表 3-3(图片)CPU信息(图片)内存信息(图片)显示信息(图片)硬盘信息详细信息:3.2.3 文件管理器界面设计将文件列表以列表的方式列出,根据不同的文件类型使用不同的图标。下面是每个列表项的模式如表3-4:表 3-4图片文件名文件路径四、具体实现4.1 主界面的实现主界面Loading的实现:启动程序后,将要显示的登录界面显示在屏幕中:setContentView(R.layout.splash_screen);设置延时:int waited = 0;while(_active & (waited _splashTime) sleep(100);if(_active) waited += 100; 延时结束后,继续运行进入主界面:startActivity(new Intent(com.renai.main.InfoGetter);主界面有4个按钮,点击每个按钮后将跳转到相应的功能。界面布局采用绝对布局,可以方便对每个按钮的位置进行调整,在绝对布局中加入4个ImageButton,并设置相应属性。布局文件使用XML语言编写。主界面的背景设置:android:background=drawable/bg背景图片保存在 res/drawable中。在布局框架内插入ImageButton:设置按钮在布局中的位置: android:layout_x=21dp android:layout_y=21dp设置按钮的大小: android:layout_width=128dp android:layout_height=150dp设置按钮的图标:android:background=drawable/imagebutton1为了使按钮更加生动,图标属性并不是一张图片,而是一个XML文件,它分别对按钮的不同状态设置了不同的图片,此XML文件保存在res/drawable中。 按钮未被导航键选择状态: 按钮被按下状态: 按钮被导航键选择状态: 按钮不同状态的图标保存在res/drawable中。按钮点击后跳转的实现:从这个界面上获取一个按钮ImageButton Soft_button = (ImageButton) findViewById(R.id.Soft);设置按钮侦听Soft_button.setOnClickListener(Soft_Listener);当有按钮点击时,触发点击事件:private OnClickListener Soft_Listener = new OnClickListener()public void onClick(View v) Intent intent0 = new Intent();intent0.setClass(InfoGetter.this, Soft.class);startActivity(intent0);通过Intent跳转到相应功能的Activity。主界面中加入按下Menu后的响应:onCreateOptionsMenu(Menu menu) super.onCreateOptionsMenu(menu); menu.add(0 , MENU_ABOUT, 0, 关于) .setIcon(android.R.drawable.ic_menu_help) .setAlphabeticShortcut(A); menu.add(0, MENU_QUIT, 0, 退出) .setIcon(android.R.drawable.ic_menu_close_clear_cancel) .setAlphabeticShortcut(Q); return super.onCreateOptionsMenu(menu); 上述代码作用是建立一个弹出菜单,里面包括“关于”和“退出”选项。点击不同的选项,实现不同的功能: public boolean onOptionsItemSelected(MenuItem item) switch(item.getItemId() case MENU_ABOUT: openOptionDialog(); break; case MENU_QUIT: finish(); break; return super.onOptionsItemSelected(item); public void openOptionDialog() new AlertDialog.Builder(InfoGetter.this).setTitle(R.string.aboutTitle).setMessage(R.string.aboutInfo) .setPositiveButton(确认, new DialogInterface.OnClickListener() public void onClick(DialogInterface dialoginterface, int i) .show(); 4.2 运行状态的界面实现运行状态的界面采用列表的方式显示出来,它使用了2个XML进行布局,分别对列表全局和列表项进行布局。总体布局采用线性布局,排列方式为垂直排列,将每个列表项竖直排列显示。根据列表项的设计需要,列表项的XML布局如下: 采用线性布局将图片和文本视图设置成水平排列,根据设计思想,文本视图需要垂直排列,利用线性布局将2个文本视图进行布局。文字的属性通过TextView进行设置:文字颜色:android:textColor=#ffffff文字大小:android:textSize=14sp字体:android:textStyle=bold列表的显示采用SimpleAdapter的方式进行显示:private ListMap buildListForSimpleAdapter() ListMap list = new ArrayListMap(3);Map map = new HashMap(); map.put(title, 已安装软件信息); map.put(info, 查看已安装的软件); map.put(img, R.); list.add(map);列表点击后的跳转: 设置点击侦听: itemlist.setOnItemClickListener(this);当有按键按下时触发事件,根据点击的列表项进行相应的跳转:public void onItemClick(AdapterView parent, View v, int position, long id) Intent intent = new Intent();switch(position)case 0:intent.setClass(Soft.this, installedsoftwareInfo.class);startActivity(intent);break;case 1:case 2:case 3: 此功能中有部分功能读取时间过长,为了使界面更加友好,添加了等待对话框。pd = ProgressDialog.show(this, 请稍候., 正在收集你已经安装的软件信息., true,false);4.3 硬件信息界面的实现硬件信息采用选项卡的方式实现,每个选项卡中显示各硬件的详细信息。XML文件中在布局下加入4个文本视图,用来显示各个硬件的详细信息: 选项卡的插入:tabHost.addTab(tabHost.newTabSpec(tab1).setIndicator(Cpu信息,getResources().getDrawable(R.drawable.cpu) .setContent(R.id.cpu);插入一个选项卡,对该选项卡进行命名,设置标题,设置选项卡图片,连接文本视图。详细信息的显示:利用setText(),将后台功能获得的详细信息显示在文本视图中。选项卡背景色的设置:tabHost.setBackgroundColor(Color.argb(100, 255, 255, 51);采用RGB格式显示颜色。4.4 文件管理器的界面实现文件管理器的界面也是采用列表的方式,原理和运行状态的界面一致,采用ListView的SimpleAdapter方式生成。ListMap list = new ArrayListMap(files.length);Map root = new HashMap();root.put(name, /);root.put(img, R.drawable.file_root);root.put(path, 根目录);list.add(root);Map pmap = new HashMap();pmap.put(name, .);pmap.put(img, R.drawable.file_paranet);pmap.put(path, 向上一级);list.add(pmap);for (File file : files)Map map = new HashMap();if(file.isDirectory()map.put(img, R.drawable.directory);elsemap.put(img, R.drawable.file_doc);map.put(name, file.getName();map.put(path, file.getPath();list.add(map);五、测 试5.1 登陆Logo的测试:开始运行程序,出现登陆Logo如图5-1: 等待后进入主界面如图5-2: 图 5-1 图 5-25.2 主界面按钮的测试:对按钮的不同状态的测试,分别如图5-3,图5-4,图5-5。按钮处于默认状态: 按钮处于选中状态: 按钮按下状态: 图 5-3 图 5-4 图 5-55.3 按钮跳转测试:点击各按钮之后,跳转到相应功能界面,界面如图所示:运行状态界面如图5-6: 硬件信息界面如图5-7: 图 5-6 图 5-7文件管理器界面如图5-7: 进程管理器界面如图5-8: 图 5-9 图5-105.4 列表点击跳转测试运行状态进程信息功能等待对话如图5-11: 等待结束进程列表如图5-12: 图 5-11 图 5-12点击系统信息,出现系统的详细信息如图5-13:图 5-135.5 选项卡间切换的测试硬件信息中的内存信息如图5-14: 选择显示信息选项卡后如图5-15: 图 5-14 图 5-15选择硬盘信

温馨提示

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

评论

0/150

提交评论