以前の投稿(イマドキなイカした Android のオープンソースライブラリ集)から一年以上経過し、様々なライブラリが継続して開発されている中、どんどん便利なものが増えてきていますので、改めてそれらを纏めて見てみたいと思います。
プログラミング・パラダイムに関するもの
Google が公式に Square, Inc. の Dagger をフォークし、リフレクションを排してパフォーマンスを上げたもの。より静的に DI をする方向に持って行っています。
リアクティブプログラミングを Java に持ち込むためのライブラリ。
デバッグ用途に使うもの
デバッグ時に便利な各種のパラメータを NavigationDrawer に詰め込んで、デバッグビルドのアプリで操作できるようにすることで、様々な環境下でのテストが簡単になります。通信周りは、強制的にエラーを発生させたり、遅延を発生させたりが簡単にできるので、例外のハンドリングがきちんと出来ているかが気楽にテストできます。
アプリに組み込むものではありませんが、apk をバラして中に何があるかをする必要がなく、AndroidManifest や各パッケージに含まれるプログラムをこのツール内でデコンパイル出来ます。
アプリケーションのプロセスを再起動するのに役立ちます。
クラッシュを解析するために必要な情報をまとめて Json にしてくれます。
各種のバックポート
ラムダ記法を古いジャバでも使えるようにするものです。勿論、Android でも使えます。
日付 API の標準 JSR310 もまた、新しいジャバで導入されたものです。これをバックポートするライブラリが ThreeTenBP ですが、Android 向けに最適化されたものが ThreeTenABP です。
View
いっぱいあります。本当に。
アニメーション
Fluent な API で、簡単にアニメーションの記述ができます。
Twitter のいいねのようなアニメーションをあなたに。
カスタムビュー
xx時間前、xx日前、のような表示を簡単に組み込むことが出来ます。
マテリアルデザインにおけるスクロールバーをバックポートしてくれます。
アプリの紹介をかっこ良く!
吹き出しが作れます。
決まった数のワークフローがあるようなときに、今どの段階に来ているかを簡単に表示するためのViewです。
FlowLayout を Android でも!
リアルなクレジットカードをベースにした、クレジットカード情報の入力画面が簡単に作れます。
ビルドに関するもの
Gradle の各種タスクそれぞれでどのくらい時間が費やされたかを図ってくれます。これを元に、ビルド時間の改善をすべき箇所が特定できそうですね。