Android 1.1 版本说明

日期:2009 年 2 月
API 级别2

本文档提供了 SDK 中包含的 Android 1.1 系统映像的版本说明。

概览

SDK 中提供的 Android 1.1 系统映像是与 Android 1.1 正式版系统映像对应的开发版,自 2009 年 2 月起可部署到搭载 Android 的手机。

Android 1.1 系统映像提供了更新版本的框架 API。与 Android 1.0 API 一样,系统会为 Android 1.1 API 分配一个整数标识符 (2),该标识符存储在系统本身中。此标识符称为“API 级别”,可让系统在安装应用之前正确确定应用是否与系统兼容。

应用通过向 android:minSdkVersion 属性添加一个值来指明其兼容的最低系统 API 级别。该属性的值是与 API 级别标识符对应的整数。在安装应用之前,系统会检查 android:minSdkVersion 的值,并且仅当引用的整数小于或等于系统本身中存储的 API 级别整数时,才允许安装。

如果您使用 Android 1.1 系统映像构建与搭载 Android 1.1 平台的 Android 设备兼容的应用,则必须android:minSdkVersion 属性设置为“2”,以指定您的应用仅与使用 Android 1.1(或更高版本)系统映像的设备兼容。

具体来说,您可以在清单文件中将 <uses-sdk> 元素中的 android:minSdkVersion 属性指定为 <manifest> 的子级。设置后,该属性将如下所示:

<manifest>
  ...
  <uses-sdk android:minSdkVersion="2" />
  ...
</manifest>

以这种方式设置 android:minSdkVersion,可以确保用户只能在运行 Android 1.1 平台的设备上安装您的应用。进而确保您的应用在用户设备上正常运行,尤其是当应用使用 Android 1.1 中引入的 API 时。

如果您的应用使用 Android 1.1 中引入的 API,但未声明 <uses-sdk android:minSdkVersion="2" />,则该应用可在 Android 1.1 设备上正常运行,但不能在 Android 1.0 设备上正常运行。在后一种情况下,当应用尝试使用 Android 1.1 API 时,应用将在运行时崩溃。

如果您的应用不使用 Android 1.1 中引入的任何新 API,您可以通过移除 android:minSdkVersion 或将该属性设置为“1”来指示与 Android 1.0 兼容。不过,在发布应用之前,您必须确保针对 Android 1.0 系统映像(在 Android 1.0 SDK 中提供)编译应用,以确保其可以在 Android 1.0 设备上正常构建和运行。您应根据与应用所设计兼容的 API 级别相对应的系统映像来测试应用。

如果您确定自己的应用没有使用 Android 1.1 API 且不需要使用它们,您可能会发现继续使用 Android 1.0 SDK 比迁移到 Android 1.1 SDK 并执行其他测试更容易。

外部库

系统映像包含这些外部库,您可以通过添加 <uses-library> 从应用访问这些库。

  • com.google.android.maps - 允许您的应用访问 Google 地图数据。请注意,若要使用 Google 地图数据,需要具有 Maps API 密钥。

设备兼容性

Android 1.1 系统映像已通过测试与下列 Android 设备兼容:

  • T-Mobile G1

内置应用

系统映像包含以下内置应用:

  • 闹钟
  • API 演示
  • 浏览器
  • 计算器
  • 摄像头
  • 通讯录
  • 开发者工具
  • 拨号器
  • 电子邮件地址
  • 地图(和街景)
  • 消息功能
  • 音乐
  • 图片
  • 设置

界面本地化

系统映像为下列语言提供本地化的界面字符串。

  • 英语、美国 (en_US)
  • 德语 (de)

本地化的界面字符串与模拟器中可显示的语言区域一致(可通过设备的“设置”应用访问)。

“已解决”问题

  • AlarmClock 提醒现在会直接播放音频/振动,而不是通过 AlarmManager。AlarmClock 提醒会在其 intentReceiver 中开始播放音频/振动,而不是在 activity 启动时播放。这些更改应该可以防止模态对话框阻止闹钟。
  • 修复了设备休眠问题。
  • 用户点按一下,不会再打开通话期间的拨号键盘;用户现在需要轻触并拖动该拨号键盘。
  • 修复了以下 bug:在转移到“已发邮件”文件夹时,导致大约 25 封出站邮件中的 1 封(与基于 Gmail 的服务器)的 IMAP 连接冻结。
  • 移除已损坏或无法测试的自动帐号设置条目。为其余的几个条目添加细微修复。改进了用于一些特殊情况的警告对话框。
  • 将默认邮件检查间隔更改为每 15 分钟(而不是默认设置为“永不”)。
  • 修复了 IMAP 中的密码引用 bug,以便用户可以在密码中包含特殊字符(例如空格)。
  • 修正自动和手动帐号设置中的各种错误
  • 改进了针对各种连接错误的报告,让用户更轻松地诊断失败的帐号设置。
  • 修复了 POP3 帐号的新邮件通知。
  • 确保正确自动检查标记为“从不检查”的帐号。
  • 现在,使用用户偏好设置显示日期和时间(例如,24 小时制而不是上午/下午)。
  • 现在,邮件视图中会显示“抄送:”。
  • 改善了从 POP3 连接失败后恢复的数据。
  • 已放宽 POP3 解析器规则,因此应用可以使用不合规的电子邮件服务器。

新功能

  • 地图:当用户在 Google 地图上搜索并点击商家以查看其详细信息时,可以添加详细信息和评价。
  • 拨号器:现在,使用扬声器时通话屏幕的默认超时时间更长。
  • 拨号器:在通话菜单中添加了“显示拨号键盘”/“隐藏拨号键盘”项,让用户能够更轻松地发现 DTMF 拨号键盘。
  • 添加了对保存彩信附件的支持
  • 添加了对布局中滚动字幕的支持

API 更改

概览

  • 为测试系统添加了注解,没有实际(非测试)API 更改。
  • 添加了一个可让进程轻松确定其 UID 的方法。
  • 添加了对布局中滚动字幕的支持
  • 添加了用于确定视图中内边距的新方法。如果您要编写自己的 View 子类,这会非常有用。
  • 添加了允许应用广播短信或 WAP 推送消息的新权限。
  • API 清理:从与 SDK 绑定的系统映像中移除了受保护的构造函数。

API 更改详细信息

模块或功能更改说明
用于测试系统的注解
添加了 LargeTest 注解。
添加了 MediumTest 注解。
添加了 SmallTest 注解。
允许进程轻松知道其 UID。
android.os.Process 类添加了公共方法 myUid()
视图内边距
android.view.View 类添加了公共方法 getBottomPaddingOffset()
android.view.View 类添加了公共方法 getLeftPaddingOffset()
android.view.View 类添加了公共方法 getRightPaddingOffset()
android.view.View 类添加了公共方法 getTopPaddingOffset()
android.view.View 类添加了公共方法 isPaddingOffsetRequired()
滚动支持
TextView 类添加了公共方法 setMarqueeRepeatLimit(int)
添加了公开字段“android.R.attr.marqueeRepeatLimit
新权限
添加了公开字段“android.Manifest.permission.BROADCAST_SMS
添加了公开字段“android.Manifest.permission.BROADCAST_WAP_PUSH
API 清理
移除了受保护的构造函数 java.net.ServerSocket.ServerSocket(java.net.SocketImpl)。