Android 1.5 1.6 2.0 2.1 2.2 2.3 3.0的区别概要(3)

Android 2.3 API变更概要:

Android 2.3姜饼发布,代号Gingerbread,包含哪些新特性和改进呢?

1. 新增android.net.sip包,名为SipManager类,可以轻松开发基于Sip的Voip应用。同时使用时必须至少包含这两个权限 <uses-permission android:name="android.permission.INTERNET"> and <uses-permission android:name="android.permission.USE_SIP">,如果需要在Market上过滤仅显示支持VoIP API的机型,可以在发布时androidmanifest.xml中加入 <uses-feature android:name="android.software.sip" android:required="true"> 和 <uses-feature android:name="android.software.sip.voip"> 这两个标志。

2. Near Field Communications (NFC) 近距离通讯的支持,NFC可以在不接触的情况下实现数据交换通讯,可以很好的代替RFID SIM卡实现手机支付等扩展功能,当然Android123提示这需要硬件的支持
,新增包在 android.nfc包含NfcAdapter,NdefMessage,NdefRecord等类,类似蓝牙的处理方式,使用该API需要声明权限<uses-permission android:name="android.permission.NFC"> ,同时在Market上过滤支持NFC的设备需要加入<uses-feature android:name="android.hardware.nfc" android:required="true">这句。

3. 新增陀螺仪和其他的传感器支持
Android 2.3加入了一些新的感应器,比如gyroscope陀螺仪, rotation vector旋转向量, linear acceleration线性加速器 gravity和barometer气压计的支持。如果过滤这些功能,发布时加入类似<uses-feature android:name="android.hardware.sensor.gyroscope" android:required="true">到androidmanifest.xml中。

4. 多摄像头支持
新增 Camera.CameraInfo 可以管理摄像头前置或后置
新增 getNumberOfCameras(), getCameraInfo() 和 getNumberOfCameras() 获取摄像头数量。
新增 get() 方法,可以获取摄像头配置信息 CamcorderProfile
新增 getJpegEncodingQualityParameter() 获取jpeg编码质量参数可以在 CameraPreview.java 文件从ApiDemos示例程序中查看。

5. 新增拍照API
比如获取焦距getFocusDistances()获取预览FPS getPreviewFpsRange(), 获取焦距范围 getSupportedPreviewFpsRange() 和设置教育 setPreviewFpsRange()

6. 混响音效
本次Android 2.3框架中加入了对混响音效的支持,比如低音,耳机和虚拟化等效果.
新增 android.media.audiofx 包
新增 AudioEffect 类提供音效控制
新增音频会话ID,设置 AudioTrack 和 MediaPlayer.
新 AudioTrack 新增 attachAuxEffect()、getAudioSessionId()和 setAuxEffectSendLevel()。
新 attachAuxEffect() ,getAudioSessionId(), setAudioSessionId(int), 和 setAuxEffectSendLevel() .
相关音效在 AudioFxDemo.java 的 ApiDemos 示例。

6. 照片EXIF信息改进
新增 经纬度标签在JPG格式的EXIF中,同时可以使用 getAltitude() 方法获取经纬度的EXIF信息
新增setOrientationHint() 可以让程序获取视频录制的方向.

7. 下载管理
在Android 2.3中新增的下载管理支持长时间运行的Http下载服务支持。可以保证在手机重启后仍然重试下载等操作,整个过程在后台执行。
通过 DownloadManager 类使用getSystemService(DOWNLOAD_SERVICE) 来实例化,通过 ACTION_NOTIFICATION_CLICKED 这个Intent来处理。


8. 限制模式
可以帮助开发者监控他的应用的性能,处理线程阻塞,避免ANR的发生。

StrictMode.ThreadPolicy 和 StrictMode.VmPolicy 获取VM相关信息.
使用限制模式优化的Android应用程序可以查看android.os.StrictMode包的具体介绍。

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允许你
  Include select menu items directly in the Action Bar—as "action items"—for quick access to global user actions.
  In your XML declaration for the menu item, include the attribute, android:showAsAction with a value of "ifRoom". When there's enough room in the Action Bar, the menu item appears directly in the bar. Otherwise, the item is placed in the overflow menu, revealed by the icon on the right side of the Action Bar.
  Add interactive widgets to the Action Bar—as "action views"—such as a search box.
  In the XML for the menu item that should behave as an action view, include the android:actionViewLayout attribute with a layout resource for the action view or android:actionViewClass with the class name of the widget. Like action items, an action view appears only when there's room for it in the Action Bar. If there's not enough room, it is placed in the overflow menu and behaves like a regular menu item (for example, an item can provide a SearchView as an action view, but when in the overflow menu, selecting the item activates the search dialog).
  Add an action to the application logo when tapped and replace it with a custom logo
  The application logo is automatically assigned the android.R.id.home ID,
which the system deliveres to your activity's onOptionsItemSelected() callback when tapped. Simply respond to this ID in your callback method to perform an action such as go to your application's "home" activity.
  To replace the icon with a logo,
  Add breadcrumbs for navigating backward through fragments
  Add built in tabs and a drop-down list for navigation
  Customize the Action Bar themes and custom backgrounds
  有关ActionBar的文章,可以参考 Action Bar使用方法 - Android活动栏 系列文章

  三、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

  十一、图形相关
  1. 2D图形硬件加速Hardware accelerated 2D graphics , 在androidmanifest.xml的 元素中添加android:hardwareAccelerated="true" 即可。他可以优化程序运行更平滑高效,在滚动和动画方面。
  2.设置渲染模式,比如 LAYER_TYPE_HARDWARE 硬件加速和 LAYER_TYPE_SOFTWARE 使用 setLayerType() 方法.
  3.渲染脚本对于3D图形方面大家可以看看Renderscript类。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwdzwg.html