基于Android手机网络工具箱的设计Word文档格式.docx
《基于Android手机网络工具箱的设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于Android手机网络工具箱的设计Word文档格式.docx(32页珍藏版)》请在冰豆网上搜索。
指导教师(职称):
XXXXXX教授
评阅教师:
完成日期:
2017年05月02日
南阳理工学院
NanyangInstituteofTechnology
软件工程李盛柏
1[摘要]当前社会,我们已经进入了信息时代,随着手机的普及,其发展也日新月异,功能也很强大,人们对网络也越来越依赖。
作为网管人员在调试无线网时,如果能够利用手机来代替传统笔记本来完成的所需的调试工作,将极大地提高工作效率,方便技术人员。
因而,让需要对网络进行检测的使用者能够通过Android手机客户端对网络进行时刻在线对网络进行监控与检测,利用手机应用程序通过开启和关闭网速监控服务系统的方式,来对获得的网络通信流量数据进行计算的整个过程,最终成功完成一个可以实现在Android手机上实时实现网络配置查看、ping、tracert、nslookup、web访问、获取网速和下载速度等功能的应用程序软件。
[关键词]Android;
网速监控;
工具箱
SoftwareEngineeringMajorLiShengbai
1Abstract:
Thecurrentsociety,wehaveenteredtheinformationage,withthepopularityofmobilephones,itsdevelopmentisalsochangingwitheachpassingday,thefunctionisalsoverypowerful,peopleareincreasinglydependentonthenetworkandthefunctionsoftheandroidphonesarealsoverypowerful,so,asthenetworkmanagementpersonnel,whendebuggingwirelessnetworks,ifwecanusemobilephonestoreplacetraditionalnotebooktocompletethedebuggingwork,itwillgreatlyimprovetheworkefficiencyandbeconvenientforthetechnicalpersonnel.Therefore,letusershavetheabilitytoachievetherealtimemonitoringformobileequipmentanddisplayit,andobtainthewholeprocessofnetworktrafficdatabyopeningandclosingthespeedmonitoringservicesystem,finallysuccessfullycompleteanapplicationsoftwarewhichcanviewthenetworkconfiguration,ping,tracert,nslookup,webaccess,andobtainthenetworkspeedandthedownloadspeedontheAndroidmobilephones.
1Keywords:
Android;
speedmonitoring;
toolbox
1绪论
1.1引言
移动互联网已经与人们的生活精密结合,被人们应用在任意时段,实现24小时随身在线的生活。
信息社会给人们带来的极大便利——随时随地进行相互沟通,处理工作,次讯查找等等工作。
从梦想变成活生生的现实。
移动互联网给人们的生活方式带来翻天覆地变化。
因为低廉的成本和良好的用户体验等多方面因素Android系统一直以来被各界人士所喜爱。
当前社会对于网络设备的使用量以惊人的速度不断扩展,同时对于网络的压力也随之不断增加,网络故障经常发生,这就使得人们对于网络检测有了更大的需求。
我们不可能随时带着电脑到处为别人检测网络,而手机却可以随身携带。
现在的手非常强大,可以实现网络配置查看、ping、tracert、nslookup、web访问、获取网速和下载速度,来进行无线网的测试和调试,方便同时也不失准确性。
1.2国内外研究现状
经过翻阅书籍和网上资料的收集,可以发现,国内外互联网都已经融入到了人们的社会生活中,与人们的生活密不可分。
人们的衣食住行、健康医疗、通信、金融、军事、科研等丰富多彩的移动互联网应用推动者他的快速发展。
让人们的生活更加的方便与便利。
经过多年曲折发展的移动互联网,终于受到了大众的普遍认可,这也使得依托互联网工作的电子产品,智能终端平台也得到快到发展。
因而人们对网络的实时把控就变得尤为重要。
在国内为对网络的实时掌控与检测,如对网络的Ping、Tracert等的检测。
在国外,已经开发出对网络进行检测如“站长工具”、“Fast测速”之类的工具。
且大部分需要通过电脑,进入相关网站输入网站会IP进行检测。
步骤比较繁琐,花费的时间比较多。
且开发的移动测试软件使用范围有一定的局限性。
而在我国还只能用电脑进行检测,使用起来比较笨重,不方便携带。
工作人员在对网络进行故障检测时,大大降低了工作人员的工作效率。
目前还没有一款适合工作人员来对网络进行实时检测的手机APP。
1.3课题研究背景和意义
从手机出现开始,各种操作系统翻番杂乱,但经几十年的发展后,Android操作系统从各大操作系统中脱颖而出,经市场调查研究表明,目前市场上至少超过八成的手机都使用的是Android系统。
Android系统的源代码是开放的,便利于每个开发人员的编写与开发,也是由于其代码的开放,使得Android手机的价位较低,在平台研发的软件更容易推广和使用。
基于Android系统的软件应用开发,其后台的开放,进入门槛低,其自身也具备较好的的开发环境,支持各种可扩展的用户体验,而且Android操作系统里面还有非常丰富的各种开发的框架系统和对多种软件功能的支持。
该课题的研究与开发主要是基于Android网络工具箱的设计。
其主要意义在于通过对Android移动设备上的网速监控,实现对网络ping、tracert、nslookup等功能的检测。
android手机的用户越来越多,功能也很强大,作为网管人员在调试无线网时,如果能够利用手机来代替传统笔记本来完成的所需的调试工作,将极大地提高工作效率,方便技术人员,目前,尚未找到功能齐全的这类软件,因此,设计此款APP意义很大,本项目的完成和发布,将拥有很多技术用户。
在调试wifi网络时,使用笔记本电脑很不方便,而目前使用android手机工程技术人员很多,如何迅速地找到网络不通的原因,使用手机很方便,但缺乏合适的软件,本课题在Android手机上实现网络配置查看、ping、tracert、nslookup、web访问、获取网速和下载速度等功能,用于无线网的测试和调试。
对于工作人员来说,开发该功能APP,可以大大缩短工作人员的工作时间。
1.4本文的主要内容和文章结构
本论文共分为五个章节,各章节的主要工作及论文组织结构如下;
中第一章中主要介绍基于Android手机的网络工具箱的设计研究的国内外研究现状和该课题开发的相关背景与意义。
第二章中介绍了课题系统开发的相关工具和技术原理分析,第三章中介绍了项目开发的需求分析,包括可行性,硬件,用例分析。
第四章中主要介绍了软件开发的环境配置,包括项目的搭建,Android类的启动。
第五章对本课题的概要设计进行描述。
第六章对本次项目开发的编码功能实现进行介绍。
第七章对本次设计的应用程序检测进行介绍,包括测试用例、方法及结论。
2相关工具介绍及技术分析
2.1开发平台简介
从手机出现开始,各种操作系统翻番杂乱,但经几十年的发展后,Android操作系统从各大操作系统中脱颖而出基于Android系统的软件应用开发,其后台的开放,进入门槛低,其自身也具备较好的的开发环境,支持各种可扩展的用户体验,而且Android操作系统里面还有非常丰富的各种开发的框架系统和对多种软件功能的支持。
2.2·
Android系统相关技术和分析
2.2.1Android体系系统及架构
Android的系统的架构,采用了分层的结构。
Android分为四个层,从高层到低层,分别是应用程序层、应用程序框架层、系统运行库和Linux内核。
Android操作系统的构架图如图2-1所示:
图2-1Android系统体系架构图
从图2-1中可以看出Android系统中的软件分成4个层次,自上而下依次包括
应用程序(Application)、
应用程序框架(Application
Framework)、各种类库(Libraries)和android运行时(Adnorid
Runtime)
、
操作系统(OS)。
应用程序层、应用程序框架层、系统运行库层和linux核心层[1]。
在Application中,Android平台操作系统中的应用程序,供用户操作。
这类应用通过Java语言来完成功能的。
开发
人员开发自己的应用程序可以通过框架提供的API来编写[2]。
在Application
Framework中,Android的核心应用程序的功能是靠他来实现的,开发者.使用他提供的组件来进行应用程序开发,通过这些各种各样的框架来实现我们的Application[3]。
在Liberaries中,有九个子系统,这里储存的都是Android的库文件,兼容了大部分Java语言所需要调用的功能函数[4]。
在AndroidRuntime中,Android在运行环境时,通过虚拟机JVM来运行应用程序,JVM就是这里的DalvikVirtualMachine,这是开发者在运行Android应用程序所需的虚拟机,就相当于java的JDK[5]。
在LinuxKernel中,它提供了连接内核的系统调用接口,开发人员可以用它来实
现读和写的功能。
还提供了在用户空间应用程序和内核之间进行转换的机制。
这一层包含着驱动程序,使手机硬件的正常运行[6]。
2.2.2Android的相关组件分析
我们的软件开发就是通过“组件”来开发的。
组件的功能就像组装电脑需要的硬件一样,我们开发的应用软件,就是将组件组合起来的结果。
应用程序的AndroidManifest.xml文件描述了每个组件和它们之间的交互方式[7]。
2.2.3Activity
Activity的功能就是应用程序的界面,用于显示信息与用户进行沟通交流。
对数据进行传递交流,来进行显示。
像我们打开某个手机APP显示的界面,里面的UI界面设计都是通过Activity类的一个或多个扩展实现的[8]。
Activity是以栈的形式存来运行的,就像你新打开一个网页,当你打开另外一个网页之后,第一个网页就退到第二个网页之后。
Activity的运行是以“后进先出”的原则,Activity的生命周期如图2-2示:
图2-2Activity生命周期
从图2-2可以看出,这个活动的的生命周期包含七个阶段的周期主函数,七个函数相互协调,相互联系。
每个函数的调用,为Activity的启动进行服务。
当一个对象Activity被创建时会调用函数onCreate{}。
如图2-3为七个生命周期函数所执行的时机。
图2–3七个生命周期函数所执行的时间
2.2.4Service
Service我们是看不见的,他主要是进行数据,业务的处理。
它们可以更新数据源和Activity、触发通知和广播Intent[9]。
2.2.5BroadcastReceiver
该组件是广播接收器,例如对接受短信息提示、更行系统提示、手机电量较低的提示等都为广播信息。
BroadcastReceiver会自己启动程序,来回馈Intent接受应用程序发出的信息。
ContentProvider像一个大的知识库一样,里面包含大量的数据库,用于存放数据。
提供数据访问的接口,对数据进行访问。
例如短信中的信息等,通过利用该组件的程序进行访问而得到数据[10]。
2.2.6Intent
四个组件组成一个完整的Android应用程序,Intent是Android四个组建的纽带,他们四个组件通过Intent来进行信息传递,相互协调工作,使Android应用程序正常的工作。
2.3本章总结
本章分为两个部分本来介绍Android的相关知识,第一部分介绍了开发平台的背景
第二部分分析了Android的体系系统,架构又分别详细介绍了Android体系建构四个层次中的每一个子系统的功能。
又分析了Android四个组件的功能。
了解这些功能,熟悉掌握每个功能的作用,在编码过程中快速实现Android手机应用程序的开发。
困难有很多,但是方法也有很多种,你要开发什么东西,就需要了解他的环境,工具,这样让我们对开发有一套完整的思路。
就像我们砍柴一样,需要快速的将树砍断,就要找到合适斧头,但是斧头有很多种,选择合适的斧头才能起到事半功倍的效果。
在本章中了解Android的相关知识,这样让我们在开发的时候,也会省了时间,让我们快速的开发出软件。
3需求分析
3.1可行性分析
3.1.1技术可行性
随着编程语言的发展,现在用于软件编程开发的语言已经越来越多。
Java语言用于软件开发已经很普遍。
目前就Android系统下利用Java开发的程序应用软件已经非常的多。
本课题通过Android操作系统,结合各个组建的之间的关系,利用系统中的各种的框架,通过Android第三方工具包的配合,可更加快捷的实现Android系统APP的开发。
实现对网络配置查看、ping、tracert、nslookup、web访问、获取网速和下载速度等功能,用于无线网的测试和调试。
对于工作人员来说,已不再是难事。
3.1.2操作可行性
手机用户通过输入IP或者主机域名,通过控制开始和停止按钮,从获得的数据流量中进行计算分析,得出网络下载速度,Png值等。
对于操作人员来说既简单有非常的快捷。
3.1.3经济可行性
对于当今社会人手一个Android手机的社会来说,安装一个免费Android手机APP那是非常方便的事。
本系统开发是基于学校环境下的,对于用户来说,可免费使用该软件。
3.2用例分析
用例图可以很方便、快捷和直观的描述本次设计应用程序的功能特性,用例图是根据程序的使用者来设计的。
让开发者明确使用者的需求,所需要的服务,需要实现的哪些功能。
基于Android的网络工具箱手机APP的设计实现,用例图可以被确定,其用例图如图3-1所示:
图3–1系统用力分析图
3.3硬件需求
本次毕业设计是基于Android操作系统下开发的手机APP,只需用户有一个Android手机,即可对该设计的应用软件进行使用。
对于硬件要求非常的低。
4开发环境配置
4.1开发项目搭建
(1)下载JDK,
1.进入官网地址:
JDK如图4-1所示:
图4-1JDK下载
根据要求,这里选择DownloadJDK,进行下载保存。
(2)登录网站:
图4-2Eclipse下载
下载(即eclipseIDEforjavaEEDevelopers)
(3)环境变量配
打开eclipse系统找到环境变量选项,之后对环境变量进行配置,在配置环境变量中找到Path这个选项,用鼠标双击选中,点击下面的编辑按钮,就可以配置啦。
如图4-3所示:
图4-3环境变量配置
新建系统变量JAVA_HOME和CLASSPATH,每个变量名,变量值的参数是需要配置的。
这里他会自动配置。
(4)创建项目
在电脑上面打开Eclipse,打开之后,用鼠标点击File选项,出现新的界面,此时选择New,之后看到AndroidApplicationProject这个选项,鼠标点击选择就可以啦,之后出现的界面,一直点击“下一步”就能完成项目的创建,创建完成后如图4-4所示:
图4-4创建完成
4.2Android应用启动类
应用程序中的很多API都是由Android操作系统所提供的,Android启动用用类步骤如图4-5所示:
图4–5Android应用启动类流程
启动Android应用程序时,才做系统会第一会找到应用程序的主配置文件AndroidManifest.xml。
应用程序中包含很多种Activity类,我们第一次展示的Activity类,是由主配置文件AndroidManifest.xml来定义默认的。
找到第一个Activity类之后,通过调用onCreate()方法,来加载布局文件,利用setContentView()方法来加载指定的布局。
最后通过控件显示在屏幕上,这就是Activity的启动流程。
4.3Android工具包xUtils
4.3.1xUtils工具包简介
xUtils是一个功能齐全的Android开源框架工具包,它支持大文件(超过2G)上传,有灵活的ORM,有全面的http请求协议支持(11种谓词),很多的事件支持注解,而且不会相互影响;
最低兼容Android4.0(apilevel14);
在使用前需要对该工具包进行配置[11]。
4.3.2ViewUtils模块
在android中的ioc框架中,对UI进行注解,资源和事件绑定;
现在支持很多种事件的绑定。
4.3.3HttpUtils模块
HttpUtils用于文件的上传和下载,以及处理来自其他工具的信息。
支持同步,异步方式的请求;
下载支持301/302重定向。
通过这个模块可以很快的实现对网络访问下载等动作[12]。
4.3.4xUtils使用方法
这个工具的使用,需要得到他的操作权利。
操作代码如下:
<
uses-permissionandroid:
name="
android.permission.INTERNET"
/>
android.permission.WRITE_EXTERNAL_STORAGE"
5系统概要设计
5.1WebService网络拓扑图
拓扑结构图是指由网络节点设备和通信介质构成的网络结构图,定义了设备与网络设备之间的连接方式。
Android操作系统是从WebService的服务网站上接收数据,然后对数据进行整理分析,计算出我们所需要的数据结论[13]。
WService服务的网站网络拓扑图如图5-1示:
图5–1网络拓扑图
5.2项目软件框架图
设计一个完整的程序,开发人员在开发前,需要对整个设计的应用软件进行构思。
每个应用软件,都有与之对应的框架图,项目软件开发框架图就是开发人员对整个项目开发思考的结果。
其框架图有利于开发人员有一个清晰地思路。
明白为客户提供的服务,和自己需要开发实现的功能。
本次应用软件的设计框架图包括:
点击图标进入软件,进入界面,输入IP或网址,点击开始按钮,下载文件,计算网速,主界面显示网速,点击停止按钮,显示最终计算网速结果。
项目框架图如图5-1所示:
图5–1项目框架图
5.3软件工程目录
软件工程目录如图5-3所示:
图5–2软件工程目录
在新建的项目中,包含八个重要的目录,src目录、gen目录、assets目录、res目录、库文件android.jar、以及项目工程文件AndroidManifest.xml、default.properties、proguard.cfg。
了解每一个目录的的作用,有助于我们在编码时,快速对项目进行编译。
Src目录:
该目录主要用于存放项目源代码,开发者对Java语言文件的修改及添加就保存在这个目录中[14]。
Gen目录:
该里面包含根据项目资源自动生成的R.java文件,这个文件只能被阅读不能进行修改[15]。
Assets目录:
该目录主要用来存放原始的资料文件,如视频,音频类的文件。
这个目录中的资源不能被直接读取,需要被读取时需要设置路径[16]。
6编码与实现
6.1软件界面实现
在Android系统中,Android中的布局有很多种,软件界面的实现是通过布局的操作来实现的。
利用布局的设置,可以对界面的长、宽、高、颜色、按钮等属性进行设置。
主界面代码如下:
LinearLayoutxmlns:
android=
setContentView(R.layout.activity_main);
tv_speed=(TextView)findViewById(R.id.tv_speed);
importjava.io.BufferedReader;
publicStringPing(Stringstr){
Stringresault="
"
;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importandroid.app.Activity;
importandroid.os.AsyncTask;
privatestaticfinalStringPARENTHESE_OPEN_PING="
("
privatestaticfinalS