亮爆你的眼球 Android 4.0最新开发亮点
为手机、平板设备等提供统一的UI框架
Android 4.0带来了统一的UI,允许开发人员为手机及平板设备创建更为优雅的创新型应用程序。它包含了全部为我们所熟知的界面元素及API——例如片段、内容加载器、动作栏、丰富多样的通知手段、可调节的主屏幕尺寸等等——此外还加入了很多新元素及API。
对于开发人员而言,Android 4.0中的统一化UI框架意味着全新的UI工具、具备延续性的设计方式、简单的代码与资源以及流畅的Android全机型开发体验。
沟通与共享
将沟通与共享功能扩展到设备上的每一款应用程序当中。应用程序能够将用户的任何活动或社交网络与自身的联系人、个人资料数据以及日程安排整合起来。
◆社交 API
社交共享API为联系人、个人资料数据、状态更新及照片带来了统一的存储方案。任何获得用户许可的应用程序或社交网络都能够带来新的社交联系人,并使其接触到更多其它应用程序及网络。获得用户许可的应用程序同时也可以读取个人资料数据并将这些内容显示出来。
社交型API允许应用程序以标准化方式存储各类给定联系人的资料内容,包括大量个人照片及近期活动反馈。近期活动反馈对于应用程序来讲类似一种通过公共活动识别联系人的“标签”,例如用户对某位联系人发出呼叫、发送邮件或短信等活动。该社交处理体系以近期活动反馈作为联系人排序优先级的参考数据,始终保持那些与我们接触最多的联系人处于名单列表的顶端。
应用程序同时可以让用户从People应用中与联系人建立社交连接。当用户添加某位联系人的连接时,该应用程序将会发送一条能够为其它各类应用接收及处理的公共通知,并显示出创建该社交连接所需的UI。
在社交型API的基础上,开发人员们能够添加强大的、跨社交网络及联系人资源的全新交互功能。
◆日历 API
共享型日历内容提供程序及框架API使其更易于被开发人员所掌握,进而添加到每款处于开发阶段的应用程序中去。
经过用户的许可,任何应用程序都可以向共享数据库中添加事件,并管理日程、出席者信息、警报及提醒等。应用程序同时能从数据库中读取全部内容,包括来自其它应用的事件,并将其正确处理并显示出来。利用日历提供程序,各类应用得以汇总来自多种应用程序及协议的事件数据,进而让用户的日程安排获得创新型的浏览及管理方式。应用程序同样会在日历数据的帮助下改善自身其它内容与用户日程的相关性。
为了使日历服务的访问更加轻量化,日历应用为创建、浏览及编辑事件定义了一套公共规范。比起以往采用日历UI及与日历提供程序直接整合的办法,如今应用程序得以轻松地在本机上广播日程安排。当日历应用接收到此类信息后,它会立即启动合适的UI并存储下全部事件数据。有了日历通知功能,应用程序就能够让用户直接从列表、对话或是主屏幕的某些区域处添加新事件,例如预订餐厅或是与朋友们约好时间。
◆可视语音信息 API
共享型语音信息提供程序及API允许开发人员们创建有助于统一化语音邮件存储的应用程序。语音信箱的显示及运行都在手机平台应用中的日志调用标签中实现。
◆Android Beam
Android Beam是一种基于NFC(即近距离通讯技术)的功能,允许用户只需让两台具备NFC功能的手机接近,就能够即时分享他们使用的应用程序信息。当设备之间的距离在几厘米范围内时,系统会设置一条NFC连接并显示出共享UI。想要与对方分享自己设备上所浏览的内容,用户只需在屏幕上进行简单的触控操作即可。
对于开发人员来说,Android Beam是一种能够触发几乎任何类型设备近距离交流的新途径。例如,它可以让用户即时交换联系人信息、设置多人游戏、加入聊天或视频呼叫、分享照片或视频等等。该系统提供了低级NFC支持及共享UI,而前台应用能够将轻量化的关键性数据传送至其它设备上。由于开发人员事先已经把数据的共享方式及处理办法控制好了,因此几乎各类交互功能都能通过这种途径实现。对于数据量更大的有效载入信息,开发人员甚至可以先利用Android Beam建立起连接,再通过蓝牙进行数据传输,这就连直观的配对过程也省去了。
开发人员即使不打算将以Android Beam为基础的自定义交互功能加入应用程序,他们仍然会从中受益,因为Android Beam已经深深集成到Android系统当中。在默认设置下,系统会共享应用程序的Android Market URL,因此对用户来讲立即下载或是购买某款应用程序将变得极其简单。
◆模块化共享组件
UI框架中此次包含了一个全新组件,即ShareActionProvider。它使得开发人员能够快速将标准化共享功能及UI嵌入到自己的应用程序动作栏中。开发人员只需将ShareActionProvider添加到主菜单中,并设置一下该共享动作所需要的描述即可轻松实现。当用户从菜单中选择对应选项,该系统会自动完成剩下的工作,包括创建能够处理对应通知的应用程序列表。
全新的媒体处理能力
◆低级多媒体流
为低级多媒体流提供了一种直接、高效的处理途径。这种新途径需要在媒体数据传送到描述平台前对其保持完全控制。举例来说,媒体应用程序如今能够从任何来源处检索数据(也适用于任何加密/解密机制),接着将数据发送到专门负责显示的平台上。
应用程序现在可以将经过处理的数据以MPEG-2传输流格式当成复数音频/视频内容发送到目标平台处。该平台会对内容进行解复用、解码并最终显示出正确内容。音轨则由活动音频设备进行渲染,同时视频轨道由Surface或者SurfaceTexture负责处理。当由SurfaceTexture处理时,应用程序将能够利用OpenGL对每一帧图像进行后续图形效果进行渲染。
为了支持这种低级流,该平台引入了以Khronos OpenMAX AL 1.0.1为基础的全新原生API。此API与平台现有的OpenSL ES API采用同样的底层设备实现,因此开发人员可以在需要的时候同时使用这两款API。低级多媒体流的支持工具使用的则是即将发布的Android NDK。
◆全新的摄像功能
开发人员可能充分体验Android 4.0带来的全新摄像功能优势。ZSL曝光、连续对焦及图像缩放使得应用程序能够更好地捕捉静止及视频图像,这些功能在拍摄视频时也能奏效。应用程序甚至可以在视频拍摄的过程中捕捉全分辨率快照。应用程序现在能够在相机的预览设置中自定义测光区域,然后针对这些区域对白平衡及动态曝光效果加以管理。为了简化聚集及图像处理,人脸检测服务会帮助我们标记及追踪预览画面中的面孔,并将其位置返回到屏幕上的对应坐标处。
◆图像及视频转换方面的媒体效果
一套高性能的转换过滤器让开发人员在任何通过OpenGL ES 2.0纹理处理的图像中,都拥有大量丰富的效果可用。开发人员可以使用调整色彩层及亮度、背景变化、锐化、裁剪、旋转、添加镜头失真及其它各类适用的效果。此类转换过程由GPU负责处理,因此即使是来自硬盘、相机或是视频流媒体中的图像帧也能获得上佳的处理速度。
◆音频远程控制
Android 4.0新增了一款全新的音频远程控制API,允许媒体应用程序通过远程视图对播放进行控制。媒体应用程序同样能够调用平台上预置的远程音乐播放控制功能,这使得用户无需解锁设备及操作音乐应用程序即可完成歌曲选择及播放。
在音频远程控制API的帮助下,任何音乐或媒体应用程序都可以利用远程控制注册并接收媒体操控按钮设置,再相应管理播放状态。应用程序还可以为远程控制提供诠释资料,例如专辑封面或影像、播放状态、曲目编号及描述、歌曲长度以及歌曲流派等等。
◆全新的媒体解码器及容器
Android 4.0增加了额外的媒体类型及容器,这为开发人员提供了必要的格式支持。对于高品质压缩图像而言,媒体框架加入了对WebP内容的支持。而在视频方面,该框架现在支持VP8流媒体内容。对于多媒体流,该框架支持HTTP实时流媒体协议第三版及ADTS中的AAC内容编码。除此之外,开发人员如今还能够针对 Vorbis及VP8内容使用Matroska容器。
全新的连接类型
◆Wi-Fi 直连
开发人员可以利用框架API,通过高性能、高安全性的Wi-Fi直连来搜索并直接连入附近的设备。这样即使没有互联网连接或热点也没关系了。
Wi-Fi直连为开发人员带来了新的机遇,使他们可以将更多创新型功能带入其应用程序当中。应用程序可以通过Wi-Fi直接与台式机及其它 Android设备共享文件、照片或其它媒体内容。应用程序还能够通过Wi-Fi直连从同类设备上接收流媒体内容,进而实现诸如数字电视或音频播放器播放、加入游戏群组、打印文件等等功能。
◆蓝牙为医疗设备规范(简称HDP)服务
开发人员们现在可以利用蓝牙在无线通讯方面的优势创建医用应用程序,进而在管理医院、健身中心、家庭及其它场所中的无线设备及传感器方面大显身手。应用程序可以从HDP源设备处收集数据并加以管理,再将结果传输到后端的医疗应用程序中,例如记录系统、数据分析服务等等。
使用框架API,应用程序能够借助蓝牙搜索附近的设备、建立可靠的数据流通渠道并管理数据传输。应用程序还能为连续工作的各类设备提供任何由IEEE 11073管理器实现的数据检索及解释功能,包括心率监视器、血流计、温度计等等。
全新的UI组件及功能
◆布局增强
名为GridLayout的全新布局方案改善了Android应用程序在扁平化视图层上的支持效果,带来更快的排布及渲染速度。由于层的扁平化,开发人员还可以在组件对象不具备逻辑关系的前提下对各部分的总体平面图加以管理,进而严格掌控应用程序的UI外观。GridLayout同时也是一款经过专门设计的拖放式设计工具,正如同ADT Plug-in之于Eclipse一样。
◆OpenGL ES 纹理视图
一套全新的纹理视图对象使得开发人员直接将OpenGL ES纹理作为渲染目标整合到UI层当中。该对象允许开发人员将OpenGL ES渲染作为层结构中的正常视图对象加以显示及操作,包括按需求移动、转换及动画播放。该纹理视图对象还令开发人员能够更轻松地嵌入拍摄预览、视频解码以及OpenGL游戏场景等。纹理视图可以被视为现有SurfaceView对象的增强版本,因为它在提供GL表层渲染带来的种种好处之外,还能够充分发挥其表层全面加入普通视图层的优势。
◆2D绘图硬件加速
所有运行Android 4.0系统的Android设备都要求具备2D绘图硬件加速能力。开发人员能够借助这一优势,在提升UI视觉效果的同时保持高分辨率下的优异性能表现,即使在手机设备上也是如此。举例来说,开发人员可以像在纹理视图合成模式下实现过滤、混合及不透明化等效果一样,通过加速机制完成缩放、旋转及其它2D绘图操作。
全新的输入方式及文本服务
◆手写输入、多点触控及悬停事件
Android 4.0中包含了对手写输入事件的全面支持,诸如倾斜及距离轴、压力感应及相关动作事件属性。为了帮助应用程序区分不同来源的动作事件,该平台还添加了手写笔、手指、鼠标及橡皮擦等多种感应模式。针对多点触控设备的改善需求,当前的平台提供了初级、中级乃至高级动作以及前进与后退动作。悬停及悬停退出事件也为导航及其它辅助功能带来了改进。开发人员可以将这些全新的输入功能加入自己的应用程序中,以获得更为精确的图形及手势识别、笔迹与形状识别、更好的鼠标输入效果等等。
◆集成拼写检查功能的文字服务API
Android 4.0允许应用程序通过查询使用文字服务,例如字典与拼写修改建议、更正以及相似数据联动。文字服务对于输入法编辑器而言属于外部活动,因此开发人员能够以插件的形式为平台创建和发布字典及拼写建议。当应用程序从文字服务处接收到结果时——例如单词拼写建议——它会将其显示在一个专门用于提示建议内容的文本弹出窗口之中,而非通过输入法编辑器加以显示。
◆增强的辅助功能API
Android 4.0增加了新的辅助功能与增强API,使开发人员得以进一步提高自己的应用程序在用户体验方面的感受,特别是对于那些没有硬件按钮的设备来说。以屏幕阅读器这类无障碍服务为例,该平台提供了新的API用于查询窗口内容、简化导航及反馈,并带来更为丰富的用户界面。
◆辅助功能API
为了使应用程序在辅助功能启用时获得更加有效的互动体验,该平台为触控模式、滚动操作及文本选择添加了无障碍事件。对于此类事件,该平台可以附加一个名为辅助记录的新对象,旨在提供与该事件相关的额外背景信息。
在辅助记录及相关API的帮助下,应用程序如今能够访问与事件相关联的视图层。应用程序可以查询的关键属性包括主次节点、可用状态、支持的操作、屏幕位置等等。应用程序还可以要求某些特定属性发生变化,以帮助管理那些重要及选中的状态。举例来说,辅助服务可以利用上述新功能添加诸如屏幕文本搜索等便捷的新特性。
◆文本——语音转换API
一款新的框架API允许开发人员编写文本到语音的转换引擎,并提供给任何请求TTS(即文本到语音转换)功能的应用程序。
◆高效的网络使用率
在Android 4.0当中,用户能够看到其上运行的应用程序正使用多少网络数据流量。他们还可以根据网络类型对数据使用率进行限制,并禁止特定应用程序在后台中使用网络数据。在此前提之下,开发人员需要在自己的应用程序中设计出更为高效的网络连接检查机制。Android 4.0提供的网络API让应用程序得以顺利实现上述目标。
由于用户对网络或网络数据的限制,该平台允许应用程序查询当前网络连接情况及可用性。开发人员可以通过这些信息动态管理网络请求,以确保用户得到最佳的使用体验。开发人员还能够在应用程序中创建个性化的网络及数据使用选项,然后直接通过系统设置通知反馈给用户。
应用程序及内容安全性
◆验证证书的安全管理体系
Android 4.0使得应用程序更容易地对认证及安全会话加以管理。一款新的钥匙链API及底层加密存储机制让应用程序能够顺利存储并检索私有密钥及与其相关的证书。任何应用程序都可以使用钥匙链API以安装并安全地存储用户证书及CA。
◆地址空间随机布局
Android 4.0现在还提供地址空间随机化布局(简称ASLR)功能,旨在帮助用户保护系统及第三方应用程序远离内存管理问题的困扰。
企业业务增强
◆VPN 客户端API
开发人员现在可以通过一款全新的VPN API及底层安全证书存储在平台中创建或扩展自己的VPN解决方案。在用户的许可之下,应用程序能够配置地址及路由规则、处理发送及接收到的数据包并与远程服务器之间建立安全传输通道。企业还可以利用系统中内置的VPN客户端访问L2TP及IPSec协议。
◆摄像头设备管理规范
该平台增加了一套新的管理规范,用于帮助管理员管理引入此规范的接入设备。管理员们现在能够为那些工作于敏感环境中的用户远程禁用设备上的摄像头。