1、智能 手机操作系统 智能手机操作系统是一种运算能力及功能比传统功能手机更强的操作系统。使用最多的操作系统有: Windows Phone、 Android、 iOS、 Symbian 和 BlackBerry OS。他们之间的应用软件互不兼容。因为可以像个人电脑一样安装第三方软件,所以智能手机有丰富的功能。智能手机能够显示与个人电脑所显示出来一致的正常网页,它具有独立的操作系统以及良好的用户界面,它拥有很强的应用扩展性、能方便随意地安装和删除应用程序。 一、 系统介绍 (一 ) Windows Phone Windows Phone(简称: WP)是微软发布的一款手机操作系统,它将微软旗下的
2、Xbox Live游戏、 Xbox Music 音乐与独特的视频体验集成至手机中。微软公司于 2010 年 10 月 11 日晚上 9 点 30 分正式发布了智 能手机操作系统 Windows Phone,并将其使用接口称为“ Modern”接口。 Windows Phone 具有桌面定制、图标拖拽、滑动控制等一系列前卫的操作体验。其主屏幕通过提供类似仪表盘的体验来显示新的电子邮件、短信、未接来电、日历约会等,让人们对重要信息保持时刻更新。它还包括一个增强的触摸屏界面,更方便手指操作;以及一个最新版本的 IE Mobile 浏览器 该浏览器在一项由微软赞助的第三方调查研究中,和参与调研的其它浏
3、览器和手机相比,可以执行指定任务的比例超过 48%。很容易看出微软在用户操作体验上所 做出的努力,而史蒂夫鲍尔默也表示:“全新的 Windows 手机把网络、个人电脑和手机的优势集于一身,让人们可以随时随地享受到想要的体验 “。 Windows Phone,力图打破人们与信息和应用之间的隔阂,提供适用于人们包括工作和娱乐在内完整生活的方方面面,最优秀的端到端体验。 (二) 安卓( Android) Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由 Google 公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人
4、使用“安卓”或“安致”。 Android 操作系统最初由 Andy Rubin 开发,主要支持手机。 2005 年 8 月由 Google 收购注资。 2007 年 11 月, Google 与 84 家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良 Android 系统。随后 Google 以Apache 开源许可证的授权方式,发布了 Android 的 源代码。第一部 Android 智能手机发布于2008 年 10 月。 Android 逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011 年第一季度, Android 在全球的市场份额首次超过塞班系统,跃
5、居全球第一。 2013 年的第四季度, Android 平台手机的全球市场份额已经达到 78.1%。 1 2013 年 09 月 24 日谷歌开发的操作系统 Android 在迎来了 5 岁生日,全世界采用这款系统的设备数量已经达到 10亿台。 2014 第一季度 Android 平台已占所有移动广告流量来源的 42.8%,首度超越 iOS。 但运营收入不及 iOS。 (三) iOS iOS 是由苹果公司开发的移动操作系统 。苹果公司最早于 2007 年 1 月 9 日的 Macworld大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、 iPad
6、以及Apple TV 等产品上。 iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。原本这个系统名为 iPhone OS,因为 iPad, iPhone, iPod touch 都使用 iPhone OS,所以2010WWDC 大会上宣布改名为 iOS( iOS 为美国 Cisco 公司网络 设备操作系统注册商标,苹果改名已获得 Cisco 公司授权)。 2014 年 11 月 14 日,美国政府部门周四警示称,苹果设备的用户应当注意,黑客可能会利用近期发现的苹果 iOS 系统的一个新漏洞。 (四) 塞班 ( Symbian) Symbian 系统是塞班公司为
7、手机而设计的操作系统。 2008 年 12 月 2 日,塞班公司被诺基亚收购。 2011 年 12 月 21 日,诺基亚官方宣布放弃塞班( Symbian)品牌。由于缺乏新技术支持,塞班的市场份额日益萎缩。截止至 2012 年 2 月,塞班系统的全球市场占有量仅为3%。 2012 年 5 月 27 日,诺基亚彻 底放弃开发塞班系统,但是服务将一直持续到 2016 年。2013 年 1 月 24 日晚间,诺基亚宣布,今后将不再发布塞班系统的手机,意味着塞班这个智能手机操作系统,在长达 14 年的历史之后,终于迎来了谢幕。 2014 年 1 月 1 日,诺基亚正式停止了 Nokia Store 应
8、用商店内对塞班应用的更新,也禁止开发人员发布新应用 (五) BlackBerry OS BlackBerry OS 由 Research In Motion 为其智能手机产品 BlackBerry 开发的专用操作系统。这一操作系统具有多任务处理能力,并支持特定的输入装臵,如滚轮、轨迹球、触摸板以及触摸屏等。 BlackBerry 平台最著名的莫过于它处理邮件的能力。该平台通过 MIDP1.0 以及MIDP 2.0 的子集,在与 BlackBerry Enterprise Server 连接时,以无线的方式激活并与 Microsoft Exchange, Lotus Domino 或 Novel
9、l GroupWise 同步邮件、任务、日程、备忘录和联系人。该操作系统还支持 WAP1.2。 二、 安卓开发 (一 ) 步骤 首先, 下载安卓的 SDK 以及开发工具 : JDK, Java Development Kit.因为 android 应用层的程序是使用 java 语言编写的,所以 JDK 是必备的工具; 以及 ADK, Android Development Kit.。 其次, 根据电脑平台搭建开发环境。 最后, 编写代码, 并使用 安卓的四大组件( Activity, Service 服务, Content Provider 内容提供者, BroadcastReceiver 广
10、播接收器 等 )进行应用软件的优化。 (二 ) 组件 Android应用程序由一些零散的有联系的组件组成,通过一个工程 manifest绑定在一起。在 manifest 中,描述了每一个组件以及组件的作用,其中有 6 个组件,它们是 Android 应用程序的基石: 1、 Activities(活动 ) 应用程序的显示层。每一个画面对应于你的应用程序,将会是 Activity 类的扩展。 Activity使用 Views 去构建 UI 来显示信息和响应用户的行为。就桌面开发而言,一个 Activity 相当于一张 Form。 一个 Activity 通常展现为一个可视化的用户界面。例如,一个
11、Activity 可能展现为一个用户可以选择的菜单项列表或者展现一些图片以及图片的标题。一个消息服务应用程序可能包含一个显示联系人列表的 Activity,一个编写信息的 Activity,以及其它一些查看信息和修改应用程序设臵的 Activity。虽然这些 Activity 一起工作,共同组成了一个应用程序,但每一个Activity 都是相对独立的。每一个 Activity 都是 Activity(android.app.Activity)的子类。 一个应用程序可 能只包含一个 Activity,或者像上面提到的消息服务程序一样有多个Activity。一个应用程序包含几个 Activity
12、以及各个 Activity 完成什么样的功能完全取决于应用程序以及它的设计。通常每个应用程序都包含一个在应用程序启动后第一个展现给用户的 Activity。在当前展现给用户的 Activity 中启动一个新的 Activity,可以实现从一个 Activity 转换到另外一个 Activity。 每个 Activity 都会有一个用于绘制用户界面的窗口。通常这样一个窗口会填充整个屏幕,当然这个窗口也可以比 屏幕小并漂浮在其他窗口之上。 Activity 还可以使用一些额外的窗口,例如一个要求用户响应的弹出式对话框,或者是当用户在屏幕上选择一个条目后向用户展现一些重要信息的窗口。 展示 Acti
13、vity 窗口的可视化内容区域是一些具有层次关系(很像数据结构中的树)的视图,而视图则是由类 View 的子类表示的。每个视图控制窗口中的一个矩形区域。父视图包含一些子视图并管理子视图的布局。位于叶节点的视图直接控制并响应用户的动作。因此视图就是 Activity 与用户交互的接口。例如,一个显示图片的视图,当用户单击的时候它可能会启 动一个动作。 Android 有许多开发人员可以直接使用的视图,包括按钮,文本域,滚动条,菜单,复选框等。 通过调用 Activity.setContentView()方法来设臵展现 Activity 的窗口的视图。内容视图则是视图层次结构中的根节点视图。 2、
14、 Services(服务 ) Android 应用程序中不可见的“工人”。 Service 组件运行时不可见,但它负责更新的数据源和可见的 Activity,以及触发通知。它们常用来执行一些需要持续运行的处理,当你的 Activity 已经不处于激活状态或不可见。 Service 没有用户界面,但它会在后台一直运行。例如, Service 可能在用户处理其它事情的时候播放背景音乐,或者从网络上获取数据,或者执行一些运算,并把运算结果提供给Activity 展示给用户。每个 Service 都扩展自类 Serivce。 多媒体播放器播放音乐是应用 Service 的一个非常好的例子。多媒体播放器
15、程序可能含有一个或多个 Activity,用户通过这些 Activity 选择并播放音乐。然而,音乐回放并不需要一个 Activity 来处理,因为用户可能会希望音乐一直播放下去,即使退出了播放器去执行其它程序 。为了让音乐一直播放,多媒体播放器 Activity 可能会启动一个 Service 在后台播放音乐。Android 系统会使音乐回放 Service 一直运行,即使在启动这个 Service 的 Activity 退出之后。 应用程序可以连接到一个正在运行中的 Service。当连接到一个 Service 后,可以使用这个 Service 向外暴露的接口与这个 Service 进行通
16、信。对于上面提到的播放音乐的 Service,这个接口可能允许用户暂停,停止或重新播放音乐。 与 activity 以及其它组件一样, Service 同样运行在应用程序 进程的主线程中。所以它们不能阻塞其它组件或用户界面,通常需要为这些 Service 派生一个线程执行耗时的任务。 3、 Content Provider(内容提供器 ) 提供共享的数据存储。 Content Provider(内容提供器 )用来管理和共享应用程序的数据库。在应用程序间, Content Provider 是共享数据的首选方式。这意味着,你可以配臵自己的Content Provider 去存取其他的应用程序或者
17、通过其他应用程序暴露的 Content Provider 去存取它们的数据。 Android 设备本身包含了几 个 Content Provider 来访问像联系人信息等有用的数据库。 应用程序可以通过 Content Provider 访问其它应用程序的一些私有数据,这是 Android提供的一种标准的共享数据的机制。共享的数据可以是存储在文件系统中、 SQLite 数据库中或其它的一些媒体中。 Content Provider 扩展自 ContentProvider 类,通过实现此类的一组标准的接口可以使其它应用程序存取由它控制的数据。然而应用程序并不会直接调用ContentProvide
18、r 中的方法,而是通过类 ContentResolver。 ContentResolver 能够与任何一个 ContentProvider 通信,它与 ContentProvider 合作管理进程间的通信。 任何时候当 Android 系统收到一个需要某个组件进行处理的请求的时候, Android 会确保处理此请求的组件的宿主进程是否已经在运行,如果没有,则立即启动这个进程,当请求的组件的宿主进程已经在运行,它会继续查看请求的组件是否可以使用,如果不能立即使用,它会创建一个请求的组件的实例来响应请求 4、 Intents(意图 ) 简单的消息传递框架。使用 Intent,你可以在整个系统内广播
19、消息或者给特定的 Activity或者服务来执行你的行为意图。系统会决定那个 (些 )目标来执行适当的行为。 5、 Broadcast Receivers(广播接收器 ) Intent 广播的“消费者”。通过创建和注册一个 Broadcast Receiver,应用程序可以监听符合特定条件的广播的 Intent。 Broadcast Receiver 会自动的启动你的 Android 应用程序去响应新来的 Intent。 Broadcast Receiver 是事件驱动程序的 理想手段。 Broadcase Receiver 不执行任何任务,仅仅是接受并响应广播通知的一类组件。大部分广播通知是
20、由系统产生的,例如改变时区,电池电量低,用户选择了一幅图片或者用户改变了语言首选项。应用程序同样也可以发送广播通知,例如通知其他应用程序某些数据已经被下载到设备上可以使用。 一个应用程序可以包含任意数量的 Broadcase Reveiver 来响应它认为很重要的通知。所有的 Broadcast Receiver 都扩展自类 BroadcastReceiver。 Broadcast Receiver 不包 含任何用户界面。然而它们可以启动一个 Activity 以响应接受到的信息,或者通过 NotificationManager 通知用户。可以通过多种方式使用户知道有新的通知产生:闪动背景灯、震动设备、发出声音等等。通常程序会在状态栏上放臵一个持久的图标,用户可以打开这个图标并读取通知信息。 6、 Notifications(通知 ) 用户通知的框架。 Notification 用来在不需要焦点或不中断它们当前 Activity 的情况下提示用户。它们是 Service 或 Broadcast Receiver 获得用户注意的首选方式。例如,当设备收到文本信息或外部来电时,它通过闪光,发声,显示图标或显示对话框信息来提醒你。