【Android源码 栏目提醒】:网学会员鉴于大家对Android源码 十分关注,论文会员在此为大家搜集整理了“Android程序主要组成部分概述 - 企业软件开发”一文,供大家参考学习
201NO.7ChinaNewTechnologiesandProducts信息技术中国新技术新产品
Android程序主要组成部分概述陈钊安徽理工大学安徽淮南232摘要近几年在智能手机系统群雄纷争的时候28年Google推出了一款名为
Android的开源智能手机操作系统。
Android凭借其开放性和良好的人机界面受到广大手机生产商的重视随着3G时代的到来
Android有可能会改变现在智能手机市场的格局。
Android是由Linux操作系统、中间件以及核心应用程序组成的专门为移动终端设备开发的层次软件集。
在对
Android学习中主要做了以下的研究:首先
Android系统是一个层次的软件集所以先从层次方面对
Android进行系统研究主要对其运行时环境层以及
Android应用框架层的研究其次通过对
Android平台上应用的开发更进一步了解
Android这个系统在开发中尤其注重
Android的Intent机制的使用。
随着
Android手机的诞生其无可替代的灵活性与轻便性致使
Android手机成为智能手机市场的又一亮点。
关键词AndroidActivityServiceBroadcastReceiverIntent中图分类号TP8文献标识码:A一般来说
Android程序主要由下列四个部分组成它们分别是活动Activity-用于表现功能服务Service-相当于后台运行的Activity广播接收器BroadcastReceiver-用于接收广播意图Intent-用于连接以上各个组件并在其间传递消息Activity介绍
Android中Activity是所有程序的根本所有程序的流程都运行在Activity之中Activity可以算是开发者遇到的最频繁也是
Android当中最基本的模块之一。
在
Android的程序当中Activity一般代表手机屏幕的一屏。
如果把手机比作一个浏览器那么Acitivity就相当于一个网页。
在Activity当中可以添加一些Button、Checkbox等控件。
可以看到Activity的概念和网页的概念相当类似。
一般一个
Android应用是由多个Activity组成的。
这多个Activity之间可以进行相互跳转例如按下一个Button按钮后可能会跳转到其他的Activity。
和网页跳转稍微有些不一样的是Activity之间的跳转有可能返回值例如从ActivityA跳转到ActivityB那么当ActivityB运行结束的时候有可能会给ActivityA一个返回值。
这样做在很多时候是相当方便的。
当打开一个新的屏幕时之前一个屏幕会被置为暂停状态并且压入历史堆栈中。
用户可以通过回退操作返回到以前打开过的屏幕。
我们可以选择性的移除一些没有必要保留的屏幕因为
Android会把每个应用的开始到当前的每一个屏幕保存在堆栈中。
Activity是由
Android系统进行维护的它也有自己的生命周期即它的一个产生、运行、销毁的一个周期对于Activity关键是其生命周期的把握其次就是状态的保存和恢复onSaveInstanceStateonRestoreInstanceState以及Activity之间的跳转和数据传输intent。
2Service介绍Service是
android系统中的一种组件它跟Activity的级别差不多但是他不能自己运行只能后台运行并且可以和其他组件进行交互。
Service是没有界面的长生命周期的代码。
Service是一种程序它可以运行很长的时间但是它却没有用户界面。
这么说有点枯燥我们来看个例子。
打开一个音乐播放器的程序这个时候若想上网了那么我们打开
Android的浏览器这个时候虽然我们已经进入了浏览器这个程序但是歌曲的播放并没有停止而是在后台继续一首接着一首的播放。
其实这个播放就是由播放音乐的Service进行控制。
当然这个播放音乐的Service也可以停止例如当播放列表里边的歌曲都结束或者用户按下了停止音乐播放的快捷键等。
service可以在和多场合的应用中使用比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放比如检测SD卡上文件的变化再或者在后台记录你地理信息位置的改变等等总之服务嘛总是藏在后头的。
3BroadcastReceiver介绍在
Android中Broadcast是一种广泛运用的在应用程序之间传输信息的机制。
而BroadcastReceiver是对发送出来的Broadcast进行过滤接受并响应的一类组件。
可以使用BroadcastReceiver来让应用对一个外部的事件做出响应。
这是非常有意思的例如当电话呼入这个外部事件到来的时候可以利用BroadcastReceiver进行处理。
例如当下载一个程序成功完成的时候仍然可以利用BroadcastReceiver进行处理。
BroadcastReceiver不能生成UI也就是说对于用户来说不是透明的用户是看不到的。
BroadcastReceiver通过NotificationManager来通知用户这些事情发生了。
BroadcastReceiver既可以在AndroidManifest.xml中注册也可以在运行时的代码中使用Context.registerReceiver进行注册。
只要是注册了当事件来临的时候即使程序没有启动系统也在需要的时候启动程序。
各种应用还可以通过使用Context.sendBroadcast将它们自己的intentbroadcasts广播给其他应用程序。
注册BroadcastReceiver有两种方式:4Intent介绍Intent是一个将要执行的动作的抽象的描述一般来说是作为参数来使用由Intent来协助完成
android各个组件之间的通讯。
Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述
Android则根据此Intent的描述负责找到对应的组件将Intent传递给调用的组件并完成组件的调用。
因此Intent在这里起着一个媒体中介的作用专门提供组件互相调用的相关信息实现调用者与被调用者之间的解耦。
例如在一个联系人维护的应用中当我们在一个联系人列表屏幕假设对应的Activity为listActivity上点击某个联系人后希望能够跳出此联系人的详细信息屏幕假设对应的Activity为detailActivity。
为了实现这个目的listActivity需要构造一个Intent这个Intent用于告诉系统我们要做查看动作此动作对应的查看对象是某联系人然后调用startActivityIntentintent将构造的Intent传入系统会根据此Intent中的描述到ManiFest中找到满足此Intent要求的Activity系统会调用找到的Activity即为detailActivity最终传入IntentdetailActivity则会根据此Intent中的描述执行相应的操作。
Intent主要是用来启动其他的activity或者service所以可以将intent理解成activity之间的粘合剂。
Intent具体有一下3种形式通过startActivity方法来启动一个新的Activity通过broadcastIntent机制可以将一个Intent发送给任何对这个Intent感兴趣的BroadcastReceiver。
通过startServiceIntent或bindServiceIntentServiceConnectionint来和后台的Service进行交互。
5小结Activity是应用的眼睛其展示给用户可以用来交互而BroadcastReceiver是耳朵其接收发生的IntentService则相对于手其把事情做完。
Intent作为它们的辅助工具起到串联的作用辅助这些组件完成通讯的任务。
参考文献AndroidSDK开发范例大全.人民邮电出版社54.2
Android开发入门与实战.人民邮电出版社24.3大话企业级
android开发全集.国士工作室36.4
Android编程入门教程andbook.42--