盘点最受开发者喜爱的Android 5.0 Lollipop API

作为Android系统的一次重大升级,Android 5.0 Lollipop突出采用全新的Material Design设计语言,不但在视觉和操作上更胜一筹,还包含扩展UI工具包供开发者使用,为应用添加3D实时阴影,可缩放矢量“drawbles”以及流畅的动画效果。本文着重介绍了其中值得开发者深爱的12款API,赶紧一睹为快吧!


  • 3D视图和实时阴影

Android 5.0的elevation属性能为应用添加了妙不可言的3D视图效果。开发者只需对应用的图像对象重新设定elevation,图像下的实时阴影就会自动显现,打造出一种漂浮在屏幕之上的奇妙画面。此外,还可以用setTranslationZ函数来设定elevation,例如view.setTranslationZ(120)。或用ViewPropertyAnimator.z() 和ViewPropertyAnimator.translationZ()函数来使elevation灵动起来,从而让应用脱颖而出。


  • Activity Transitions

这个名为Activity Transitions的API让Lollipop应用有了更好的切换体验。开发者可通过寻找视图ID以及创建Intent和Bundle来定义不同Activity之间的动画切换,再启动Activity(startActivity()函数)就大功告成了。


  • Heads-up

Android 5.0通知中心的亮点在于名为 “Heads-up”的创新通知模式及其卡片式的清新风格,用户不必退出当前的全屏界面,即可启动或关闭漂浮在屏幕上方的提醒。比如通过设置Heads-up将来电提醒显示在文字屏幕(《爱丽丝梦游仙境》节选)的顶部。


在Android 5.0 Lollipop的锁屏上,用户无需下拉通知栏就能够查看新消息并进一步操作,还能将个别信息标记为隐私等等,功能强大。

  • Leanback UI和Android TV输入框架

Android 5.0创新引入了Android TV的Leanback UI,大大满足了开发Android TV应用的需求。


上面的代码显示的是如何在Android 5.0的应用清单中添加LEANBACK_LAUNCHER意图过滤器,让应用的Leanback UI跟Android TV严丝合缝。Android 5.0自带Leanback等程序库,Android TV输入框架和aka TIF(帮助TV应用处理来自HDMI 输入、电视调谐器和 IPTV 接收器的视频流)框架,在精简代码的同时,让应用UI与Android设备完美融合。

  • Overview

Android 5.0 棒棒糖的“Overview(概览)”是传统多任务视窗的升级版,全新的UI呈现卡片重叠的即视感,清新又简洁。用户不仅可以在不同应用之间移动自如,还能在用一个应用的不同任务之间流畅切换,好不惬意。

虽然不能决定Overview界面的整体效果,但通过编写Intent,开发者能自行定义应用向Overview添加或从中删除时的视觉体验。

  • 低功耗蓝牙

Android 5.0新开放的API可以让应用与低功耗蓝牙(BLE,Bluetooth Low Energy)的扫描(中心模式)和广告(外围模式)实现并行操作。低功耗蓝牙在保证应用性能和功能的同时降低了电量消耗,近些年来越来越受到健康&健身类应用的青睐。


  • OpenGL ES 3.1和Android扩展包

OpenGL ES 3.1和Android扩展包为Android 5.0开发者们提供高性能的2D和3D图像API,包括计算着色器、模板纹理、加速视觉效果、高级纹理渲染、棋盘花纹着色器、几何着色器、ASTC纹理压缩、样本缺失值插补和着色等强大功能,能够适用于不同品牌的图形处理器。

  • MediaBrowser和MediaSession

android.media.browse API 能让Android 5.0应用在运行过程中浏览其他应用的媒体内容库。MediaBrowserService代码能使内容显示在原应用上。总而言之,此API旨在实现不同应用间更好的融合——在视觉上呈现同样的用户界面,在操作上免除重复的麻烦。


除此之外,上图所示的MediaSession代替已被弃用的RemoteControlClient,提供一组传输控制和Media Button的回调函数。

  • 低延迟音频输入

Android多媒体框架支持多种多样常规音频格式的捕捉和编码,让音频和应用轻而易举合二为一。若设备硬件支持的话,可以用Media-Recorder API来记录音频。在读取数据后,全新的音频捕捉设计就能流畅地完成任务了。高速客户端采用本地取样频率、通道数和位深度;普通客户端具备重新采样、上/下行通道混合以及上/下位深度的特点。


  • 兼容RAW图像格式的New Camera API

RAW格式以更高动态范围,更少人工痕迹,更多后期制作选择的优势略胜JPEG格式一筹,深受专业摄影师的青睐。如今迎来了Android 5.0棒棒糖时代,Android相机也能拍出RAW格式的图片了。


上面的代码段主要是如何捕捉Android相机的JPEG格式图片。CameraDevice的前身,即新的Camera2能兼容RAW_SENSOR图片格式,还能编写Adobe DNG(数字底片)格式的RAW像素数据。

  • 管理配置过程

传统上Android的安全性显然不及黑莓和iOS,而如今Android终于扭转乾坤。开发者可借助Android 5.0全新的管理配置过程在设备上创建安全的工作文件夹,而应用开始运行时会有一个“Work”标记,IT管理员负会责管理Work应用以及工作文件夹中的数据。


此外,在配置之前,开发者还可用编程应用的NFC数据传送进一步部署和激活一个Device Owner。Device Owner应用可借助DevicePolicyManager中的函数来实现管理设备中格局,安全以及应用的粒度控制。

  • 截屏和分享

在Android 5.0 Lollipop之前,似乎没有哪个版本能够实现便利截图,我们曾试图借助SDK和调试器来截图,但由于必要的设备驱动程序难以定位,往往会产生更多的问题。另外一个方法是安装第三方截图应用,但必须要root设备。


现在大多数Android设备的UI支持至少不止一种截图功能。比如在Moto X上,同时按下电源开关和下切换键就可以截屏了。现在,Android 5.0应用可以自行捕捉屏幕,首先用参数MEDIA_-PROJECTION_SERVICE调用Context.getSystemService(),得到MediaProjectionManager类别实例;其次,调用createScreenCaptureIntent ()得到一个Intent;再次,使用startActivityForResult()启动屏幕捕捉;最后,将结果返回到getMediaProjection()上,获取捕捉数据。

(编译/张新慧 责编/唐小引)

文章来源:InfoWorld


你可能感兴趣的:(android开发)