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 .
- 改变了 ACTION_REQUEST_ENABLE 和ACTION_REQUEST_DISCOVERABLE的返回值
- 通讯
- 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类
- 2D图形硬件加速Hardware accelerated 2D graphics
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