Android 1.5 1.6 2.0 2.1 2.2 的区别详解
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 控制动画行为:
o anticipateinterpolator
o anticipateovershootinterpolator
o bounceinterpolator
o overshootinterpolator
· 新的xml 属性android:onclick ,从一个layout文件描述一个view的 view.onclicklistener.
· 对不同分辨率的屏幕的新的支持. 对于bitmap和canvas会执行有针对性的缩放行为.该框架会根据屏幕分辨率和其他内容自动缩放bitmap等.
要在你的应用中使用android 1.6包含的api的话你必须要设置 "4"属性在manifest的 元素中
search framework
· 应用程序现在可以公开的有关内容,作为建议放入快速搜索框,新的设备范围内的搜索功能,是可从主屏幕搜索。为了支持这一点,搜索框架增加了新的属性,可搜索的元数据文件。有关完整的信息,请参阅searchmanager
文档。
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
o 新的 元素
o 新的 标签
o glesversion: 指定最小opengl es的版本
·
元素的新的属性:
o 目标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.
o 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变更概要:
对microsoft
exchange更好的支持。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应用就能以前所未有的方式与设备交互了。比如说,用户可以在拍完照后将其上传到网上,而这一切都是在浏览器内完成的。
支持flash 10.1。froyo支持最新的flash 10.1
beta版。最近,jit编译器的引入极大地改进了性能,这对flash应用的运行起到了巨大的帮助作用,因为大家都知道,flash应用是一种cpu密集型应用。
android商店。android 2.2开发者和商店用户会从如下新特性中受益无穷:
可以在android商店搜索应用,包括应用数据
更新——点击一次按钮后会自动更新所有应用
崩溃与冻结报告。android
2.2集成了崩溃/冻结报告特性,这样在崩溃时用户就可以将完整的细节信息报告给应用发布者了
从pc上浏览商店并将应用直接下载到设备上。用户可以通过pc选择商店的应用,之后应用就可以发到到加载的设备上。要想使用这个特性,用户需要登录并且设备需要在android商店注册-
音乐管理。用户可以将windows media或mac itunes上的所有非drm音乐转换到android设备上播放。