版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于Android平台的犯罪举报应用程序天津工业大学毕业设计(论文)基于android平台的生活小助手app的设计与实现姓 名学 院专 业指导教师职 称摘 要随着智能手机的快速普及,智能手机操作系统市场风生水起。为了让智能手机用户能 够随时随地查询互联网所提供的服务,一种高效的办法就是将应用系统的功能拓展到手机 终端上,让手机能够通过移动网以及互联网访问 Web网站并处理各种各样的业务。因此, 智能手机的应用软件及其需要的服务将有广阔的发展前景。在如今这个智能手机系统群雄纷争的时候,2008年Google推出了一款名为An droid 的开源智能手机操作系统,它采用Linux内核,开放手机联盟
2、(OHA成员可以任意使用和修 改SDK包,系统的开源性使其具有良好的拓展性。这款软件包括了操作系统、用户界面和 应用程序,即智能手机工作所需要的全部软件。An droid的最大特点是其开放性体系架构, 不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图形 组件、多媒体支持功能以及强大的浏览器。因此,对于软件从业人员来说,An droid平台具 有无限的吸引力。本文就在分析讨论An droid手机软件开发技术原理的基础上,开发出能为用户提供更 好的基于An droid平台的4G生活小助手app软件。关键词:An droid ;天气;生活助手;页脚内容II基于Androi
3、d平台的犯罪举报应用程序AbstractWith the rapid popularizationof intelligentmobile phone, intelligentmobilephone operating system market fast. In order to makeintelligentmobile phone userscan query the services provided by the Internet any time, any where, to expa nd the function an efficientapproach is the appl
4、icationof the system to the mobile phoneterminal, let the phone through the mobile network and Internet access to a web site and han dle a wide variety of bus in ess. Therefore, the in tellige ntmobile phoneapplicati on software and service will have broad prospects for developme nt.In no wthe syste
5、m of in tellige ntmobile phon ewarlords dispute. In 2008, Googlelaun ched a product called An droid ope n-source smartph one operat ing system, which uses Linux kern el, OpenHan dset Allia nee (OHA) members n be free to use and modify the SDackage, the open-source system makeit with good scalability
6、. This software in cludes the operati ng system user in terface and applicati ons that n eed i ntellige nt mobile pho ne all the software. The biggest feature of An droid is its ope n architecture, not only has a very good developme nt and debuggi ng en vir onment, but also support a variety of scal
7、able user experie nee, in cludi ng rich graphical comp onen ts, multimedia support, and powerful browser. Therefore, for software practitio ners, An droid platform has un limited appeal.This article on the basis of an alysis and Discussi on on the An droid mobile phone software developme nt tech no
8、logy, developed to provide users with better An droid platform based on the 4G life of small assista nt app software.Keywords An droid; weather; life assista nt;页脚内容III基于Android平台的犯罪举报应用程序目 录摘 要 IIAbstract III第1章引言 11.1选题的目的及意义 11.2研究现状 11.3本系统要实现的基本目标和研究内容 1第2章系统的可行性研究22.1经济上的可行性 22.2技术上的可行性 22.3操作
9、上的可行性 2第3章需求分析23.1软件目标 33.2功能需求 33.3系统界面需求 3第4章系统的总体设计44.1设计思想 44.2系统功能结构图 44.3开发语言简介 64.3.1 An droid 简介 64.3.2 An droid Features特性 74.3.3 An droid 基本框架(An droid Architecture ) 74.4.4 An droid 系统的四大组件94.4.5 SQLite 简介 104.4搭建An droid开发环境 104.5 An droid 的工程 124.5.1 An droid 项目 124.5.2 An droid 工程程序结构
10、134.5.3 An droidMa nifest.xml文件 14第5章系统调试与测试 175.1程序调试 175.2程序的测试 17521测试的重要性及目的 175.2.2测试的步骤 185.2.3测试的主要内容 18第6章系统详细设计 196.1系统主页详细设计 196.2欢迎界面详细设计 206.3获取程序天气信息 216.4增加食谱详细设计 226.5查看食谱荐详细设计 236.6车次查询详细设计 24第7章总结 26参考文献 27致 谢 28页脚内容V基于Android平台的犯罪举报应用程序第1章引言1.1选题的目的及意义An droid是谷歌于2007年公布的开放式源代码手机系统
11、,它的开放性就优于其它封 闭式的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编 写。这使得越来越多的人关注这个操作系统。本次作品天气系统就是基于 An droid平台 的。An droid操作系统是世界上最流行的手机操作系统之一,它在智能手机市场的占有 率达到40%以上。越来越多的人开始使用An droid智能手机,而基本上An droid手机都 自带摄像头,可以实现拍照、录像等功能。但一般情况下,拍的照片或者录像在当时只 能自己才能看到。如果想发给远方的亲朋好友,要通过彩信或者4G视频电话等功能实现, 这样做不仅资费高,而且十分不便。本文的设计思想是利用 An dro
12、id手机的摄像头,调 用多媒体框架OpenCore实现视频采集、编码,并通过RTP协议把视频打包发送到PC客 户端。利用手机4G传输网络,实现手机拍摄、PC客户端观看视频的功能。1.2研究现状An droid 一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基 于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应 用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。An droid是基于Linux内核的软件平台和操作系统,早期由Google开发(在华注册 商标名为“安致”),后由开放手机联盟(OpenHandset Alliane
13、e )开发。它采用了软 件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。低层以 Linux 内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为 编写程序的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开放 手机联盟。An droid在未公开之前常被传闻为Google电话或gPho ne大多传闻认为Google 开发的是自己的手机电话产品,而不是一套软件平台。到了 2010年1月,Google开始 发表自家品牌手机电话的Nexus On1.3本系统要实现的基本目标和研究内容本文要实现的基本目标和主要研究内容有以下几
14、个方面:天气查询功能:点击跳转到天气界面,开始查询默认城市的天气,并可以添加、删 除城市;食谱查询功能:点击跳转到食谱界面,可以查询、浏览食谱信息、存储食谱信息、 并且可以自制食谱,可以通过人气访问量等对首页推送消息进行排序;列车查询功能:点击跳转到列车界面,可以通过站站、车次查询列车信息。第2章系统的可行性研究当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展 迅速,是的手机操作系统也出现了不同各类,现在的市场主要有三个手机操作系统, Win dows mobile,symbia n,以及谷歌的An droid操作系统,其中占有开发源代码优势的 An droid系统有最
15、大的发展前景。那么能否在手机上拥有自己编写的个性天气系统呢? 能的,谷歌An droid系统就能做到。本文的天气系统就是基于谷歌An droid手机平台的 程序。2.1经济上的可行性An droid 是Google历经数年和投资数亿美元开发出来的智能手机系统,是基于 Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。 随着各大移动终端生产商大力开发和生产基于An droid 的移动智能设备,An droid迅速得到业界和社会的认可,并成为整个产业的热点,基于An droid 平 台的各类人才逐渐成为各大企业竞相争夺的焦点。而且 An droid 是一个开放的
16、系统,不管是企业还是个人都可以参与来表达自己的创意和想法。2.2技术上的可行性Google发起了围绕 An droid 的组织开放手机联盟,其英文全称为 “OpenHandset Allianee ”。它采用了软件堆层(software stack,又名以软件叠层) 的架 构,主要分为三部分。底层Linux内核只提供基本功能;其他的应用软件则 由各公司 自行开发,部分程序以Java编写。2.3操作上的可行性本系统采用An droid框架,可以在eclipse中安装An droid开发插件,使用An droid 模拟器也可以使用任意An droid终端。模拟器和真正的An droid手机没有太大
17、区别,人们 对手机操作早已熟悉。综合以上三方面,该系统具有很高的开发可行性,无论是从技术上经济上还是操作 上。故此,可以设计该系统流程图,建立数据字典。第3章需求分析软件需求分析工作是软件生存期中重要的一步,也是决定性的一步。软件需求分析 是一个不断认识和逐步细化的过程,该过程将软件计划阶段所确定的软件范围逐步细化 到可详细定义的程度。需求分析还是软件开发的基础,假定在该阶段发现一个错误,解 决它需要用一小时的时间,到设计、编程、测试和维护阶段解决,则要花几倍甚至更多 的时间。因此对于复杂系统而言,首先要进行需求分析。开发人员应该对用户的要求及 现实环境进行调查和了解。3.1软件目标本系统是天
18、气系统。可以方便用户平时对天气的统计。本系统应达到以下目标:(1) 软件采用人机交互的方式,界面美观友好,操作灵活、方便、富有个性化。(2) 能够对天气信息进行实时显示实时更新。(3) 系统应最大限度地实现易维护性和易操作性。(4) 查看确定区域的天气(5) 设置界面:对要显示天气预报的城市及更新频率进行设置;(6) 显示界面:通过文字和图片显示当前的天气情况,包括日期、时间、城市、 最高温度、最低温度、当前温度等。(7) 详细界面:通过文字图片动画显示当前的天气情况,包括城市当前天气、温 度、风向、风速、湿度;同时显示今后四天的天气情况。(8) 食谱推荐:系统将会根据当天天气对用户进行食谱推
19、荐。(9) 车次查询:用户可以根据自己需要进行车次查询,方便出行3.2功能需求功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而 满足了用户的业务需求。用户需求文档描述了用户使用产品必须要完成的任务。针对 an droid生活小助手app系统分别对输入功能、接受功能等功能进行详细的调研和分析, 总结出如下的用户需求信息。3.3系统界面需求手机屏幕下天气系统界面要求布局合理,颜色舒适,控制按钮友好,要求整体有一 个主要的元素标准,统一的主题思想。页脚内容6第4章系统的总体设计软件功能设计是使整个软件能够实现天气的界面布局和天气提醒功能,能让用户更 好的天气系统。4.1设计思
20、想(1)将系统分成几个相对独立的模块。(2)分层的模块化程序设计思想,整个系统采用模块化结构设计。作为应用程序有 较强的可操作性和扩展性。(3)合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接, 使各模块间的耦合性较低,方便系统运行,提高系统安全性。4.2系统功能结构图根据上述需求分析,本An droid生活小助手app系统可分为一下几个模块: 传输基本功能如图所示:小助手app查看天 J 食谱查询丿/从图中可以看出参与者依然是用户,这表达了客户体验的要求,当用户输入添加所 需要的信息后,会添加到系统里面。添加食谱模块如图所示读取数据数据库存储数据后台管查看食谱生活小助手添
21、加食谱添加食谱模块图系统流程图:基于Android平台的犯罪举报应用程序点我桌直国标述入丢统显示天气预报主页面J直击城市下拉列老1选禅想翌査询天气的城市1点击査询按锻1r点击更多信息按钮浮E转到到天气预报详岫J信息页面4.3开发语言简介4.3.1 An droid 简介An droid 一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基 于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应 用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。An droid是基于Linux内核的软件平台和操作系统,早期由Google开发(在华注册
22、 商标名为“安致”),后由开放手机联盟(OpenHandset Allianee )开发。它采用了软 件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。低层以 Linux 内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为 编写程序的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开放 页脚内容6基于Android平台的犯罪举报应用程序手机联盟。An droid在未公开之前常被传闻为Google电话或gPho ne大多传闻认为Google 开发的是自己的手机电话产品,而不是一套软件平台。到了 2010年1月,Goog
23、le开始 发表自家品牌手机电话的Nexus One4.3.2 An droid Features特性An droid系统有如下的几大特性: 应用程序框架支持组件的重用与替换Dalvik虚拟机专门为移动设备做了优化内部集成浏览器该浏览器基于开源的WebKit引擎优化的图形库 包括2D和3D图形库,3D图形库基于OpenGL ES SQLite用作结构化的数据存储多媒体支持 包括常见的音频、视频和静态印象文件格式(如MPEG4 H.264、MP3AAC AMR JPG PNG GIF)GSMfe话(依赖于硬件)蓝牙 Bluetooth,EDGE 4G and WiFi (依赖于硬件)照相机,GPS
24、指南针,和加速度计(依赖于硬件)丰富的开发环境 包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse集 成开发环境插件4.3.3 An droid 基本框架(An droid Architecture )An droid平台的基本框架如图所示Android基本框架图(l) Applicatio nsApplicati on An droid会同一个核心应用程序包一起发布,该应用程序包包括email 客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序 都是用JAVAS写的。(2) Application FrameWork开发者完全可以访问核心应用程序所使用
25、的API框架。该应用程序架构用来简化组 件软件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可 以使用其所发布的功能块(不过得遵循框架的安全性限制)。该应用程序重用机制使得 组建可以被用户替换。所有的应用程序都由一系列的服务和系统组成,包括:可扩展的视图(Views)可以用来建应用程序,包括列表(lists ),网格(grids), 文本框(text boxes ),按钮(buttons ),甚至包括一个可嵌入的web浏览器内容管理器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如 联系人数据库),或者共享它们自己的数据。资源管理器(Re
26、source Manager)提供非代码资源的访问,如本地字符串,图形, 和分层文件(layout files )。通知管理器(Notification Manager )使得应用程序可以在状态栏中显示客户通知 信息。活动类管理器(Activity Manager )用来管理应用程序生命周期并提供常用的导航 回退功能。(3) Libraries 库An droid包括一个被An droid系统中各种不同组件所使用的C/C+库集。该库通 过An droid应用程序框架为开发者提供服务。以下是一些主要的核心库:系统C库-一个从BSD继承来的标准C系统函数库(libc ),专门为基于 embedde
27、d linux的设备定制。媒体库-基于PacketVideo OpenCORE该库支持录放, 并且可以录制许多流行的音频视频格式,还有静态印像文件包括MPEG4H.264, MP3,AAC, AMR, JPG, PNG Surface Manager - 对显示子系统的管理,并且为多个应用程序提供 2D和3D图层的无缝融合。LibWebCore- 一个最新的web浏览器引擎用来支持An droid 浏览器和一个可嵌入的web视图。SGL - 一个内置的2D图形引擎3D libraries - 基 于OpenGL ES 1.0 APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优 化
28、的3D软加速。FreeType -位图(bitmap)和向量(vector )字体显示。SQLite 一 个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。(4) A ndroid Run timeAn droid包括了一个核心库,该核心库提供了 JAVA编程语言核心库的大多数功能。 每一个An droid应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟 机实例。Dalvik是针对于同时高效地运行多个VMs来实现的。Dalvik虚拟机执行.dex 的Dalvik可执行文件,该格式文件针对最小内存使用做了优化。该虚拟机是基于寄存器 的,所有的类都经由JAVA汇编器编译,然后
29、通过SDK中的dx工具转化成.dex格式由虚 拟机执行。Dalvik虚拟机依赖于linux的一些功能,比如线程机制和底层内存管理机制。(5) Linux 内核An droid的核心系统服务依赖于Lin ux 2.6内核,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。Linux内核也同时作为硬件和软件堆栈之间的硬件抽象层。未 来发展老牌智能手机软件平台制造商Symbian发言人则表示:Google的An droid只不过 是另一个linux,symbian对其它软件与其形成的竞争并不感到担心。除了北美之外, Symbian在其它地区智能手机市场都占有大部分市场份额。与iPho ne相似,
30、An droid采 用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看 电子邮件、搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更 强大,可以说是一种融入全部 Web应用的单一平台。4.4.4 An droid系统的四大组件在An droid系统中,为我们提供了四大基本组件,每个组件是一个视图,但是有些 是可见的,有些是不可见的视图,像Activity , ContentProvider是可见的视图,Service 和BroadcastReceiver是不可见的,它们只在系统的后台运行。下面分别介绍四大组件:(Activity简介在An
31、droid系统中Activity 提供可视化的用户界面,一个An droid应用通常由多个 Activity 组成。多个 Activity 组成了 Activity 栈(Stack),当前活动的 Activity 处 于栈顶。Activity 有自己的生命周期,由An droid系统来控制。(2) Service 简介顾名思义Service就是运行在后台的一种服务程序,一般很少和用户交互,因此 没有可视化界面定义一个Service类比较简单,只要继承Service类,实现其生命周 期 中的方法就可以了。一个定义好的Service必须在AndroidManifest.xml配置文件 注册,通过s
32、ervice元素声明才能使用.Service有自己的生命周期,我们可以调 用 startService() 启动一个Service 或者bindService()方法来绑定一个存在的 Service。(3) Broadcast Receiver 简介Broadcast Receiver顾名思义广播接收器,它和事件处理机制类似,只不过事件处 理机制是程序组件级别的(例如,某个按钮的单击事件),而广播事件处理机制是系统 级别的。到目前为止我们可以使用In te nt来启动一个程序组件,我们还可以通过使用 sendBroadcast()方法来发起一个系统级别的事件广播来传递消息。我们可以在你的应用
33、程序中实现Broadcast Receiver来监听和响应这些广播的Intent。(4) Co nte ntProvider 简介Content Provider用来保存和检索数据,并且使应用程序之间相互访问数据成为可 能。它是跨应用程序共享数据的唯一方法。An droid为常用的数据类型(如:音视频、图片和联系方式等)提供了大量的Con te nt Provider。它们被定义在Avider 包下面。通过这样定义好的ContentProvider 我们可以方便的进行数据操作。当然我们必须拥有适当的权限。我们也可以自己来定 ContentProvider共享我们的数据,方便
34、用户的访问。4.4.5 SQLite 简介SQLite,是一款轻量级的关系型数据库。由于它占用的资源非常少,所以在很多嵌 入式设备都是用SQLite来存储数据。并且它目前支持 Windows/Linux/Unix等等主流的 操作系统,兼容性还不错。我们也可以用多种开发语言如C# Java、PHP等来通过ODBC 接口操作SQLite,十分方便。An droid作为目前主流的移动操作系统,完全符合SQLite占用资源少的优势,故在 An droid平台上,集成了一个嵌入式关系型数据库一SQLite。如果你想要开发An droid应 用程序,一定需要在An droid上存储数据,使用SQLite数
35、据库是一种非常好的选择。本数据库支持功能如下:1. 自动建表,支持属性来自继承类:可根据注解自动完成建表,并且对于继承类中的 注解字段也支持自动建表。2. 自动支持增删改,增改支持对象化操作:增删改是数据库操作的最基本单元,不用 重复写这些增删改的代码,并且添加和更新支持类似于hibernate中的对象化操作。3. 查询方式灵活:支持an droid框架提供的方式,也支持原生sql方式。4. 查询结果对象化:对于查询结果可自动包装为实体对象,类似于hibernate框架。5. 查询结果灵活:查询结果支持对象化,也支持结果为ListMap 形式,这个方法在实际项目中很实用,且效率更好些。4.4搭
36、建An droid开发环境任何事物要运行,都要有它的环境,An droid也有它的环境才能够运行,下面介绍 An droid的开发环境配置。搭建开发环境需要的软件:操作系统:window XP或linux软件包: An droid SDK(Software Developme nt kit Java Developme nt kit)、ADT(Android Develoopment Tool)IDE 环境:Eclipse IDE+ADT Eclipse3.3 以上JDK Java Run time En viro nment 虚拟机、(JDK)Java Developme nt kit 安装
37、步骤如下:第一步:安装Java虚拟机sun-java6-jdk版本。第二步:安装 Eclipse3.5 工具,到官网 /downloads/,选择版本下载后进行安装。(如图)Eclipse工具的版本如图1-2所示:U/iidcwcIMac Carton 32b1t MaGOoGca 32bft 64bit uno JZUL tl4WtEclipse ror RCPPiug-ln Developers(183 NB|sompJefe tcols loicreate Lcipse 口itg-iris orviMi UlieitjJC.气Pt: iutior
38、s.ltln:lude acmp et* &DK d*e Dper tcoli a rd souice adt. p u* Myhn, Anejjiof afKjtbeCarmjnica:on Framtwolc.3ownkHlcfl&0Eclipse工具的版本图第三步:安装 An droid SDK:首先要下载SDK 可以在这个网址下载 Http:/developer.A,选择相应的系统进行安装。sdk下载的地址图如图所示:丨M皈钾阪L_?d eve tope rsIM. IK Hrb- rPk.riapiW*f*Kf!I JtaKp| dfegnAhiirWjrUtewitoisdcvmi
39、laad tha Android SDKiPoyrlDiAillhi UKCoiinwIi4 1毎却匚 b-Cnj 4 i-nciLPMmSmuR|r$ Qh 皿 imhWiJva.v也.生.iA m33刑 氐jlTW他上血打沁血池牡或卜*: L:L 4; hjh c lur:1 . -oj jjc :in d EJUL bJk y:A *1 Hsfac m- : isl arri dds- c.3 Vh| Nnrjwr:- msr. :rp Imf.i-UI Eajf aslAOAfR.*I wr.- F巧-厂 ir-时*:厂丁 电“&ki 鼻-m 1ums fl r nt:3燥詡 h t
40、P-h Eli-aciaJ-A7T RU$ 匚r r_ -,w_ Jm=nhTTcliFJLR. IMa.-Hi l:ritL.i0rSCi nstall newsoftware 选择add,将会弹出一个【Add Site】对话框。【Add Site】对话框如图:【Add Site】对话框图点击0K选择要安装的软件,占next ,然后选择接受协议,直到安装成功,重启Eclipse 软件,设置 An droid SDK Home Wi ndow-refre nee。设置An droid SDK Home界面如图所示:设置Android SDK Home界面图在 SDKocation 中输入 SD
41、KTools 路 D:AndroidsoftwareAndroid-sdk-windows点 击OK这样An droid环境就已经搭建成功了4.5 An droid 的工程4.5.1 An droid 项目An droid 的四大基本组件:Activity( 活动),Service(服务),BroadcastReceiver(广 播),ContentProvider(内容提供者),各组件之间要进行切换需要一个意图或企图Intent 类,通过启动Startl ntent() 方法来使各组件进行跳转An droid 的五大布局方式:Li nearLayout(线性布局)FrameLayout(帧布
42、局)TableLayout(表格布局)AbsoluteLayout( 绝对布局)RelativeLayout( 相对布局)五种布局方式可以相互嵌套,An droid各种漂亮的界面都是通过嵌套布局而实现的。An droid的线程,以及线程之间通信的中介:Han dler类An droid配置文件:An droidMa nifest.Xml及res资源文件中各种属性布局方式引用 的资源等。An droid系统将插件ADT集成到了 Eclipse工具上,因此,一个An droid程序启动 后,系统会启动一个模拟器(Emulator)(如下图),该模拟器是一款手机板的样式,拥 有手机硬件的基本操作。我
43、们也可以将右边的键盘通过代码属性设置将其隐藏,界面的 大小可自由设定。ant模拟器图4.5.2 An droid工程程序结构An droid工程基本结构目录包括:src (源代码)、gen (An droid系统自动生成的常 量)、Res(资源文件):主要存放程序界面的布局配置(.xml)文件和图片资源。An droidMai nfes.xml是四大组件的驱动配置文件,有它的存在,An droid程序的四大组 件才可以正常的跳转。An droid资源的类型和布局(图1-7)自最皓抽mdriwiMc/mlvyDLit/文 fti rrtyn mil - XMJ. t 吓 7.冷 crinrfin
44、iiJ- NML 前色左杆 dinKiicmnJ: XMLR寸丈胖 ityitiJEnil, XMT一抒弍宅存:函 johI#任左曲XML立件nes/rewf目犧牆il到许虽中的辰生之坤单戈U资源类型和布局图4.5.3 An droidMa nifest.xml文件An droid系统的任何一个程序启动都需要 An droidMa nifest.xml来启动程序,任何 一个新建的工程目录都会自动生成一个 AndroidManifest.xml文件,此配置文件是整个 程序能够正常运行的核心,它里面包含了 An droid SDK勺版本,程序运行的默认Activity , 当程序中的任何一个组件触
45、发事件后,系统都会自动的去 An droidMa ni fest.xml中寻找 标识来作出相应的操作。任何一个AndroidManifest.Xml文件的格式都应为:vapplication vuses-sdk /v/ma nifestAn droid系统有一个编码的规定,支持的编码是utf-8,当程序中出现乱码是,我 们须将其编码格式转化为utf-8.在AndroidManifest.xml中会在第一行声明一句:。它是该系统支持的版本和编码。在第二行定义了我们需要使用的架构,该架构来自 xml ns:A ndroid=http:/schemas.A ndroid。xml ns(XML nam
46、espace是一个命名空间,它就像一条河的源头一样能让我们找到系 统架构,每一个配置文件必须有这个xml ns,否则程序中的所使用的所有资源将无法找 到。在 application 元素我们定义 Android:icon=drawable/iconAn droid:label=stri ng/app_name ,An droid : icon 是程序在手机中显示的图片, 我们运用 drawable/icon表示了对 res/drawable 目录下的 icon.png 的弓丨用。 string/app_name表示了对 res/value 目录下 string.Xml 中定义的 app_nam
47、e参数的引 用。vactivity Android:name=.PIayRackActivityvaction Android:name=Aent.action.MAIN/vcategory Android:name=Aent.category .L AUNCHER /这是系统确定的首先要启动的Activity 是PlayRackActivity 。在intent-filter选项中,有action和category等等属性,我们需要定义action的 值 为An droid.i nten t.actio n.MAIN, category 的 值 为An
48、ent.category.LAUNCHER,它们是系统的值,程序在解析到这些常用后就可 以确定首先要启动的Activity。当我们需要通过一个组件触发另一个组件时,我们将设 定action和category的其它属性值,系统会根据我们设定的属性值去 AndroidManifest.Xml 的 application中寻找标识,任何一个 Activity 的 action 和category是唯一,所以程序在任何时候都能唯一启动一个Activity ,这样,不同的Activity之间的跳转就实现了。在AndroidManifest.Xml中有一个根结点,它是我们需要定义的ADT
49、版 本,例如我们将其值设定为An droid:mi nSdkVersio n=10,则表示此An droid工程所用 的版本为 2.3,An droid 还有 1.1、1.5、1.6、2.0、2.1、2.2、2.3、3.0、4.0 这几个版 本。如果我们需要对网络进行访问,比如打开一个网页,刚我还需要设置一个网络访问 权 限 uses-permission , 将 其 的 值 设 置 为 An droid: name=A ndroid.permissio n.IN TERNET,我们就可以访问网络了。当然 uses-permissio n还有很多其它的权限,例如GPS定位权限,浏览器数据存取权
50、限com.A ndroid.browser.permissio n.READ_HISTORY_BOOKMARKS。当程序的任何一个组件要用到时,都必须在 AndroidManifest.Xml文件中声明。四 大组件要使用前都需要声明,其声明方式如下:v/servicev/provider其中声明provider时还需要声明其授权authorities 。每个组件里面还有很多的属 性,会根据程序的具体需要定义不同的属性。过滤器intent-filter有两种启动方式来启动界面。显示方式显示方式是在代码中的直接启动组件,启动时会声明Intent,在它的构造方法Intent(组件1组件2)中直接指定
51、一个组件的名字,然后调用方法startIntent(intent) 以启动指定的组件。2) 隐式方式隐式方式是通过过滤器来过滤完成的,启动的组件必须满足action和category的 条件才能够启动该组件。这些属性是在AndroidManifest.Xml文件中声明的。两种启动 方式都可以通过程序setAction (ACTION常量)和startActivity ( intent )或配置文 件两种方式来实现组件的跳转。页脚内容28第5章系统调试与测试5.1程序调试在设计系统的过程中,存在一些错误是必然的。对于语句的语法错误,在程序运行 时自动提示,并请求立即纠正,因此,这类错误比较容易发
52、现和纠正。但另一类错误是 在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致的错误结果。 这类错误隐蔽性强,有时会出现,有时又不出现,因此,对这一类动态发生的错误的排 查是耗时费力的。5.2程序的测试521测试的重要性及目的(1)测试的重要性软件的测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学 仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近 来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试, 从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不 在早期阶段进行测试,错误的延时扩散常
53、常会导致最后成品测试的巨大困难。事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用 新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全 杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来 进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。自有程序设 计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量 往往占软件开发总工作量的40%以上。而在软件开发的总成本中,用在测试上的开销要 占30%到50%。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例 也许会有所降低,但实
54、际上维护工作相当于二次开发,乃至多次开发,其中必定还包含 有许多测试工作。在实践中,软件测试的困难常常使人望而却步或敷衍了事,这是由于对测试仍然存 在一些不正确的看法和错误的态度,这包括: 认为测试工作不如设计和编码那样容易取得进展难以给测试人员某种成就感; 以发现软件错误为目标的测试是非建设性的,甚至是破坏性的,测试中发现错位 是对责任者工作的一种否定; 测试工作枯燥无味,不能引起人们的兴趣; 测试工作是艰苦而细致的工作; 对自己编写的程序盲目自信,在发现错误后,顾虑别人对自己的开发能力的看法。这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度,才可能提高软 件产品的质量。(2)测试的目的如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复 杂的部分或是以前出错比较多的位置。 软件测试是为了发现错误而执行程序的过程; 测试是为了证明程序有错,而不是证明程序无错误; 一个好的测试用例是在于它能发现至今未发现的错误; 一个成功的测试是发现了至今未发现的错误的测试。这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。 但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目, 查找不出错误的测试就是没有价值的,事实并非如此。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年四川职业技术学院单招职业适应性考试题库含答案详解(精练)
- 2026年娄底职业技术学院单招职业倾向性考试题库含答案详解(轻巧夺冠)
- 2026年安庆职业技术学院单招职业倾向性测试题库带答案详解(巩固)
- 健康管理与责任承诺书4篇
- 品质保证与持续改进承诺书(8篇)
- 生产安全操作规程手册
- 技术人员外派培训确认函6篇
- 安全生产精细化治理承诺函8篇
- 交通安全行驶承诺函(8篇)
- 床上洗头护理的经济学分析
- GJB9001C-2017国军标标准培训讲义
- 人教版数学一年级下册第一单元《十几减9》真题同步测试3(含解析)
- 校园网网络工程分析需求报告
- 《杀死一只知更鸟》读书分享PPT
- 级自制书119本13黑今天穿什么
- Premiere 认证题库(整理版)
- 01厨房组织人员管理篇
- 考研考博-英语-华东理工大学考试押题卷含答案详解1
- 胆囊切除术 胆总管切开取石术
- 灭火器消防栓检查维护记录表
- 儿童炎症性肠病
评论
0/150
提交评论