面向开发人员的Android4.1新特色

原文地址:http://developer.android.com/about/versions/jelly-bean.htmlphp

翻译:【eoeAndroid原创团队】tyutNo4,Albert,fortianwei,D.winter,suchang1123html

更新:2012.06.28android

面向开发人员的Android4.1浏览器

jb-android-4.1.png

欢迎来到Android4.1,果冻豆!缓存

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

详情请参考Android4.1 APIs文档来详细了解最新的开发人员APIs。网络

目录

 [隐藏

更快、更流畅、更灵敏

优化的Android4.1可以提供最好的展示形式和实现最低的触摸延迟,提供一个简单易用、容易操做的用户界面app

为了确保一致的帧频,Android扩展了垂直同步调速(vsync timing)来实现Android框架处理全部的图片和动画。一切都运行在步调一致、16毫秒的垂直同步心跳机上——包括程序渲染、触摸事件、屏幕构成和显示刷新——因此帧不会提早或者延后。框架

同时为了得到更加一致的渲染,Android4.1在图形管道上添加了三重缓冲(triple buffering)技术,可以使一切感受更顺畅,好比从滚动到分页和动画。ide

加强的辅助功能-Enhanced Accessibility

jb-accessibility-focus-250.png

Android4.1既经过同步触摸vsync timing来减小触摸延迟,又经过预测你的手指将在那里来刷新屏幕来减小触摸延迟。这样就能够获得更容易和更均匀的触摸响应。。此外,在activity不活动以后,Android会申请一个CPU input boost 来确保在下次触摸事件时没有延迟。


Tooling能够帮助你获得应用程序的彻底的最佳性能,如今Android4.1的设计中,支持工做的一个新工具是systrace,它可以直接从Linux内核采集数据来生成一个系统全部活动的总体的图。采集来的数据被表示为一组垂直堆叠起来的时间序列图表,用来帮助隔离渲染中断和其余问题,如今这个工具在Android SDK中已经可用了(Tools R20 或者更高)。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

支持国际用户

jb-r2l.png

双向文本和其余语言支持

Android4.1经过在TextView and EditText 元素中支持双向文本能够帮助你赢得更多的用户。应用程序能够按照从左到右或从右到左的脚本显示文本或者处理文本编辑。应用程序可使用新的阿拉伯语、希伯来语地区及相关字体。

其余类型新语言的支持包括:

  • 追加的印度语言:埃纳德语,泰卢固语,马拉雅拉姆
  • 新绘文字字符的Unicode 6.0版
  • 对日本用户来讲更好的字形支持(好比当系统语言设置为日语时对日本特有版本的字形的渲染)
  • 阿拉伯语字形在WebViews上进行了优化,除了TextViews。
  • 在WebViews中支持垂直文本,包括Ruby文本和其余垂直文本字形
  • 合成粗体如今能够用于全部没有专门粗体字形的字体

用户可安装的键盘映射

该平台如今支持用户安装键的盘映射。好比支持其余的国际键盘和特殊布局类型的键盘。在默认状况下,Android4.1包含27种国际键盘,包括Dvorak。当用户链接一个键盘的时候,他们能够设置程序选择一个或多个他们想用的键盘。当打字的时候,用户可使用快捷键(好比Ctrl-Space)在键盘布局之间进行切换。 你能够建立一个键盘映射发布到系统中。这个APK应该包括键盘布局资源文件,基于标准的Android键盘映射格式。这个应用程序要想给用户提供自定义的键盘布局须要在应用程序的manifest文件中声明一个合适的广播接收器(ACTION_QUERY_KEYBOARD_LAYOUTS )。

构造更美的UI

jb-notif-ex.png


扩展的通知,让你在显示更多类型的通知内容。

用户能够用一个简单的手势展开他们。

扩展的通知功能

扩展的通知,让你在显示更多类型的通知内容。用户能够用一个简单的手势展开他们。通知功能早已经是Android上独特并受欢迎的功能。在不影响应用程序的UI的状况下,开发人员能够在通知栏把重要的或基于时间的信息,显示给用户。

Android 4.1对Android通知框架进行了重大的更新。应用程序如今能够经过点选展开或者折叠来显示更大,更丰富的通知。通知支持新的内容类型,包括照片,优先级的配置,甚至能够包括多个动做。

经过改进通知的使用,应用程序能够建立的使用面积较大,高达256 DP的高度的通知信息。三个模板的通知样式可供选择:

  • BigTextStyle - 通知,其中包括一个多TextView的对象。
  • BigInboxStyle - 通知显示任何类型的消息,标题等,如清单。
  • BigPictureStyle - 如位图,展现视觉内容的通知。

除了​​模板的样式,你可使用任何远程视图建立你本身的通知显示方式,。

应用程序在通知内容下,能够添加三个动做。让用户以替×××法直接回应通知信息。如不经过应用程序访问电子邮件或电话。

使用可扩展的通知,应用程序能够轻松地提供更多的信息给用户。用户还能够长按任何通知,以获取有关通知发送者的信息,并选择禁用应用程序的进一步通知。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

大小可调整的应用程序小部件

jb-appwidgets.png


应用小工具,能够自动调整

以适应主屏幕其大小变化时加载不一样的内容。

应用小工具,能够自动调整,以适应主屏幕,其大小变化时加载不一样的内容。 Android的4.1引入了改进的应用小工具,能够按照用户拖动到的主屏幕的位置,主屏幕上提供的总空间大小,自动调整大小。新的应用程序部件的API,让你利用这一优点,以优化您的应用程序部件大小的变化时,Widget的大小。

当一个部件的变化大小,系统通知主机应用程序的部件供应商,能够从新在widget的内容须要。例如,一个widget能够显示更大,更丰富的图形或额外的功能或选项。开发人员仍然能够保持最大和最小尺寸的控制,并在须要时能够更新其余部件选项。

你的部件,还能够提供单独的横向和纵向布局,适当的屏幕方向改变时系统膨胀。

应用部件如今能够显示在第三方发射器和其余宿主应用程序经过一个新的绑定意向书(AppWidgetManager.ACTION_APPWIDGET_BIND)的。

简化的任务导航

Andr​​oid 4.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网络服务发现

Andr​​oid 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链接,从而避免了使用移动带宽链接。

网络带宽管理

Andr​​oid 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页面

 

转:http://wiki.eoeandroid.com/index.php?title=Android_4.1_for_Developers&diff=prev&oldid=4289

相关文章
相关标签/搜索