Android 5.0 差分メモ

自分用あとで読むメモ

Android 5.0 概要

Android Lollipop | Android Developers

API 概要

Android 5.0 APIs | Android Developers

API 差分

API Differences between 20 and 21

Support Library 変更点

Support Library | Android Developers

Support Libraryのリビジョンごとの差分は提供されていないようなので、5.0 API差分を元に類推する。

変更点まとめ

重要そうな変更点と関連URL

ActionBar.Tabが非推奨になった

ActionBarのタブが非推奨になった。 今後はcommon navigation patternsに従うようにとなっているが、具体的な実装が見つからない。 非推奨になっていないPagerTabStripを使うか、SlidingTabsを使うと良いかもしれない。

ActionBar.Tab | Android Developers

JobScheduler

端末の状態に応じてバックグラウンドタスクを実行させるJobSchedulerが追加された。 バックポートされてない(今後もされなさそう)ので、使い所が難しそう。

Android 5.0 APIs | Android Developers JobScheduler | Android Developers

Activityの永続化サポート

PersistableBundleというクラスを利用した新しいライフサイクルメソッドが提供された。 これにより、Activityの情報を端末のリブートを超えて保持することができるようになった(と思う)。 同様の機能はSupport LibraryのActionBarActivityにも提供されている。

ActivityのpersistableModepersistAcrossRebootsであればリブート後も設定値を保持するようなのだが、 なぜかattrのページにはalwaysとかtaskOnlyとか書いてあってよくわからない。

R.attr | Android Developers

Activity | Android Developers

Toolbar

ActionBarの新しい実装としてToolbarが追加された。 ActionBarと違い、レイアウトの中に記述できるようになっている。 layout.xmlで定義したものをActionBarActivity#setSupportActionBarに渡して使うらしい。

Toolbar | Android Developers

Material Design

Material Designのサポートはv7-appcompatに追加された。

Support Library Features | Android Developers

Activity遷移アニメーション

新しいActivity遷移アニメーションがActivityOptionsCompatに追加された。 実はActivityOptionsCompatは以前からあったけどあまり使われてなかったようだ。 今回追加されたのはmakeSceneTransitionAnimationだけど他のTransitionも使いたい。

ActivityOptionsCompat | Android Developers

SwitchCompat

Switchのバックポートがv7-appcompatに追加された。

SwitchCompat | Android Developers

DocumentFile

DocumentFileがv4-supportに追加された。 DocumentProviderFileを同じように扱うための仕組みらしい。 ただしオーバヘッドが大きいのでパフォーマンス求めるならDocumentsContractを使えとのこと。 DocumentProviderがバックポートされていないので、おそらくLevel 19以降はDocumentProvider経由、 それ以前ではDocumentFile#fromFile(File)で初期化して以降は同じように扱えるよ、ということかな。

DocumentFile | Android Developers

v7-cardview

CardViewのサポートライブラリが追加された。

Support Library Features | Android Developers

v7-cardview

RecyclerViewのサポートライブラリが追加された。

Support Library Features | Android Developers

v7-palette

画像に合う色を生成できるPaletteのサポートライブラリが追加された。

Support Library Features | Android Developers

v17-leanback

Android TV向けアプリ用のサポートライブラリが追加された。

Support Library Features | Android Developers