Android Lはテレビのような大画面デバイス上で動作するアプリも開発可能です。テレビアプリを開発するには、専用のSDKとライブラリを使用し、テレビ用のActivityを実装します。
以降、ホーム画面のレイアウトを上から順に紹介します。
テレビのホーム画面はスマートフォンやタブレットと違い、いうなればテレビに特化するものになります。ホーム画面の真ん中にあるオススメ欄は、ユーザーが関連するメディアを簡単に開くための機能です。ユーザーが選択したコンテンツに基づき、オススメ欄はパーソナライズされていきます。開発者は、自身のコンテンツがこのオススメ欄に出るように実装することが可能です。
アプリとゲームはホーム画面の下部の専用のエリアに表示されます。この専用エリア内で、ユーザーの利用頻度に応じてアプリとゲームはソートして表示されます。
設定アプリへのアクセスは、ホーム画面の最下部から行います。設定アプリではAndroidとデバイス固有の設定が行えます。
テレビ上で動作するアプリを開発するに当たり、いくつか気を付けなければならないことがあります。
まず、ディスプレーに関する注意点です。一つはスマートフォンやタブレットと違い、テレビはリビングルームに据え置かれていて、複数人が見ることがあるという点です。カードゲームや戦略ゲームなど、手の内がバレると成り立たないようなゲームはあまりテレビ向きではないといえるでしょう。もう一つは、画面は常に横向きであるということです。画面を縦に使うゲーム(落ちゲーやシューティングゲームなど)は、レイアウトを工夫する必要があります。
入力デバイスについても注意が必要です。スマートフォンやタブレットのようなタッチ入力ではなく、ゲーム用コントローラーやテレビリモコンからのキー入力が主体となります。
ゲーム用コントローラーはゲーム実行時に接続されたり取り外されたりするので、適切に処理しなければなりません。複数のコントローラーを識別番号で管理する必要があります。キー入力をどのようにハンドリングするかも重要です。
Androidがサポートするコントローラー間でボタン配置に互換性があることを過度に期待せず、サポートするコントローラーをあらかじめ決めておき、一貫したボタンマッピングを使用し、コントローラーの性能を検出して調整する、などの方針を設けるといいでしょう。
また、コントローラーが切断された場合、ゲームをポーズして、コントローラーの接続を促すようにするなどの配慮も必要です。コントローラーはBluetoothで接続され、無線の影響や電池切れなどで意図せず切断されてしまうことがあるためです。
Google Play Game Servicesの機能を使うと、バッヂ、クラウドへのデータ保存、マルチプレー機能などを提供することもできます。
Android L開発者プレビューでは、OpenGL ES 3.1をサポートしました。OpenGL ES 3.1の主な新機能は以下です。
Java APIでは「GLES31」というクラスがOpenGL ES 3.1のインターフェースになっています。OpenGL ES 3.1を使用するにはマニフェストファイルで以下のようにバージョンを指定しなければなりません。
<manifest> <uses-feature android:glEsVersion="0x00030001" /> …… </manifest>
Android L開発者プレビューでは、細粒写真の取り込みと画像処理を容易にする新しいカメラAPIが「android.hardware.camera2」というパッケージで追加されました。
このAPIでは、例えば「CameraManager.getCameraIdList()」メソッドでシステムが利用可能なカメラデバイスにアクセスし、「CameraManager.openCamera()」メソッドで任意のカメラデバイスに接続できます。画像のキャプチャを開始するために「CameraCaptureSession」インスタンスを作成し、撮影した画像のためにSurfaceオブジェクトを作成します。「CameraCaptureSession」クラスはバースト内で単一または複数の画像撮影が行えます。
オーディオプレーバック機能では、主に以下の点が変更されました。
メディプレーバックコントロール機能では、主に以下の点が変更されました。
Copyright © ITmedia, Inc. All Rights Reserved.