SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

「Android 5.0 Lollipop」リリース! 開発者なら押さえておきたい主な新機能

  • X ポスト
  • このエントリーをはてなブックマークに追加

開発者視点の新機能 2

Notification

 ユーザ視点の新機能でも取り上げましたが、ここでは実装における注意事項や5.0対応ではどのように修正するのかなどを説明します。

Material design対応

  • アイコンサークルの色の設定はNotification.BuilderのsetColor()メソッドを使う
  • ステータスバーに表示されるのNotificationアイコンには色をつけない

 Meterial design styleではアイコンは白と透明な背景色で構成されなくてはいけません。そのため、アイコンに色を付けることはNGです。Notificationアイコンに色が付いている場合はそのコードを削除する必要があります。

notification-material(Notificationsの概要ページより引用)
notification-material(Notificationsの概要ページより引用)

Sound and vibration対応

  • Ringtone、MediaPlayer、Vibratorなどは使わない

 Notification.BuilderのsetSound()、setVibrate()などのメソッドを使って、サウンドやバイブレーション設定をします。Ringtone、MediaPlayer、Vibratorなどで通知設定している場合は、そのコードを削除します。

ロックスクリーンの表示、非表示

 Notification.BuilderのsetVisibility()メソッドと、setPublicVersion()メソッドで、ロックスクリーンの表示設定ができます。

LockScreen(Notificationsの概要ページより引用)
LockScreen(Notificationsの概要ページより引用)

Media playback

 メディアの再生状態などの通知には、Notification.MediaStyle を使います。RemoteViews.RemoteViewを使わなくても簡単にNotificationで再生しているコンテンツを操作することができます。

MediaPlayback(Notificationsの概要ページより引用)
MediaPlayback(Notificationsの概要ページより引用)

Heads-up notification

  • 重要なNotificationは優先的に表示される

 動画再生などフルスクリーンモードでも優先的に表示され、重要な通知を見逃すことがなくなります。Notificationクラスにprioryフラグが追加され、以下の値が定数で用意されています。設定値が"HIGH"の場合はheads-up notificationとして扱われます。

通知の優先度
MAX クリティカルな通知
HIGH 重要な通知
DEAFULT デフォルトの設定値で、いずれの重要度にも含まれないもの
LOW 緊急性がない通知
MIN ユーザの背景に関連する情報。例えば現在地に合わせた気象情報など
heads-up notification(Notificationsの概要ページより引用)
heads-up notification(Notificationsの概要ページより引用)

RemoteControlClientの廃止

 RemoteControlClientクラスは廃止されるので、MediaSession APIに切り替えましょう。

MediaSession APIの特徴

  • メディアコントローラ、ボリュームキー、再生、停止などのメディアボタンの操作や、メディア情報が取得可能
  • デバイスがロック状態でも操作することができる
  • それらを実現するためのNotification.MedhiaStyleテンプレートが用意されている
  • アプリケーションがAndroid WearやAndroidTV上で実行されている場合、MediaSessionクラスを実装する。
  • Androidデバイス上のメディアボタンのイベントを受信する場合にMediaSessionを実装する必要がある

スクリーンの共有

 android.media.projection APIが追加され、画面キャプチャと画面共有機能ができるようになりました。これにより、ビデオ会議アプリなどで画面共有するアプリケーション作成することができます。

所感

 スマートフォンからはじまり、タブレット、ウェアラブル、TV、車などプラットフォームの拡大。さらに、マテリアルデザインなどUI、UX。他にもゲームや、組み込みなど様々な舞台でAndroidが活躍しています。 Androidという世界がさらに広がってきました。Lollipopは何からはじめていこうかと思っている方は、まずは自分の注力する分野を決めてみてはいかがでしょうか。

 筆者も今回のアップデートはどこから学習していこうか悩んでいますが、ひとまず、ウェアラブル連携を意識した開発を勉強していこうと思います。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

小林 明大(株式会社TOPGATE)(コバヤシ アキヒロ)

Android エンジニアとして、Web アプリケーション開発の第一線で活躍中。Android、iPhone などスマートフォンアプリケーション開発に従事。 大手メーカー製 Android 端末プリインストールアプリケーション開発、エンドユーザー向け Android アプリケーション開発(着メロ、ゲ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8233 2014/10/23 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング