果冻豆Android 4.1的新功能和新特性

2012-07-16 22:52:28来源:oschina作者:

Android4.1是迄今为止最快、最流畅的Android版本,我们已经对整个平台进行了改进,并且为用户和开发人员增加了大量的新功能。本文档仅仅是Android4.1新功能的冰山一角。

在应用的manifest文件添加新的XML属性,可以实现顶部导航栏中定义UI中独立的Activity组件功能。你可以。在运行时,随着活动的推出,该系统manifest文件中提取的最多的导航树,并自动创建在操作栏中向上的启示导航。开发谁申报清单导航不再需要管理导航在运行时的回调,但它们也可以这样做,如果需要的话。

也可以是一个新的TaskStackBuilder类,让你赶紧把一种人工合成的任务堆栈立即启动或PendingIntent启动时使用的一个活动。创建一个合成任务堆栈是特别有用的,当用户从偏远的意见,如从主屏幕小部件和通知,推出的活动,因为它让开发人员提供托管的,一致的体验,回到导航。

Activity Lanuch 的简易动画

您可以使用一个新的helper类,ActivityOptions,创建和控制,动画显示,当您启动您的活动。通过辅助类,你可以指定自定义动画资源活动启动时要使用的,或要求新的缩放动画开始从任何你指定在屏幕上,并选择性地包括一个缩略图位图的矩形。

灯输出和全屏模式的转换

新的系统UI视图中的标志,让你干净的过渡,或从一个正常的应用程序界面(操作栏,导航栏,系统栏可见),“灯输出模式”(状态栏和操作栏隐藏和导航栏变灰) “全屏模式”(状态栏,行动起来吧,所有隐藏的导航栏)。

新的remoteable Views 类型

开发人员现在可以使用GridLayout的ViewStub在主屏幕小部件和通知的意见。GridLayout的让你构建远程意见的内容和管理与较浅的UI层次结构中,儿童的意见路线。ViewStub是一种无形的,零大小的视图,可用于懒洋洋地膨胀在运行时的布局资源。

生活壁纸预览

Android 4.1使得它更容易为用户寻找和安装现场壁纸,包括他们的应用程序。如果您的应用程序,包括现场壁纸,你现在可以开始一个活动(ACTION_CHANGE_LIVE_WALLPAPER),显示了用户从自己的应用程序的动态壁纸预览。从预览,用户可以直接加载动态壁纸。

更高分辨率的联系人照片

与Android 4.1,你可以存储联系人的照片,如大型720×720,使接触更丰富,更个人。应用程序可以在该大小的存储和检索联系人的照片,或使用任何其他需要的大小。在特定设备上支持最大的照片尺寸可能会有所不同,所以应用程序应该查询内置的接触供应商,在运行时获得当前设备的最大尺寸。

新的输入类型和功能

弄清有关设备添加和删除的情况

当有新的设备接进来的时候,比如通过USB,蓝牙,或任何其他连接类型,应用程序会通过注册的方式得到通知,他们可以使用这些信息来改变状态或需要的功能。比如说一个游戏应用程序可能会接收到这样一个通知:有一个新键盘或者摇杆接进来了,这表明一个新成员加入了。

查询输入设备的功能

Android4.1包含很多输入设备功能的APIs,这些APIs能够让应用程序和游戏充分利用那些接入并有效的输入设备的功能。 应用程序可以查询设备管理器来枚举当前连接的所有的输入设备,并了解每个的功能。

控制输入设备上的振动器

在其他功能中,应用程序现在可以使用任何一个接入的输入设备的相关震动服务,比如震动卡(Rumble Pak )控制器。

Animation and Graphics-动画和图形

应用程序中的的垂直同步(Vsync)技术

整个Android框架扩展VSYNC会产生一个更加一致的帧频和流畅、稳定的UI。所有的app都将受益,因为Android4.1扩展的Vsync计时会影响到用户引用程序初始化的绘图和动画。这能让他们在UI线程上优化操作,并提供了一个稳定的同步基。

应用程序可以免费利用VSYNC计时的优势,通过Android的动画框架。动画框架现在使用VSYNC计时自动处理整个动画的同步。

需要特殊用途的话,应用程序可以通过Choreographer类的API访问VSYNC计时功能。应用程序可以要求在下一个VSYNC帧进行验证,这是不用动画框架的情况下的一个很好的安排动画的方式。更高级的用法是,应用程序可以再Choreographer类中传递回调函数,这个会在下一帧中调用。

新动画和过渡类型

现在的动画框架允许你定义当开始和结束运行ViewPropertyAnimator动画时采取的行动,帮助他们与其他动画或应用程序中的行动进行同步,可以运行任何Runnable对象。例如,该Runnable对象可以指定另一个动画在前一个动画完成后开始启动。

你现在也可以指定一个ViewPropertyAnimator在动画过程中使用一个层。在此之前,最好的做法是动画完成前建立一个层,然后在onAnimationEnd()事件处理动画时删除层。现在,ViewPropertyAnimator中的withLayer()方法能够简化这个过程,每次只需要调用一个函数就行。

LayoutTransition中的一个新的过渡类型可以自动响应一个ViewGroup布局的变化动画。

新的交流方式

Android Beam

Android Beam是一种流行的基于NFC的技术,它能够让用户在两个有NFC功能的电话接触之时马上分享信息。

在Android4.1中,Android Beam使得图片、视频和其他需要蓝牙来进行传输的数据分享变得更加容易。当用户触发传输时,Android Beam通过NFC到蓝牙的传输方式,使得从一个设备传输文件到另一个设备变得非常容易。

wifi网络服务发现

Android 4.1引入了支持基于组播DNS服务的发现,它可以让应用程序查找和连接到对端设备通过Wi-Fi网络所提供的服务 - 包括移动设备、打印机、数码相机、媒体播放器、以及其他服务。开发人员可以利用Wi-Fi网络服务发现的优势,建立跨平台或多人游戏和应用。

使用服务发现的API,应用程序可以为任何支持NSD的设备创建和注册任何种类的服务。服务通过组播在网络上使用方便可读的字符串标识符,它可以让用户更容易识别服务的类型。

消费电子设备可以使用API进行扫描,发现当地的Wi-Fi网络连接的设备提供的服务。发现后,应用程序可以使用API来得到服务的IP地址和端口,通过它可以建立一个套接字连接。

你可以利用这个API的优势,做成您的应用程序的新功能。例如,你可以做一个让用户连接到一个摄像头、打印机、或其他移动设备支持的Wi-Fi对等连接的应用程序。

WiFi的直接服务发现

Android冰淇淋三明治版本中引入wifi直连技术也就是让应用程序发现和匹配高带宽的对等连接的技术的支持。 Wi-Fi直连是一个理想的方式来共享媒体、照片、文件和其他类型的数据和会话,即使那里没有手机网络或Wi-Fi的可用。

在Android果冻豆版本中,Android进一步的提供Wi-Fi直连特性,增加相关服务发现API的支持。前相关的服务发现可以让你的应用程序在跟附近设备连接前获得更多关于他们服务支持的的信息。应用程序可以启动特定服务的发现并筛选那些真正支持目标服务或应用程序的设备列表。

例如,这意味着你的应用程序可以发现有打印功能或有一个特定的游戏的设备,而不是发现附近所有的Wi-Fi 直连设备。另一方面,您的应用程序可以发布到其他设备的服务,其他设备可以发现它,然后建立一个连接。这大大简化了为用户发现和配对,让应用更有效的利用Wi-Fi直连的优势。

有了Wi-Fi直接服务发现,你可以创建可以共享所有照片、影片、游戏、分数、或几乎任何其他数据的无需任何互联网或移动网络的应用程序和多人游戏。您的用户可以使用只有一个直接的P2P连接,从而避免了使用移动带宽连接。

网络带宽管理

Android 4.1应用程序管理数据时使用适当的设备连接到计量网络,包括移动热点。应用程序可以查询当前网络是否能开始大量下载,否则可能会给用户带来昂贵的网络费用。通过该API,您现在可以得到清晰的关于哪个网络是数据敏感的信息,并相应地能够管理您的网络活动。

全新的多媒体功能

多媒体解码器访问

Android 4.1提供低级的平台硬件和软件解码器访问。App可以查询系统,发现怎么样的低级的多媒体解码器在设备上是可用的。比如,你现在可以创建多个多媒体解码器实例, 队列进入输入缓存,并接收返回的输出缓存。而且,这多媒体解码器框架支持被保护的内容。App可以通过设备上的DRM方式查询有访问被保护内容权限的解码器。

USB音频

USB音频输出支持硬件厂商生产像audio docks那样的硬件,它与Android设备对接。这个功能在ADK中同样开放,所有的开发者可以创造自己的硬件了。

音频记录触发

在音频播放轨迹的基础上,Android现在可以触发音频记录。在有些情况很有用,比如播放一个提示音来提示你的用户开始说话记录他们的声音。这个特性帮你同步记录,你不必再为播放和记录太迟而发恼了。

多声道音频

Android 4.1 在有多声道HDMI端口的设备上支持多声道音频。多声道音频使你的应用更加丰富用户的音效体验,比如游戏、音乐软件、视频程序。 不支持的设备,Android会自动混合音频,通道数为设备所支持的数量(通常为立体音)。Android 4.1还内置支持编码、解码AAC音频5.1。

音频预处理

开发者可以在记录时对音频应用预处理效果,就像应用降噪来提升录音质量,回声消除, 和通过不同的音量进行增益控制。需要高质量和干净音频记录的App将会在这些预处理中获益。

音频链接

播放器支持链接音频流在一起播放而不产生停顿。这对需要在不同的音频文件无缝转换的App很有用,比如播放连续的唱片或者游戏音乐。

媒体路由

新的API里MediaRouter, MediaRouteActionProvider,和MediaRouteButton对选择哪里播放媒体提供标准的机制和UI。内置支持有线耳机和a2dp蓝牙耳机和扬声器,而且在你的应用中你可以添加自己的路由设置。

Renderscript计算

Android 4.1扩展了Renderscript计算,为我们带来了更多的灵活性。现在,你可以在Renderscript代码内尝试纹理, 新的程序可用来定义浮点精度所需的脚本。这使你开启NEON指令就像在CPU路径上的速度向量操作, 其他不可能在IEEE 754-2008标准。

现在,你可以编译你的Renderscript计算脚本在x86的设备或者硬件上。 你也可以定义多root类型内核在一个Renderscript源文件。

Android浏览器和WebView组件

在Android4.1中,Android浏览器和WebViews增强了以下功能:

  • 更好的HTML5视频的用户体验,比如按下播放、暂停钮的用户体验和从内嵌到全屏模式的平稳过度。
  • 改进了滚动和缩放的渲染速度,减少其内存使用,使其获得更好的显示性能。
  • 改进了HTML5/CSS3/Canvas的动画性能.
  • 增强了文本输入组件。
  • 更新了JavaScript引擎(V8)。
  • 支持HTML5中的获取多媒体图像规范Media Capture(输入类型中的"capture"=文件元素名)。

谷歌API和服务

在新版本中,Android系统获得了一些新的服务。

Android云通讯

谷歌云消息服务(简称GCM)允许Android开发者发送短信给Android用户,而无需特有的同步解决方案。
GCM会处理队列消息的所有细节并能高效的支持Android设备。它支持多点传送(群发,一个请求可最多连接1000个设备)。也支持高负载的消息,这意味着,开发者不光能发送很短的数据,最多也可发送高达4K的数据。
GCM是完全免费的,注册也很方便,更多关于GCM的信息请参阅GCM介绍

应用程序加密

从Android4.1开始,GooglePlay(谷歌在线应用商店)会通过给每一个应用程序在安装到Android设备之前进行密钥加密来保护程序的的支付等方面的安全。

智能的程序更新

智能的更新程序是GooglePlay推出的新功能,这是一种更好的更新应用程序的途径。当开发者们发布了更新的产品,GooglePlay只会发送需要更新的那一部分到设备中,而不是整个APK程序,这样使更新的内容变得更小,更方便的下载更新,减少设备上的耗电量和移动数据的流量。平均一次智能更新的下载大小约是更新完整APK程序的三分之一。

GooglePlay 服务(即将推出)

GooglePlay 服务帮助开发者集成Google的服务到开发的应用程序上,比如认证和Google+。
谷歌应用商店给用户设备自动配置谷歌应用商店服务,这些服务不需要开发者关心,这样你的应用程序就成了拥有轻量库文件的瘦客户端。
因为你的程序有更小的客户端库文件,你可以减小下载文件和存储空间的大小。此外,不需要开发人员发布程序更新,GooglePlay将提供定期的更新服务。

更多关于GooglePlay服务的介绍,请参阅Google Play Services页面。

关键词:果冻豆Android

赞助商链接: