Edited at

DroidKaigi2016メモ:Support Library総復習

More than 1 year has passed since last update.

公式のスライドが出るまでの参考にどうぞ


発表者


Support Libraryの復習


  • 後方互換性を確保

  • Support Libraryは現在18個

  • 新しいOSのバージョンアップとともに増えていく傾向

  • なぜSupport Libraryが必要か?


    • 異なるAPIレベルでアプリを実装するために必要

    • 参考) JellyBean, KitKat, Lolipopはほぼ同程度のシェアで存在している




今日話さないこと


  • Testing周り

  • Data Binding周り


V series


v4 Support Library


  • Android 1.6 ~

  • たくさんAPIを持っている

  • Nested Scrooll View

  • Design Support Libraryの中で最近存在感を発揮


v7 Support Library


  • Android 2.1 ~

  • v7-appcompat


    • v4-supportに依存

    • マテリアルデザインのためのSupport Library



  • v7-recyclerview


    • CalendarView

    • やっぱカレンダーはどこでもRecylerViewで作るらしい



  • gridlayout


    • そこまで凝ったグリッドレイアウトでなればこちらで十分



  • mediarouter


    • chromecastを使うとき使う




v8 Support Library


  • RenderScriptをサポートするためのライブラリ

  • GPUを使った高速描画を実現する


v13 Support Library


  • Android 3.2 ~

  • android.app.Fragmentの中でViewPagerを使うためのライブラリ


v14 Support Library


  • android.app.Fragmentの中でPreferenceFragmentを使うためのライブラリ


v17 Support Library


  • android TVのインターフェース用のライブラリ?


v17 Leanback Library


  • android TVのインターフェース用のライブラリ

  • android TV用のThemeが入ってる

  • v4-support, v7-recyclerviewに依存


Speciality series


Multidex Support Library


  • メソッドの数制限

  • v21未満でのビルドに時間が掛かることが公式でも周知されている
    #### Annotation Support Library


  • @NotNull


    • nullがセットされたときに教えてくれる



  • @StringRes

  • ...


Design Support Library


  • FloatingActionButton

  • NavigationView

  • Snackbar

  • 新しいデザインパターン


    • CoordinatorLayout, AppBarLayout, NestedScrollView, FloatingActionButton

    • etc...




Custom Tabs Support Library


  • アプリの中にChromeの機能(セッション情報など)を組み込むことができる


Percent Support Library


  • レイアウトファイルを%指定で組むことが可能

  • FrameLayout -> PercentFrameLayout

  • LinearLayout -> PerccentLinearLayout


Recommendation Support Library


  • Android TV のホーム画面におすすめのコンテンツを表示する領域がある

  • これを作るためののライブラリ


まとめ


  • v4, v7 support libraryを使いこなそう

  • 必要に応じてspeciality seriesを組み込んでいこう