然而Android 1.5的版本的发布却在一定程度上解决了上面的问题。系统稳定了不少,不再像之前那样频繁报错了。同时在系统的基本功能上也改进了不少,通话、短信以及多媒体娱乐功能的加强使得Android系统符合了大多数厂商的要求,因此在被足足掉了半年胃口的厂商们自然此时会蜂拥而至,Android系统的突然爆发也就不足为奇了。
(2) Android系统的开源特性使得厂商可以随意打上自己的印记
如果说之前的Symbian系统以及Windows Mobile系统都是按照别人的意思来生产手机的话,那么Android系统则是彻底放开了厂商们的手脚。这也是我们为什么在Android系统发布不到一年的时间里我们就见到了HTC Sence、MOTO Blur等众多优秀的自定义UI出现的原因。他们的出现不仅仅丰富了大家的用户体验同时对于厂商们也是最好宣扬自己品牌理念的平台,这样的操作系统谁不会喜欢呢?
(3) Android系统的免费特性
在Android系统出现之前,我们大家更多的是将智能手机与高价结合起来。虽然智能手机在硬件方面确实要比普通手机贵一些,但是智能操作系统的授权费用才是其价格高昂的真正罪魁祸首。如今Android开源特性使得众厂商在使用Android平台是并不需要支付高昂的授权费用,因此在一定程度上解决了大家的开发成本,自然厂商也就能够投入更多的精力到产品的研发之中了。另外结合2009年的全球金融风暴,众厂商自然会在开支方面有所缩减,因此在这样的环境下全力发展Android系统也就不足为奇了。
3、 Android系统的基本框架
图2.1 AndroidArchitecture(来源:百度图片)
4、 Android系统的四大组件
在Android系统中,为我们提供了四大基本组件,每个组件是一个视图,但是有些是可见的,有些是不可见的视图,像Activity,ContentProvider是可见的视图,Service和BroadcastReceiver是不可见的,它们只在系统的后台运行。 下面分别介绍四大组件:
(1) Activity简介
在Android系统中Activity提供可视化的用户界面,一个Android应用通常由多个Activity组成。多个Activity组成了Activity栈(Stack),当前活动的Activity处于栈顶。Activity有自己的生命周期,由Android系统来控制。
(2) Service简介
顾名思义Service就是运行在后台的一种服务程序,一般很少和用户交互,因此没有可视化界面定义一个Service类比较简单,只要继承Service类,实现其生命周期中的方法就可以了。一个定义好的Service必须在AndroidManifest.xml配置文件注册,通过<service>元素声明才能使用Service有自己的生命周期,我们可以调用startService()启动一个Service或者bindService()方法来绑定一个存在的Service。
(3) BroadcastReceiver简介
BroadcastReceiver顾名思义广播接收器,它和事件处理机制类似,只不过事件处理机制是程序组件级别的(例如,某个按钮的单击事件),而广播事件处理机制是系统级别的。到目前为止我们可以使用Intent来启动一个程序组件,我们还可以通过使用sendBmadcastO方法来发起一个系统级别的事件广播来传递消息。我们可以在你的应用程序中实现BroadcastReceiver来监听和响应这些广播的Intent。
(4) ContentProvider简介
ContentProvider用来保存和检索数据,并且使应用程序之间相互访问数据成为可能。它是跨应用程序共享数据的唯一方法。
Android为常用的数据类型(如:音视频、图片和联系方式等)提供了大量的ContentProvidero它们被定义在android.provider包下面。通过这样定义好的ContentProvider我们可以方便的进行数据操作。当然我们必须拥有适当的权限。我们也可以自己来定ContentProvider共享我们的数据,方便用户的访问。 Andriod手机热点餐厅地图的设计与开发+ER图(4):http://www.youerw.com/jisuanji/lunwen_600.html