




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中北大学毕业设计说明书毕业设计说明书基于android平台全国城市信息查询的设计与开发基于android平台全国城市信息查询的设计与开发摘要在我国,随着经济的快速发展,和科技的快速发展,城市信息也随之迅速加快,且更加多样,无法了解到城市的具体信息。当前,快速发展的城市使得用户往往处于迷惑的状态,给出行带来诸多不便,而手基于android我全国城市信息查询系统的选题也正是基于该背景。以android作为平台,能为客户随时随地提供城市信息的查询,同时,随着现在社会的发展,我们的生活也朝着电子化不断发展,如诺基亚地图、迷你地图等手机地图越来越普及;而经济的不断发展,避免不了人们都要到某些城市去公干或其他的事情。一旦你对这个城市不熟悉,你的出门就会举步维艰。不了解一个城市的文化背景,总会留下一些遗憾。因此,开发一个城市的信息查询系统就显得十分必要,可以帮助出行人士方便、高效的安排自己的行程。android 是google开发的基于linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。本系统是采用android作为开发工具。旨在实现查询城市信息中遇到的各种情况和大量数据进行数据库存储调用的基础上,设计并完成对其全国各个城市信息的查询,在深入研究的过程中,尽可能实现各类方便友好的操作界面。abstractin china, with the rapid economic development, and the rapid development of technology, city information also subsequently rapid speed, and even more diverse, cannot understand the specific information to cities. currently, fast-growing cities are often confuse allows the user to the state, travel to bring a lot of inconvenience, and based on android i hand national cities information query system based on this topic is the background. with android as a platform, customers can provide information anytime and anywhere, the inquires cityat the same time, along with the development of modern society, our life also in development, such as nokia electronic map, mini map is becoming more and more popular mobile maps; cannot avoid people were going to some city business or other things. once you to not familiar with this city, you go out will limping. dont know a citys cultural background, they leave some regret. therefore, the development of a citys information query system becomes very important, can help travel personage convenient, efficient your travel arrangement.android is google based on linux platform development of open-source mobile operating system. it includes the operating system, user interface and applications - mobile phone for the job.google through and operators, equipment manufacturers, developers and other relevant parties formed deep partnerships, hope and open by establishing standardized mobile phone software platform, in the mobile industry is formed in an open ecosystem.this system is used android as a development tool. designed to achieve inquires the city information encountered in the various conditions and large amounts of data on the basis of database stores calls, design and complete to its national and each city information query, in the thorough research process, as realize various convenient friendly user interface.目 录1 绪 论.1_toc1067932401.1 项目背景 . 11.2 课题研究的意义. 11.3 论文的工作及安排. 11.4 城市信息当今现状.12 需求分析. 22.1 可行性分析. 22.1.1 技术可行性. 22.1.2 经济可行性. 22.2需求分析. 32.2.1 系统目标. 32.2.2 用户类和用户特征. 42.3 城市信息查询系统模型. 52.3.1 功能描述. 52.3.2 对性能的规定. 52.3.3 用户详细功能描述. 53 总体设计3.1城市信息查询系统设计.113.2 城市设计.123.3 数据库连接设计. 123.4 城市信息查询总体结构图. 124 程序设计与编码4.1 开发平台和工具.错误!未定义书签。4.1.1 android平台的概述.154.1.2 android平台的特点.154.1.3 android常用工具的使用164.1.4搭建android开发环境174.2 程序设计.错误!未定义书签。4.2.1 程序设计概述.错误!未定义书签。4.2.2 界面块程序设计.错误!未定义书签。4.2.3 用户操作功能模块实现.错误!未定义书签。5 软件测试5.1 软件测试的方法与步骤.错误!未定义书签。5.2 测试用例设计与测试用例的运行过程及测试结果分析. .455.2.1 模块测试. 错误!未定义书签。5.2.2 集成测试.345.2.3 验收测试.错误!未定义书签。5.3 评价.错误!未定义书签。6 结束语6.1 成果.错误!未定义书签。6.2 遇到的问题以及解决方法.316.3 收获体会.32参考文献错误!未定义书签。致谢信1 绪 论1.1 _toc106793240项目背景 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,windows mobile, symbian,以及谷歌的android操作系统,其中占有开放源代码优势的android系统有最大的发展前景。那么能否在手机上拥属于自己的城市信息查询呢?能的,谷歌android系统就能做到。本文的城市信息查询就是基于谷歌android手机平台的信息查询系统 android:是谷歌于2007年公布的开放式源代码手机系统,它的开放性就优于其它封闭式的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写.这使得越来越多的人关注这个操作系统。本次设计的城市信息查询系统就是基于android平台的。1.2 课题研究的意义随着现在社会的发展,我们的生活也朝着电子化不断发展,如交通电子眼在交通管理中越来越普及;而经济的不断发展,避免不了人们都要到某些城市去公干或其他的事情。一旦你对这个城市不熟悉,你的出门就会举步维艰。打的,对于一些因公出差的人来说算不了什么,但是对于旅游者或是个人来说就不是很好的选择。因此,开发一个城市的信息查询系统就显得十分必要,可以说是关系到一个城市的形象问题。位置是人们理解和驾驭世界的基础,人们在快节奏的经济生活中,迫切想知道当时所处的环境信息,比如“我在哪?”、“到环球金融中心最短的路线是什么?”、“我附近有没有atm”等等。随着空间信息技术、移动通信技术、internet技术以及移动终端技术的快速发展,人们对所处位置以及与位置相关的信息需求愿望实现成为可能。应运而生的城市信息查询系统是上述技术的有机集成,它将internet上的海量信息和地理信息系统的强大应用服务功能扩展到移动终端上,为移动用户基于位置的信息交换、信息获取、信息共享和信息发布提供了便捷、经济的技术途径。随着移动终端计算能力与存储能力的日益增强以及移动通信技术与互联网技术的飞速发展,在移动客户端开发技术上,先后出现了基于wap浏览器、基于j2me以及由google联手34家公司组成的oha推出开放源代码的android开发平台。基于wap浏览器的开发技术由于其典型的“瘦客户端”特点,导致客户端与服务器端之间存在大量数据交换,加上当前的无线网络带宽瓶颈,用户的数据共享与体验十分有限;与之不同的是,基于j2me的开发技术要求大部分软件功能在客户端实现,即采用“胖客户端”技术,但其对硬件的性能要求较高,并且开发者需要做大量的代码工作,虽然代码的可移植性好,但相对来讲,开发的技术门槛较高;而android开发平台采用开源的java技术,平台集成了地图服务模块,并对核心系统架构进行了优化,对硬件的性能要求较低,加上其独特的intent模块机制,使城市信息查询系统服务开发门槛出现了划时代意义上的降低。android平台是由google与开放手机联盟合作开发的一个开放性的移动开发平台,它采用linux内核,独特的dalvik 虚拟机,集成特有的地图模块、快捷的xml布局方案、轻量级的sqlite数据库、高效的2d、3d绘图方案以及多媒体技术等等,它具有强大的网络访问功能,集成3g网络与wifi、蓝牙等无线网络技术,并且可以对开发者之间的功能模块进行无缝继承与共享,高效的功能模块重用让开发的周期更短,开发难度更低,结合日益完善的移动定位技术,移动用户的m-gis体验愈来愈好。android是一个真正意义上的开放性移动设备综合平台,因此基于android进行城市信息查询系统开发,城市信息查询系统将帮助出行人士方便、高效的安排自己的行程。1.3 城市信息当今现状android 是google开发的基于linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。google与开放手机联盟合作开发了 android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和 t-mobile 在内的30多家技术和无线应用的领军企业组成。google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。作为谷歌企业战略的重要组成部分,android 将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。全球为数众多的移动电话用户正在使用各种基于 android 的电话。谷歌的目标是让(移动通讯)不依赖于设备甚至平台。出于这个目的,android 将补充,而不会替代谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。1.4 论文的工作及安排本次设计的目标是,开发一个城市信息查询系统,最终达到快速查询到全国所需城市的全部信息。论文分为五个部分:第一章即本章绪论,简述城市信息查询系统这个课题的背景情况、当前现状、今后的发展情况以及开发本系统的数据系统的需求选择的开发工具和技术的概括。第二章为需求分析,本章中明确了系统需要实现的功能,分析了系统的用例,规定了模型并介绍根据系统的需求选择的开发工具和技术的概况。第三章是总体设计,详细描述了本系统中各模块的设计情况,并给出了系统总体界面的设计方案。第四章确定了开发平台,描述了程序设计与编码各主要功能模块的实现方法和部分关键代码。第五章是软件测试,测试系统功能实现并对测试结果进行记录分析。第六章为结束语,为此次毕业设计做一个总结。解决了之前遇到的问题及解决方法,总结所获得的经验和体会。2 需求分析2.1 可行性分析采用现代化统一的计算机信息网站系统,能够有效优化城市信息查询系统,使其高效的发挥最大作用,能干迅捷的为用户找出相关的资料。开发本系统的可行性研究如下:2.1.1 技术可行性android开发平台是由谷歌与开放手机联盟合作开发的一个开放、自由的移动终端平台,它由操作系统、中间件、应用软件三部分组成。该平台备有完善的程序开发环境,包括模拟器、除错工具、程序执行所耗用存储器、性能评介等功能。平台提供了两个基于位置服务的地图api开发包:android.location 以及com.google.android.maps.通过对这两个地图api开发包内与位置服务相关的类的使用,配合设备本身的具备的定位定向等相关模块,可以很好地实现对用户移动空间信息服务应用程序开发。2.1.2 经济可行性 现在通信技术的蓬勃发展,谷歌,iphone的全面上市,信息成为了时代的通信证,一个方便而成本低廉的程序解决信息查询的大问题,大大提高了人们的工作效率,也是今后手机信息发展的趋势,其的市场必将广阔,因此,此系统在经济上市完全可行的。2.2需求分析2.2.1系统目标 该系统是要构建一个全国城市信息查询系统。如今手机业的迅速发展,全能的全面化与简单化,带给人们出行的方便。但对于信息也仅限与地理位置的查询,对当地的文化与北京以及目标城市的餐旅却没有详细的了解,该系统针对此类问题进行的完善,将民俗民风,文化背景,餐旅住宿融为了一体,达到方便快捷的效果。2.2.2用户类和用户特征 全国城市信息查询系统是一个对全国各地城市的详细信息进行搜索的应用程序,他的用户主要是一些准备出行的人,一些准备出差公干的人可以根据本系统判断出门在外的暂居地,旅行的人则可以通过此系统了解目标城市的文化,而不至于盲目的浪费时间,即使一些足不出户的的人也可以了解全国各地的特色风采与民俗民风。除此之外,用户还可以根据自己的喜好和需求进行模块的界面设置操作。2.3 城市信息查询系统模型2.3.1 功能描述1、城市查询正确输入用户要查询的城市名字,点击查询,可查询到此城市的全称,以及等一般简介,用户可通过简单的介绍了解自己是否对这个城市感兴趣,如果感兴趣,想城市的详细介绍,可按“查询城市详细信息”按钮进入查询界面,这个界面包含了当地特产,民族民风等文化背景,下面还有一些餐旅酒店的详细地址以及联系方式,可供用户选择。系统查询功能的实现:1)地名查询功能:供用户对政府部门、医疗机构、教育机构、金融机构、宾馆饭店等相关部门进行一般查询。用户需要选择查询地物的类别,然后敲入关键字段,系统将根据关键字段进行模糊查询,将查询结果依次列出,并统计个数,用户再选择列表中要查询的名称即可实现查询图元在地图中居中显示。选择地物类别,关键字为空,即可查询到这一类所有地物的名称,实现查询功能。2)区域查询:以上两种都是属性到地图的查询,区域查询是空间数据到属性数据的查询, 查询地图中某一个实体或某一区域内全部实体的名称, 方便用户根据地图查询属性信息。3)信息查询:以文字和图片的形式对出行信息包括旅游景点、娱乐购物、酒店宾馆和特产美食进行介绍。2、查询和返回功能 在用户查完一个城市的时候,如果不满意,想继续查询下一个景点,点击继续查询,这时界面就跳转到游客开始查询的界面,按上述步骤继续查询,周而复始,直到游客满意为止。2.3.2 对性能的规定查询效率要求尽可能的迅速和精确,信息维护要做到简单精致,有一定美感,要求人机交互界面好。3 总体设计3.1城市信息查询系统设计系统登录活动说明图:用户登录城市选择查询调用数据库显示信息输入错误退出3.2 系统总体结构设计android以其集成的独特的地图服务模块,以及对硬件性能的低要求,对3g等无线网络的迅捷访问功能,为普通用户开发城市信息查询系统带来了很大的便利,它的出现,为解决用户移动空间信息需求提供了高效的开发平台。3.3 数据库连接设计(1)数据结构组织和数据库文件设计要根据不同用途,使用要求等,来决定数据的整体组织形式等一系列问题。数据库,顾名思义,是存放数据的仓库。只不过这个仓库是在计算机存储设各上,而且数据是按一定的格式存放的。数据库中的数据按一定数据模型组织、描述和存储,具有较小的重复度、较高的数据独立性和易扩展性,并且可以被在一定范围内的各种用户共享。在涉及数据库的软件开发中,需要根据有待解决的问题性质、规模,以及所采用的前端程序创建工具等做出合适的数据库类型选择.(2)进行android数据库连接,android中自带sqlite数据库,这是一个十分小型的数据库,这样正适合android这种移动平台使用android数据库存储的位置在data/data/databases/目录下android是利用contentprovider作为内容提供商,sqliteopenhelper数据库帮助类来进行对数据库的创建和操作。通过context.getcontentresolver()方法直接对数据库进行操作程序中数据库类为dbhelper extends sqliteopenhelper(继承关系),内容提供类dbprovider extends contentprovider(继承关系)3.3.1创建数据库android提供了标准的数据库创建方式。继承sqliteopenhelper,实现oncreate和onupgrade两个方法,有个好处就是便于数据库版本的升级,连接数据库的算法如下:public dbhelper(context context)/创建数据库 super(context, databasees naime,null, databasees version); public void oncreate(sqlitedatabase d6)/创建时调用 db.execsql(database create); public void onupgrade(sqlitedatabase d6, int oldversion, intnewversion)/版本更新时调用 db.execsql(drop table tf extsts filees table);oncreate(db); .override/在contextprovider运行时自动创建数据库 public boolean oncreate() dbopenhelper= new dbhelper(getcontext(): return true; 数据库如果创建不成功则抛出ft1enotfoundexception异常3.3.2操作数据库android对数据库的操作主要有插入、删除、更新、查询操作,在进行任何操作时都必须指定一个uri,才能对相应的表进行数据操作。/数据库删除操作noverride public int delete(uri arg0. string argl, string arg2) sqlitedatabase db二dbopenhelper.getwritabledatabase(); try db.delete(filecolumn.table, argl, arg2); catch (exception ex) ex.printstacktrace(); return 1;overridel/数据库插入操作 public uri insert(uri uri, contentvalues values)sqlitedatabase do二dbopenhelper.getwritabledatabase();long count=0;trycount=db.insert(filecolu山.table, insert (filecolumn. table, null, values); catch (exception ex)ex.printstacktrace(); if (count0) return uri; else return null;/数据库更新操作override public int update(uri uri, contentvalues values, stringselection, string selectionargs) sqlitedatabase db=dbopenhelper.getwritabledatabase(); int i=0; try i=db.update(filecolumn.table, values, selection,null);return i; catch (exception ex) return 0; 3.3.3数据显示程序是利用cursor游标类指向数据表中的某一项,然后进行查询数据,用log日志显示出来。override/数据库查询操作public cursor query(uri uri, string projection, stringselection, string selectionargs, string sortorder)sqlitedatabase db=dbopenhelper.getwritabledatabase();依次参数为:表名查询字段,where语句,替换,group by(分组),having(分组条件),order by(排序)。cursor cur=db.query(filecolumn.table, projection,selection,selectionargs, null, null, sortorder);return cur;)3.4 城市信息查询总体结构图全国城市信息查询输入显示查询查询城市文化显示餐旅信息显示民俗文化显示城市文化查询民俗文化查询餐旅信息输入城市4 程序设计与编码4.1 开发平台和工具4.1.1 android平台的概述android一词的本义指“机器人”,同时也是google于2007年11月5日宣布的基于linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前最好的是android2. 0的摩托罗拉droid android是基于linux内核的软件平台和操作系统,早期由google开发(在华注册商标名为“安致,),后由开放手机联盟(open handset alliance)开发。它采用了软件堆层(sof七ware stack,又名以软件叠层)的架构,主要分为三部分。低层以linux内核工作为基础,只提供基本功能:其他的应用软件则由各公司自行开发,以java作为编写程序的一部分。另外,为了推广此技术,google和其它几十个手机公司建立了开放手机联盟.android在未公开之前常被传闻为google电话或iphone。大多传闻认为google开发的是自己的手机电话产品,而不是一套软件平台。到了2010年1月google开始发表自家品牌手机电话的nexus one。目前最新sdk版本为android 2.1。android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。 beta 版的 android sdk 提供了在 android 平台上使用java 语言进行 android 应用开发必须的工具和 api 接口。特性 应用程序框架 支持组件的重用与替换 dalvik dalvik dalvik dalvik 虚拟机 专为移动设备优化 集成的浏览器 基于开源的 webkit 引擎 优化的图形库 包括定制的 2d 图形库, 3d 图形库基于 opengl es 1.0 (硬件加速可选) sqlite sqlite sqlite sqlite 用作结构化的数据存储 多媒体支持 包括常见的音频、视频和静态图像格式 ( 如 mpeg4, h.264, mp3, aac, amr, jpg, png ,gif ) gsm gsm gsm gsm 电话技术 (依赖于硬件) 蓝牙 bluetooth, bluetooth, bluetooth, bluetooth, edge, edge, edge, edge, 3g, 3g, 3g, 3g, 和 wifi wifi wifi wifi (依赖于硬件) 照相机, gps gps gps gps ,指南针,和加速度计( accelerometer accelerometer accelerometer accelerometer )(依赖于硬件) 丰富的开发环境 包括设备模拟器,调试工具,内存及性能分析图表,eclipse 集成开发环境插件。应用程序框架开发人员也可以完全访问核心应用程序所使用的 api 框架。该应用程序的架构设计简化了组件的重用;任 何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。隐藏在每个应用后面的是一系列的服务和系统 , 其中包括; 丰富而又可扩展的视图( views ),可以用来构建应用程序, 它包括列表( lists ),网格( grids ),文本框( text boxes ),按钮( buttons ), 甚至可嵌入的 web 浏览器。 内容提供器( content providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据 资源管理器( resource manager)提供 非代码资源的访问,如本地字符串,图形,和布局文件( la youtfiles)。 通知管理器 ( notification manager)使得应用程序可以在状态栏中显示自定义的提示信息。 活动管理器( activity manager)用来管理应用程序生命周期并提供常用的导航回退功能。android系统架构android系统架构由5部分组成,分别是:linux kernel、android runtime、libraries、application framework、applications。下面将详细介绍这5个部分。下面自底向上分析各层。 1、linux kernel层android基于linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。linux kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。 如果你学过计算机网络知道osi/rm,就会知道分层的好处就是使用下层提供的服务而为上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变化不会影响到上层。也就是说各层各尽其职,各层提供固定的sap(service access point),专业点可以说是高内聚、低耦合。 如果你只是做应用开发,就不需要深入了解linux kernel层。2.android runtime层android包含一个核心库的集合,提供大部分在java编程语言核心类库中可用的功能。每一个android应用程序是dalvik虚拟机中的实例,运行在他们自己的进程中。dalvik虚拟机设计成,在一个设备可以高效地运行多个虚拟机。dalvik虚拟机可执行文件格式是.dex,dex格式是专为dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。 大多数虚拟机包括jvm都是基于栈的,而dalvik虚拟机则是基于寄存器的。两种架构各有优劣,一般而言,基于栈的机器需要更多指令,而基于寄存器的机器指令更大。dx 是一套工具,可以将 java .class 转换成 .dex 格式。一个dex文件通常会有多个.class。由于dex有时必须进行最佳化,会使文件大小增加1-4倍,以odex结尾。 dalvik虚拟机依赖于linux 内核提供基本功能,如线程和底层内存管理。 3、libraries层android包含一个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 -所有应用程序都可以使用的强大而轻量级的关系数据库引擎 4、application framework层通过提供开放的开发平台,android使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。 开发者可以完全使用核心应用程序所使用的框架apis。应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。这一机制允许用户替换组件。 所有的应用程序其实是一组服务和系统,包括: 视图(view)-丰富的、可扩展的视图集合,可用于构建一个应用程序。包括包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器 内容提供者(content providers)-使应用程序能访问其他应用程序(如通讯录)的数据,或共享自己的数据 资源管理器(resource manager)-提供访问非代码资源,如本地化字符串、图形和布局文件 通知管理器(notification manager)-使所有的应用程序能够在状态栏显示自定义警告 活动管理器(activity manager)-管理应用程序生命周期,提供通用的导航回退功能 5、applications层android装配一个核心应用程序集合,包括电子邮件客户端、sms程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用java编程语言写的。更加丰富的应用程序有待我们去开发! 从上面我们知道android的架构是分层的,非常清晰,分工很明确。android本身是一套软件堆迭(software stack),或称为软件迭层架构,迭层主要分成三层:操作系统、中间件、应用程序。从上面我们也看到了开源的力量,一个个熟悉的开源软件在这里贡献了自己的一份力量。 4.1.2 android平台的特点android系统的四大组件:在android系统中,为我们提供了四大基本组件,每个组件是一个视图,但是有些是可见的,有些是不可见的视图,像activity. contentprovider是可见的视图,service和broadcastreceiver是不可见的,它们只在系统的后台运行。下面分别介绍四大组件:(1)activity简介在android系统中activity提供可视化的用户界面,一个android应用通常由多个activity组成。多个activity组成了activity栈(stack),当前活动的activity处于栈顶。activity有自己的生命周期,由android系统来控制(2)service简介顾名思义service就是运行在后台的一种服务程序,一般很少和用户交互,因此没有可视化界面定义一个service类比较简单,只要继承service类,实现其生命周期中的方法就可以了。一个定义好的service必须在androidganifest.xml配置文件注册,通过元素声明才能使用.service有自己的生命周期,我们可以调用:tartservice()启动一个service或者bindservice()方法来绑定一个存在的service(3)broadcast receiver简介broadcast receiver顾名思义广播接收器,它和事件处理机制类似,只不过事件处理机制是程序组件级别的(例如,某个按钮的单击事件),而广播事件处理机制是系统级别的。到目前为止我们可以使用intent来启动一个程序组件,我们还可以通过使用:endbroadcast()方法来发起一个系统级别的事件广播来传递消息。我们可以在你的应用程序中实现broadcast receiver来监听和响应这些广播的intent(4) contentprovider简介content provider用来保存和检索数据,并且使应用程序之间相互访问数据成为可能。它是跨应用程序共享数据的唯一方法android为常用的数据类型(如:音视频、图片和联系方式等)提供了大量的content provider.它们被定义在vider包下面。通过这样定义好的con七entprovider我们可以方便的进行数据操作。当然我们必须拥有适当的权限。我们也可以自己来定contentprovider共享我们的数据,方便用户的访问。4.1.3 android常用工具的使用(1)命令行的使用创建android virtual devices (avd)使用android list target命令列出当前可用的sdk版本android create avd一-t 一 模拟器(emulator)的使用启动和停止模拟器emulator -avd android debug bridge(adb)的使用查询当前模拟器实例数量adb devices本地机器和模拟器之间相互拷贝文件d:adb push d:test.txt /sdcard/d:adb pull /sdcard/test.txt d:/安装apk应用程序adb push d:test.apk /sdcard/adb install test.apk使用shell命令在dos命令行输入adb shell便进入shell命令行了,可以使用exit退出shell。(2)dalvik debug monitor service (dd
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东佛山市顺德区乐从第一实验学校临聘教师招聘考前自测高频考点模拟试题附答案详解(完整版)
- 2025国家自然资源部所属单位招聘118人(第三批)模拟试卷及答案详解(网校专用)
- 2025河北邯郸雄安新区财政局(国资委)公开选聘兼职外部董事人才库人选考前自测高频考点模拟试题及答案详解1套
- 2025福建南平市建阳区园林服务中心招聘园林养护综合专员1名模拟试卷及参考答案详解1套
- 2025年河北唐山市市直事业单位公开招聘工作人员277名模拟试卷附答案详解(完整版)
- 2025广东深圳大学文化产业研究院张振鹏教授博士后招聘1人考前自测高频考点模拟试题及一套答案详解
- 2025年宿州市宿马园区两站两员招聘11人考前自测高频考点模拟试题及答案详解(考点梳理)
- 广东韶关市2025年职业性皮肤病-职业病诊断医师模拟试题库及答案
- 2025-2026学年河南省驻马店市名校联盟高一上学期入学考物理试题及答案
- 2025公共基础知识试题库附参考答案
- 黑布林英语阅读初一年级16《柳林风声》译文和答案
- 特殊儿童融合教育档案
- 各种汉服款式剪裁图大全
- GB/T 6391-2003滚动轴承额定动载荷和额定寿命
- GB/T 36112-2018政务服务中心服务现场管理规范
- GB/T 28733-2012固体生物质燃料全水分测定方法
- GB/T 18591-2001焊接预热温度、道间温度及预热维持温度的测量指南
- 儿童和青少年社会工作伦理课件
- 国家外汇管理局国际收支申报培训课件
- 血管活性药物课件
- 四年级上册心理健康教育教案 -全册教案 通用版
评论
0/150
提交评论