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 1.1 以上のシステム イメージを使用するデバイスとのみ互換性があることを指定するために、android:minSdkVersion 属性を「2」に設定する必要があります

具体的には、マニフェスト ファイルで、<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 のデモ
  • Browser
  • 電卓
  • カメラ
  • 連絡先
  • 開発ツール
  • 電話アプリ
  • メール
  • マップ(およびストリートビュー)
  • メッセージ
  • 音楽
  • 画像
  • 設定

UI のローカライズ

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

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

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

解決済みの問題

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