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.1 SDK に移行して追加のテストを行うよりも、Android 1.0 SDK で作業を続けるほうが簡単な場合があります。

外部ライブラリ

システム イメージには、これらの外部ライブラリが含まれており、 <uses-library> を追加することでアプリからアクセスできるようになります。

  • com.google.android.maps - アプリケーションに Google マップのデータへのアクセスを許可します。Google マップのデータを使用するには、Maps API キーが必要です。

対応デバイス

Android 1.1 システム イメージについて、下記の Android 搭載デバイスとの互換性がテストされています。

  • T-Mobile G1

組み込みアプリケーション

システム イメージには、次の組み込みアプリケーションが含まれています。

  • アラーム
  • API のデモ
  • ブラウザ
  • 電卓
  • カメラ
  • 連絡先
  • 開発ツール
  • 電話アプリ
  • メール
  • マップ(およびストリートビュー)
  • メッセージ
  • 音楽
  • 画像
  • 設定

UI のローカライズ

システム イメージは、以下の言語用にローカライズされた UI 文字列を提供します。

  • 英語、米国(en_US)
  • ドイツ語(de)

ローカライズされた UI 文字列は、エミュレータで表示可能なロケールと一致します。デバイス設定アプリからアクセス可能です。

解決済みの問題

  • 目覚まし時計アラートが、AlarmManager からではなく、音声/バイブレーションを直接再生するようになりました。AlarmClock アラートが、アクティビティの開始時ではなく、IntentReceiver で音声/バイブレーションの再生を開始します。この変更により、モーダル ダイアログでアラームがブロックされないようにすることができます。
  • デバイスのスリープを修正しました。
  • 通話中のダイヤルパッドをシングルタップで開かず、タップとドラッグが必要になります。
  • 送信メッセージ 25 通のうち約 1 通で [送信済み] フォルダに転送されたときに、(Gmail ベースのサーバーへの)IMAP 接続がフリーズするバグを修正しました。
  • 破損した、またはテスト不能な自動アカウント設定エントリを削除します。残りのエントリの一部にマイナーな修正を追加しました。いくつかの特殊なケースに使用される警告ダイアログを改善しました。
  • メールチェック間隔のデフォルトの間隔を「なし」から 15 分に変更します。
  • IMAP のパスワード引用のバグを修正し、ユーザーがパスワードに特殊文字(スペースなど)を含められるようにしました。
  • 自動および手動アカウント設定で生じるさまざまなエラーを修正
  • さまざまな接続エラーのレポートが改善され、アカウント設定の失敗をユーザーが簡単に診断できるようになりました。
  • POP3 アカウントの新着メール通知を修正しました。
  • 「チェックしない」とマークされたアカウントを適切に自動チェックするようにします。
  • ユーザー設定(午前/午後など)を使用して日付と時刻が表示されるようになりました。
  • メッセージ ビューに [cc:] が表示されるようになりました。
  • POP3 接続障害時の復旧を改善しました。
  • POP3 パーサールールが緩和されたため、アプリケーションは非準拠のメールサーバーでも動作できます。

新機能

  • マップ: ユーザーがマップで検索を行い、ビジネスをクリックしてその詳細を表示すると、詳細とレビューが追加されます。
  • 電話: スピーカーフォン使用時の、通話中画面消灯のデフォルト時間が長くなりました。
  • 電話アプリ: 通話中メニューに [ダイヤルパッドを表示] または [ダイヤルパッドを非表示] 項目を追加し、DTMF ダイヤルパッドを見つけやすくしました。
  • MMS の添付ファイルを保存できるようになりました。
  • レイアウトでの文字の動きに対応しました。

API の変更

概要

  • テストシステム用のアノテーションを追加します。実際の(テスト以外の)API の変更はありません。
  • プロセスが UID を簡単に確認できるようにするメソッドを追加します。
  • レイアウトでの文字の動きに対応しました。
  • ビューのパディングを判断する新しいメソッドを追加しました。View の独自のサブクラスを記述する場合に便利です。
  • アプリが SMS または WAP プッシュ メッセージをブロードキャストできる新しい権限が追加されました。
  • API のクリーンアップ: 保護されたコンストラクタを SDK にバインドされたシステム イメージから削除します。

API の変更の詳細

モジュールまたは機能変更の説明
テストシステム用のアノテーション
LargeTest アノテーションを追加しました。
MediumTest アノテーションを追加しました。
SmallTest アノテーションを追加しました。
プロセスが UID を簡単に把握できるようにする。
パブリック メソッド myUid() をクラス android.os.Process に追加しました
ビューのパディング
パブリック メソッド getBottomPaddingOffset() をクラス android.view.View に追加しました。
パブリック メソッド getLeftPaddingOffset() をクラス android.view.View に追加しました。
パブリック メソッド getRightPaddingOffset() をクラス android.view.View に追加しました。
パブリック メソッド getTopPaddingOffset() をクラス android.view.View に追加しました。
パブリック メソッド isPaddingOffsetRequired() をクラス android.view.View に追加しました。
マーキーのサポート
パブリック メソッド setMarqueeRepeatLimit(int) をクラス TextView に追加しました
公開フィールド android.R.attr.marqueeRepeatLimit を追加しました
新しい権限
公開フィールド android.Manifest.permission.BROADCAST_SMS を追加しました
公開フィールド android.Manifest.permission.BROADCAST_WAP_PUSH を追加しました
API のクリーンアップ
保護されたコンストラクタ java.net.ServerSocket.ServerSocket(java.net.SocketImpl) が削除されました。