下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
安卓开发实验报告专业:地理信息系统姓名:白兰海学号:202320907124Android编程报告一、安卓系统简介Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的操作系统,早期由Google开发,后由开放手持设备联盟〔OpenHandsetAlliance〕开发。它采用了软件堆层〔softwarestack,又名以软件叠层〕的架构,主要分为三局部。底层Linux内核只提供根本功能;其他的应用软件那么由各公司自行开发,局部程序以Java编写。2023年末数据显示,仅正式推出两年的操作系统Android已经超越称霸十年的诺基亚〔Nokia〕SymbianOS系统,采用Android系统主要厂商包括宏达电子〔HTC〕、三星〔SAMSUNG〕、摩托罗拉〔MOTOROLA〕、LG、SonyEricsson等,使之跃居全球最受欢送的智能平台,Android系统不但应用于智能,也在平板电脑市场急速扩张。以Google、苹果和路基亚为中心各自形成的生态链将以原来数倍的速度推动移动互联网的开展,这正式Google发布Android平台的意义,也是Andorid平台存在的使命所在。而作为Android平台成员之一的中国移动也投资成立了一家通讯公司,专门从事Google软件的应用以及本地化的软件的开发,比方将在Google平台上添加飞信、输入法等一系列符合国内用户使用特色的功能。国内众多企业也将眼光投入到Andorid上面,并启动了相关的方案来深入的理解并开展Android。更多的软件开发企业已经或者筹备着将公司进行转型,从其方向的开发转向到Android的开发。二、初识安卓程序Android以Java为编程语言,使接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个Activity类〔class〕负责创立视窗〔window〕,一个活动中的Activity就是在foreground〔前景〕模式,背景运行的程序叫做Service。两者之间通过由ServiceConnection和AIDL连结,到达复数程序同时运行的效果。如果运行中的Activity全部画面被其他Activity取代时,该Activity便被停止〔stopped〕,甚至被系统去除〔kill〕。View等同于J2ME的Displayable,程序人员可以通过View类与“XMLlayout〞档将UI放置在视窗上,Android1.5的版本可以利用View打造出所谓的Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout,HTC的AndroidHero即含有大量的widget。至于ViewGroup是各种layout的根底抽象类〔abstractclass〕,ViewGroup之内还可以有ViewGroup。View的构造函数不需要再Activity中调用,但是Displayable的是必须的,在Activity中,要通过findViewById()来从XML中取得View,Android的View类的显示很大程度上是从XML中读取的。View与事件〔event〕息息相关,两者之间通过Listener结合在一起,每一个View都可以注册一个eventlistener,例如:当View要处理用户触碰〔touch〕的事件时,就要向Android框架注册View.OnClickListener。另外还有Image等同于J2ME的BitMap。三、Android系统特点开放性。Google与开放联盟合作开发了Android,Google通过与运行商、设备制造商、开发商和其他有关各方面结成深层次的合作伙伴关系,希望通过建立标准化、开放式的移动软件平台,在移动产业形成一个开放式的生态系统。应用程序无界限。Android上的应用可以通过标准API访问核心移动设备功能。通过互联网,应用程序可以声明它们的功能可提供其他应用程序使用。应用程序是在平等的条件下创立的。移动设备上的应用程序可以被替换或扩展,即使是拨号程序或主屏幕这样的核心组件。应用程序可以轻松地嵌入网络。应用程序可以轻松地嵌入HTML、JavaScript和样式表,还可以通过WebView显示网络内容。应用程序可以并行运行。Android是一种完整的多任务环境,应用程序可以在其中并行运行。在后台运行时,应用程序可以生成通知以引起注意四、Android开发流程由于Android的优越性,其开发显得非常的有规律性可寻。大致的开发流程如下:〔1〕需求分析。作为一个软件,它必须有其存在的意义和价值。而这价值和意义就需要靠需求分析来确定。〔2〕功能分析。作为一个软件,它的使命就是给用户使用的。如何提供用户最好的用户体验就值得每一个程序员的深思。这也是确保一个程序成功的关键所在。〔3〕界面设计。作为一个软件,其只能在极有限的区域中显示自己。如何有限的空间里面更完美的展现出自己的独特之处就显得尤为重要了。〔4〕系统开发。作为一个软件的主体局部,系统开发的好坏直接决定了该系统的性能和寿命。5〕测试。在任何一个软件开发行业中,无论是J2EE、J2SE、J2ME等等其他开发中,测试时必不可少的一环。在Android开发中,由于的搞频率使用,和硬件系统上的缺乏,使得对软件的要求更加的严格,这就要求在开发完成后,在对其进行严格的测试。而测试又包括了像:单元测试、系统测试等等方面的测试。〔6〕发布。在完成了一个系统的开发后,就要将其发布,经过广阔用户的考验,只有经过这,才算是一个合格的产品。在Android平台中,Google提供了一套完整的发布机制——Googlemarket。开发工具介绍用于Eclipse集成开发环境的Android应用开发工具插件:它为Eclipse集成开发环境增加了强大的功能,使得创立和调试Android应用程序更加简单和快速。如果你使用Eclipse来开发Android应用,ADT插件将给你带来极大的帮助:可以从Eclipse集成开发环境直接访问Android开发工具。例如,ADT允许你直接从Eclipse访问DDMS工具的很多功能,包括截屏、port-forwarding、设置断点、查看线程和进程信息。它提供一个新的工程向导,用于快速创立一个新的Android应用需要的所有根本文件。它使构建Android应用的过程自动化和简单化。它提供一个Android代码编辑器,用于为Android的manifest和资源文件编写有效的XML。Android程序模块1.AndroidManifest.xml。AndroidManifest.xml是每一个应用都需要的文件。位于工程文件根目录下,描述了程序包的一个全局变量,包括的应用组件(activities,services等等)和为每个组件的实现类,什么样的数据可以操作,以及在什么地方运行。一个AndroidManifest.xml文件的例子:2.Activity。Activity是一个与用户交互的系统模块,几乎所有的Activity都是和用户进行交互的,所以在每个Activity进行初始化的时候,都要执行setContentView(View)函数来指定界面UI。在Activity中有两个重要的函数:onCreate(Bundle)函数是你进行初始化的地方,这个也是执行setContentView(View)函数的地方,setContentView(View)函数可以传入一个由XML编制的UI界面,可以使UI和具体实现完全别离。onPause()函数是处理用户离开当前Activity的地方。更重要的是,任何在当前Activity中的任何改变都要在这个函数中提交。一般是使用ContentProvider来保存数据。Activity有四种状态:活动状态,当Activity处于Stack顶时,就是当前的现实屏幕,这是Activity就处于activity或者运行状态。运行但是失去焦点,当Activity还处于运行状态时,但是屏幕是有另外一个Activity处于文档处于焦点状态,当前的Activity就处于pause。停止,当Activity被另一个Activity完全覆盖的时候,就被停止了,其实就是虽然在运行,但是用户却看不见。结束,当Activity处于pause或者stop时,系统可以结束Activity,回收资源,这是Activity就是处于结束状态了。处于结束状态的是Activity,如果要使用户可见,只要重启才可以。Activity的生命周期是用Activitystack来管理的。当一个新的Activity启动,就把这个Activity放在Stack的顶部,然后这个Activity就变成了一个运行的Activity。以前运行的Activity现在被压在Stack的地步,处于Pause状态。只有Stack顶部的Activity才可以在前台运行,且处于活动状态。View。View是界面中最根本的可视单元,存储了屏幕上特定的矩形区域内所显示内容的数据结构,并能够实现所占区域的界面绘制、焦点、变化、用户输入和界面事件处理等功能。View也是一个重要的基类,所有在界面上的可见元素都是View的子类。Viewgroup是一种能够承载多个View的显示单元,一般有两个用途,一个是承载界面的布局,另一个是承载具有原子特性的重构模块。下面的这一段代码是在xml中配值一个Button,然后再Activity中获得这个Button的实例,然后可以设置这个Button的监听函数。Xml中的代码如下:Intent是对被执行操作的抽象描述。调用startActivity(Intent),可以启动Activity;调用broadcastIntent(Intent),可以把Intent发送给任何相关的IntentReceiver组件;调用startService(Intent,Bundle)以及bindService(Intent,String,ServiceConnection,int)可以让应用和后台效劳进行通信。Service。效劳是在后台长时间运行的应用组件,不和用户直接进行交互。在每一个效劳类在AndroidManifest.xml文件中,必须有一个相应的<service>声明。效劳必须用Context.startService()或者Context.bindService()启动。NotificationManager。用来通知使用者有事件发生的类。用来告诉使用者在后台有一些事情发生了。这些通知可以采用以下一些不同的方式:当时间发生时临时显示一个View对象。在状态栏上显示一个图标,并通过图标能过激活。翻开或闪烁设备上的LED灯或者通过闪烁背光,播放声音,或者振动提示用户。7.AndroidIDL。通常每个应用程序都在它自己的进程内运行,但有时需要在进程间传递对象,你可以通过应用程序UI的方式写个运行在一个不同的进程中的service。在AndRoid平台中,一个进程通常不能访问其他进程中的内存区域。AIDL为解决进程间通信提供了一套机制。AIDL是一个IDL语言,它可以生成一段代码,可以使在一个Android设备上运行的两个进程使用内部通信进程进行交互。如果你需要在一个进程中(例如:在一个Activity中)访问另一个进程中(例如:一个Service)某个对象的方法,你就可以使用AIDL来生成这样的代码来传递各种参数。学习心得与总结Android作为新兴的操作系统,适应了潮流的开展,在一定程度上迎合了现代的人们追求高效率和完美的心态,再加上它的先进之处,所以Android的开展之快已经快速形成了一个智能帝国,给人们的生活和娱乐都作了巨大奉献。现在谈谈开发收获。首先在界面上,我们可以设计出各种各样的界面,这些界面可以通过include进行引入,先写一个BasicActivity基类,通过继承的方式实现Activity的界面。我们可以自己通过@override或者通过实现Vie
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年修订版:环保型工厂物业运营协议
- 2024年住宅拆迁与重建协议
- 医疗影像诊断技术合作协议
- 2024年品牌代理运营合同
- 2024年光纤线路施工合同
- 2024年二手房买卖合同范本及填写注意事项
- 2024年互联网电商运营合同
- 2024年工厂围栏安全安装协议
- 2024年厂房续租协议书
- 医疗预约协议
- 青骄第二课堂2021年禁毒知识答题期末考试答案(初中组)
- 2024-2030年中国射频芯片行业市场发展趋势与前景展望战略分析报告
- 华电线上测评
- 中国吡唑醚菌酯行业市场现状调查及前景战略研判报告
- 住院医师规范化培训日常考核评分表
- 《中华人民共和国监察法》知识测试题库
- 《城市轨道交通桥梁养护技术规范》
- 2024内蒙古事业单位联考招录(高频重点提升专题训练)共500题附带答案详解
- 《信息通信网络线务员》(综合布线装维员)理论考试题库大全-下(简答题)
- JGJ80-2016 建筑施工高处作业安全技术规范
- 构建水利安全生产风险管控六项机制工作指导手册2023版
评论
0/150
提交评论