Android各版本API变更概要

Android 1.5 API变更概要:

  • UI framework

    • Framework for easier background/UI thread interaction
    • 新SlidingDrawer 组件
    • 新HorizontalScrollview 组件
  • AppWidget framework

    • 一些关于创建桌面AppWidget 的API.
    • 提供根据自定义的内容创建LiveFolders的API
  • Media framework

    • 原声录音和回放 APIs
    • 交互式的MIDI 回放引擎
    • 开发者使用的视频录像API (3GP format).
    • 视频相片分享 Intents
    • 媒体搜索Intent
  • Input Method framework

    • 输入法服务framework
    • 文本预测引擎
    • 提供具有下载能力的IME给使用者
  • Application-defined hardware requirements

    • 应用可定义硬件需求,应用程序可以定义 说明此程序需要什么硬件需求.比如是否需要物理键盘或者轨迹球.
  • Speech recognition framework

    • 支持语音识别库.
  • Miscellaneous API additions

    • LocationManager -应用可以接收到位置改变的信息.
    • WebView - 触摸start/end/move/cancel DOM 事件的支持
    • 重建Sensor Manager APIs
    • GLSurfaceView - 创建OpenGL 应用更加方便的framework .
    • 软件升级安装成功的Broadcast Intent - 更加平和优秀的软件升级体验

Android 1.6 API变更概要:

  • UI framework

    • 新的类 android.view.animation 控制动画行为:
    • AnticipateInterpolator
    • AnticipateOvershootInterpolator
    • BounceInterpolator
    • OvershootInterpolator
    • 新的XML 属性androidnClick ,从一个layout文件描述一个view的 View.OnClickListener.
    • 对不同分辨率的屏幕的新的支持. 对于Bitmap和Canvas会执行有针对性的缩放行为.该框架会根据屏幕分辨率和其他内容自动缩放bitmap等.

    • 要在你的应用中使用Android 1.6包含的API的话你必须要设置 “4”属性在manifest的 元素中

  • Search framework

    • 应用程序现在可以公开的有关内容,作为建议放入快速搜索框,新的设备范围内的搜索功能,是可从主屏幕搜索。为了支持这一点,搜索框架增加了新的属性,可搜索的元数据文件。有关完整的信息。
  • Accessibility framework
    • New android.accessibility package that includes classes for capturing accessibility events and forwarding them to an AccessibilityService handler.
    • New AccessibilityService package that lets your application track user events and provide visual, audible, or haptic feedback to the user.
  • Gesture Input
    • 新的gesture API :创建,识别,读取,保存手势.
  • Text-to-speech
    • 新的android.speech.tts 包提供了TTS文本朗读功能,从一个文本生成一个声音文件的回放.
  • Graphics
    • android.graphics 中的类,现在支持为不同的屏幕尺寸进行缩放.
  • Telephony
    • 新的SmsManager 发送和接受短信.
  • Utilities
    • 新的DisplayMetrics 字段决定当前设备屏幕的密度.
  • Android Manifest elements
    • 新的 元素
    • 新的 标签
    • glEsVersion: 指定最小openGL ES的版本
    • 元素的新的属性:
    • 目标SDK版本: 应用程序能够指定目标版本. 它能够运行在旧版本(低至minSdkVersion), 他是按照应用程序的指定版本开发的. Specifying this version allows the platform to disable compatibility code that is not required or enable newer features that are not available to older applications.
    • maxSdkVersion: 指定设计这个程序运行的最高版本 重要: 当使用 这些属性前请认真阅读文档.
  • New Permissions
    • CHANGE_WIFI_MULTICAST_STATE: 允许应用进入Wi-Fi 多点传送模式.
    • GLOBAL_SEARCH: 允许全局搜索系统,以便精确确定 content provider.
    • INSTALL_LOCATION_PROVIDER: 允许应用在Location Manager.安装一个location provider.
    • READ_HISTORY_BOOKMARKS: 允许应用读取(并不能写) 用户的浏览记录和书签
    • WRITE_HISTORY_BOOKMARKS: 允许应用写入 (并不能读) 用户的浏览记录和书签
    • WRITE_EXTERNAL_STORAGE: 允许程序写入外部存储器.应用程序使用API级别3下将默认授予此权限 (这对用户可见的); 应用程序使用API level4 或者更高的,必须要明确的宣告此权限.

Android 2.0 API变更概要:

  • Bluetooth
    • 开启关闭蓝牙
    • 设备和服务发现
    • 使用 RFCOMM连接一个可插拔的设备收发数据
    • 公布RFCOMM 服务和监听接收 RFCOMM 连接
  • Sync adapters
    • 新的APIs, 同步桥接器连接任何backend
  • Account Manager
    • 集中的帐户管理器 API ,安全的储存和使用可信的tokens/passwords
  • Contacts
    • 新的通信APIs 允许获取多个账户的数据.
    • 新的快速通信framework APIs 允许开发者在他们的应用中创建通信标记, 一键点击标记打开一个新的窗口展示一个如何联系当前人的列表.
  • WebView
    • 不赞成使用的类: UrlInterceptHandler, Plugin, PluginData, PluginList, UrlInterceptRegistry.
  • Camera
    • 颜色模式, 场景模式 闪光模式, 焦点模式, 白平衡 旋转和其他设置的新的特征.
    • 当缩放级别改变的时候,会回调新的缩放回调接口.
  • Media
    • MediaScanner现在为所有图片生成缩微图when they are inserted into MediaStore.
    • 新的缩微图 API : 检索需要的图片和视频的缩微图.
  • Other Framework

    • android.R.style 中新的系统主题,能够更加简单的显示当前acitivities的系统壁纸或者保持之前的activity在后台.新的壁纸管理器API 取代并且增加了wallpaper APIs ,我们可以允许我们的应用要求设置系统壁纸.
    • 新的Service APIs帮助应用准确的处理Service 生命周期 ,在指定的低内存状态下service将会被关闭.
      o Service.setForeground() 不推荐使 用,并且现在这个方法并没有实际执行. .他被一个新的API所取代, startForeground(), that helps (and requires) associating an ongoing notification with the foreground state.
    • MotionEvent 如果设备允许的话,MotionEvent 会返回多点触摸信息.最多可同时获取3点
    • KeyEvent 现在有了新的按键发送 APIs,去帮助实现 action-on-up 和长按键行为, 一个新的机制取消按键 (虚拟按键).
    • WindowManager.LayoutParams 现在有了新的常量允许窗口能够在被锁或者其他的状况中唤醒屏幕,这个允许程序能够让例如闹钟等的应用实现唤醒设备.
    • New Intent APIs 广播设备的对接状态,当这个设备放在桌面或者停车场,允许程序启动特殊的activity.
  • Key events executed on key-up

    • Android 2.0能够使用虚拟按键HOME, MENU, BACK和SEARCH,而非物理按键,为了让用户在他们的设备中获得最好的用户体验,android平台现在把这些按键执行加入到了key-up,做了 key-down/key-up 配对,而非只有key-down.,这有助于防止意外按钮事件,并让使用者按下按钮区域,然后拖动而不生成一个事件出来。

      这种改变只会影响你的应用程序一点,如果它是拦截按钮事件,最好用key-down,而不是key-up.。特例,如果您的应用程序拦截BACK 键,你应该确保你的应用妥善处理按键事件。

Android 2.0.1 API变更概要:

  • 新的快速联系人标记风格——(quickContactBadgeStyle)* 属性

    让应用的QuickContactBadge 组件接收必要的风格.当在manifest里面宣布了filter,取消了支持
     ACTION_CONFIGURATION_CHANGED 广播 ,如果想要去接收这个广播, 这个应用必须注册
     registerReceiver(BroadcastReceiver, IntentFilter).
    
性能上的改变:
  • Bluetooth
    • 改变了 ACTION_REQUEST_ENABLE 和ACTION_REQUEST_DISCOVERABLE的返回值
      ACTION_REQUEST_ENABLE 如果蓝牙是成功开启的,现在返回RESULT_OK .如果使用者拒绝开启蓝牙的请求,则会返回RESULT_CANCELED .
      ACTION_REQUEST_DISCOVERABLE 如果使用者拒绝启动蓝牙或者蓝牙的可发现功能,则返回 RESULT_CANCELED .
  • 通讯
    • The ACTION_INSERT Intent returns RESULT_CANCELED in cases where the contact was not persisted (例如剪切保存到一个空的操作里面).
修复错误:
  • 资源
    • 现在framework可以正选择应用资源的根据API等级划分的文件夹(drawable-v4是API level4版本用的资源).现在的版本这个功能不能正常工作的问题已经修复.
  • Contacts
    • The ACTION_INSERT Intent now returns the appropriate kind of URI when the request is made using the (now deprecated) Contacts APIs.
  • Other Framework fixes
    • getCallingPackage() 现在正确的报告包名, 而不是进程名.

Android 2.1 API变更概要:

  • Live Wallpapers 动态桌面
    • 以下增加的API可以提供你开发动态的桌面:
  • 新android.service.wallpaper 包.
  • 新WallpaperInfo 类.
  • 升级的WallpaperManager.
  • 附加说明,:
    如果你的应用相提供Live Wallpapers的功能, 你必须记得增加一个 元素到你的应用manifest里面. 宣布这个属性android:name=”android.software.live_wallpaper”.
  • 电话
    • 新的SignalStrength 类提供当前网络信号的一些信息这些信息可以从onSignalStrengthsChanged(SignalStrength) 回调.
    • 新的onDataConnectionStateChanged(int, int) 回调.
  • Views
    • 新的View 方法isOpaque() 和onDrawScrollBars(Canvas).
    • 新的RemoteViews 方法addView(int, RemoteViews) 和removeAllViews(int).
    • 新的ViewGroup 方法isChildrenDrawingOrderEnabled() 和setChildrenDrawingOrderEnabled(boolean).
  • WebKit
    • 新的WebStorage 方法操作网页数据缓存.
    • 新的GeolocationPermissions 方法获取 Geolocation permissions 的出处, 把他们设置到 WebView上.
    • 新的WebSettings 方法管理软件缓存, 网页缓存 和屏幕的缩放.
    • 新的WebChromeClient 方法处理视频, 历史记录, 自定义view, 软件缓存限制还有其他

Android 2.2 API变更概要:

  • 对MicrosoftExchange更好的支持。
    Android的几个新特性使之更适于Exchange企业环境。其中一些新特性列举如下:
    • 基于用户名/密码的Exchange帐号自动检测
    • 支持Exchange日历的同步
    • 改进的安全性,管理员可以跨越设备强制应用安全策略
    • 恢复出厂设置——管理员可以将设备重置为出厂设置,这样就能在设备被偷或丢失后擦除上面的敏感数据了
    • 全局的地址列表查找——可以根据服务器端返回的列表帮助用户自动填充收件人的邮件地址
设备管理API

Android 2.2改进并新增了大量的设备管理API,开发者可以将其用在应用当中:

  • 应用数据备份API
    • 可以将应用数据备份到云中。如果用户切换到另一个Android设备,他就可以从之前的设备中恢复数据。
  • Cloud-to-Device消息API
    • 云中的用户/系统可以凭借这种增强在设备上触发动作。该特性可以将移动警告发给手机并且支持双向的推同步服务。
    • 可以直接在外部的内存设备(SD卡)上安装应用,还可以将应用从内部迁移到SD卡上,反之亦然。
    • 网络共享。Android 2.2可以通过一台Android电话提供的热点将多个服务连接到Internet上。
    • 性能。借助于新式的Dalvik JIT编译器,对于CPU密集型应用来说,Android 2.2的速度要比Android 2.1快2~5倍。根据Linpack基准测试结果,安装了Froyo的Nexus One电话可以达到37.5 MFlops,而同样的电话如果使用Android 2.1的话才有6.5 MFlops。
    • 更快的浏览速度。由于浏览器现在使用了Chrome V8引擎,JavaScript代码的处理速度要比Android 2.1快2~3倍。
    • 从浏览器中访问设备API。
      现在可以直接从浏览器中访问大量的设备API,如加速器、相机、声音识别、翻译等,这样Web应用就能以前所未有的方式与设备交互了。比如说,用户可以在拍完照后将其上传到网上,而这一切都是在浏览器内完成的。

Android 2.3变更概要

Android 2.3的API Level为9,有关所有的API改变,帮助大家总结如下:

新增包
  • android.media.audiofx 混响音效
  • android.net.sip VOIP支持
  • android.nfc NFC支付支持
  • android.os.storage 存储管理类
    详细的请查看 Android 2.3新特性及改进列表,已正式发布 一文
移除类
  • VMDebug
  • VMRuntime
  • VMStack
  • Zygote
更多改进
  • Extra Large Screens
    目前Android 2.3将支持更大的屏幕尺寸定义,开发者可以通过 元素在你的 manifest files 中定义,新增的 xlarge 标记将支持更多的屏幕尺寸, 有关具体的使用方法,Android开发网将在今后的文章中讲到。- -
  • Graphics
  • Content Providers
  • Location
  • Storage
  • Package Manager
  • Telephony
    Android 2.3 可以让应用本地访问声明周期和窗口
    NativeActivity是一个新的Activity类整个声明周期的方法可以通过本地C/C++代码直接访问,使用Android NDK r5或更高版本即可支持。
    有关最新版的NDK下载和NDK参考文档可以在 Android开发包下载 中找到。
    有关Dalvik运行时库
    新增manifest元素和属性
    新增 Permissions
有关硬件的改进
  • android.hardware.audio.low_latency — 允许使用 low-latency 音频管道在设备和可以提供敏感的延迟在声音输出输出上。
  • android.hardware.camera.front
    — 前置摄像头控制类.
  • android.hardware.nfc
    — NFC近距无线设备管理.
  • android.hardware.sensor.barometer
    — 气压计感应器支持类The application uses the device’s barometer.
  • android.hardware.sensor.gyroscope
    — 陀螺仪感应器支持类 The application uses the device’s gyroscope sensor.
  • android.software.sip
    — SIP VoIP类.
  • android.software.sip.voip
    — 使用基于 SIP的 VoIP 服务.
  • android.hardware.touchscreen.multitouch.jazzhand
    — 增强的多点触控类,可以实现跟踪5个或更多的点.
    以上是Android 2.3姜饼的API改变大全,有关具体的新增功能实用,将在今后的文章和Android进阶开发系列教程中逐一介绍。

Android 3.0 API变更概要:

Android 3.0 SDK中新增了哪些API呢? 我们总结下平板系统honeycomb中的新特性, 首先需要澄清的是经过Android123发现设置模拟器的分辨率到普通WVGA这样的解析度时平板的特性自动消失和Android 2.3没有什么太大区别,按照这样来看未来Android 3.0除了兼容平板外还继续可以被手机所支持,据称3.0的代码针对A9双核CPU进行了进一步的改进。

  • Fragments 碎片容器
      有关Android Fragments的内容,Android开发网在前几天已经用几篇文章详细讲解了下,大家可以从Fragment对比Activity - Android碎片介绍 一文开始了解。
  • Action Bar 活动栏
      活动栏Action Bar可以替换传统的标题栏在Activity窗口中,包括程序图标和一些新接口在activity的选项菜单中,另外Action Bar允许你
     
  • System clipboard系统剪切板
      Android 3.0中的剪切板进行了增强,本次可以支持除了纯文本外更多的内容,如,URL和Intent,对于剪切板类ClipboardManager仍然通过 getSystemService(CLIPBOARD_SERVICE)来实例化,新增的ClipData类用于管理具体的复制对象,可以在SDK的 android.content.ClipData.Item中找到。具体的使用Android123将在今后的文章中写道。
  • 拖拽
      开始拖拽内容在你的Activity中可以使用startDrag()方法在一个View中,这里View.DragShadowBuilder提供了拖拽时的阴影,对于拖拽的过程处理可以通过OnDragListener通过View的setOnDragListener()来设置,在拖拽的时候系统会自动调用onDrag()方法。
  • 增强的appWidgets
      Android 3.0的appWidget开始支持更丰富的控件,比如GridView, ListView, StackView, ViewFlipper和AdapterViewFlipper.而以前必须通过RemoteView显示一个文本或图片,本次全新的 RemoteViewsService增强了桌面小插件的功能。
  • 增强的状态提示栏
      新增的Notification API可以丰富你的状态栏,新的Notification.Builder类可以帮助你轻松实现,支持大图标提示信息通过setLargeIcon方法,通常显示一些社交类的软件,比如联系人照片,或相册缩略图,设置自定义状态栏,可以使用setTicker()方法。
  • 内容加载器
      新框架API提供了一个异步加载内容的泪,合并和UI组件和fragment来动态加载数据从工作者现成,使用CursorLoader子类来获取ContentResolver中的数据.
  • A2DP蓝牙和耳机控制API
      Android honeycomb中没有忘记再次增强蓝牙,你可以通过初始化BluetoothProfile通过调用getProfileProxy()在处理 A2DP或耳机HEADSET设置,BluetoothProfile.ServiceListener可以获取客户端连接或断开的回调。
  • 动画框架
      3.0中Android再次增强动画播放类,ObjectAnimator和LayoutTransition需要大家了解一些。
  • 扩展UI框架
    新增以下UI控件
    • AdapterViewAnimator
    • AdapterViewFlipper
    • CalendarView
    • ListPopupWindow
    • NumberPicker
    • PopupMenu
    • SearchView
    • StackView
  • 图形相关
    • 2D图形硬件加速Hardware accelerated 2D graphics
      在androidmanifest.xml的元素中添加android:hardwareAccelerated=”true” 即可。他可以优化程序运行更平滑高效,在滚动和动画方面。
    • 设置渲染模式
      比如 LAYER_TYPE_HARDWARE 硬件加速和 LAYER_TYPE_SOFTWARE 使用 setLayerType() 方法.
    • 渲染脚本对于3D图形方面大家可以看看Renderscript类

Android3.0变更概要:

主要增加全息主题

  • Fragments:
    较activity粒度小的拥有独自生命周期的模块。可作为acitivity的一部分,activity通过FragmentManager管理独自的fragments back stack。
  • Action Bar:
    activity顶部标题栏的替代品,通常含logo,点击出现原menu菜单项–称作action item。可与tab、Fragments back stack合用。
  • 粘贴版:
    系统范围的复制、粘贴。通过系统服务CLIPBOARD_SERVICE。
  • Drag and drop:
    在view中监听drag、drop动作,通过ClipData(与系统粘贴版无关)传递数据。
  • App widgets:
    支持GridView、ListView、StackView及ViewFlipper。
  • Content loader:
    Loader类简化异步数据加载;CursorLoader简化ContentProvider的数据加载。
  • 动画支持扩展:
    全新动画框架,更灵活。
  • 硬件绘制加速:
    android:hardwareAccelerated=”true” 启用OpenGl硬件绘制加速。支持renderscript脚本语言。

Android3.1变更概要:

  • USB API:
    简化Android设备USB支持。
  • 相机等PTP API:
    增加多媒体MTP/PTP协议API。
  • 增加输入设备及事件:
    ACTION_HOVER_MOVE事件,非触控的SCROLL事件等。
  • 新增RTP API:
    增加实时传输协议栈中API。
  • App widget可改变大小:
    android:resizeMode=”horizontal|vertical”

Android3.2变更概要:

  • 主要是屏幕大小适配支持。

Android4.0变更概要:

将3.x的全息主题带到小屏幕,合并2.x与3.x

  • Contacts Provider中的社交API:用户个人资料、大photo、使用情况反馈。
  • Calendar Provider:提供获取、增加、修改、删除Calendar的API。
  • Voicemail及更好的多媒体效果。
  • 相机的增强人脸识别功能。
  • 通过NDEF(NFC数据交换格式)进行4cm左右的近距离数据交换。
  • 支持带Wi-Fi Direct设备的P2P连接,传输距离较 Bluetooth远。
  • 支持Bluetooth的健康设备可与Android通信;app可实现拼写检查服务;Text-to-speech新API;sdk>=14时默认启用硬件加速
  • 支持温度、湿度传感器。
  • 硬件不再必须有Menu键。

Android 4.1变更概要:

提高性能、增强用户体验

  • 隔离的服务:android:isolatedProcess=“true”可设置服务运行在隔离的usrID的进程中。
  • 内存警告:更多内存使用状态常量。
  • 增加调用Content provider的健壮性的容错。
  • 则合成栈,通过onPrepareNavigateUpTaskStack()改变parentActivity中的内容。
  • 多媒体:开放底层编解码接口、音频效果增强、相机自动对焦事件等。
  • 网络连接:支持大数据量bluetooth传输、多播设备发现、Wi-Fi Direct服务发现。
  • 网络连接是否收费:isActiveNetworkMetered(),判断当前使用的网络是否计量网络。
  • Activity启动动画:通过ActivityOptions设置动画转化为Bundle,作为Intent属性启动activity。由一个activity的启动、另一个activity的停止两组动画组成。
  • 通知栏支持3种新风格:大图片、大字体、列表信息显示;支持通知底部两个action button;可设定通知优先级。
  • 增加Roboto(4.0版本字体基础)字体变种。
  • 增加外部存储读权限、电视设备属性

Android5.0API变更概要

  • RecyclerView

    • RecyclerView.Adapter:托管数据集合,为每个Item创建视图;
    • RecyclerView.ViewHolder:承载Item视图的子视图;
    • RecyclerView.LayoutManager:负责Item视图的布局;
    • RecyclerView.ItemDecoration:为每个Item视图添加子视图,在Demo中被用来绘制Divider;
    • RecyclerView.ItemAnimator:负责添加、删除数据时的动画效果;
  • Material Design

    • Material,支持各种新动画效果,具有内置的实时UI阴影,以及可在不同屏幕之间切换的hero元素。
  • Project Volta
  • Android Runtime(ART)

    ART(Android Runtime)是一种开发更快执行效率更高且更省电的运行时,它是安卓系统赖以生存的底层运行环境。
    过去安卓的底层代码由Dalvik Java虚拟机运行,这一机制效率不高,被称作是安卓运行效率低下的“毒瘤”,不过也正是因为有它,才让应用程序能在不同硬件和架构上运行。
    ART处理应用程序执行的方式完全不同于Dalvik,运行起来更有效率、耗电更少、占的内存也更低。
    
  • Android Work
  • 64-bit support

你可能感兴趣的:(Android整理,Android学习笔记)