イマドキなイカした Android のオープンソースライブラリ集

  • 1296
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

今から Android やるならチェックしておきたい、厳選イカしたオープンソースライブラリ一覧。

support-v4 や support-v7-appcompat などは公式のものなので割愛。

開発環境

Android SDK

公式からダウンロードしてポチポチとチェックを入れてはダウンロードして…が面倒くさいならコレ。
シェルからコマンド一発でダウンロード出来るので、CI で使うのにも便利。

AndroidStudio および IntelliJ 用のプラグインで、IDE から ADB コマンドを簡単に利用できるようにするためのもの。メニューから選択してコマンドを実行できるようにしてくれる。

コード最適化

DI コンテナ

square 社の Android および Java 向け DI コンテナ。
javax.inject.Inject アノテーションを使う。
コンパイル時にコードを生成する。

Android 向け DI コンテナ。
javax.inject.Inject アノテーションを使う。
実行時にインスタンスを注入する。

View のインジェクションに特化している。

Google が提供する Guice の Android 向けラッパー。
javax.inject.Inject アノテーションを使う他、独自にインジェクション用のアノテーションも提供している。

View の生成

アノテーションを用いてカスタムビューのコードを整理できる。
ビューがインフレートされた後に実行したい処理をアノテーションで示すことも出来る。

リソース

文字列リソースのフォーマットをよりリーダブルに、かつデバッガブルにするためのライブラリ。
文字列リソースのフォーマットに関するプログラミングのエラーが、ランタイムではなくコンパイル時に判明するようになる。

ユーティリティ

アノテーションを使って、コンパイル時にコードを自動生成させることで、プログラマの書くコード量を減らすライブラリ。
DI コンテナとして、View やシステムサービス、リソース、Intent に含まれる Extra を注入することが出来る他、メソッドがメインスレッドで実行されるかバックグラウンドスレッドで実行されるかも制御できる。

Apache Commons のような Commons ライブラリで、Android 用。
Context#getSystemService(String) のラッパーや、各種 Manager 類のラッパーがある。

Apache Commons のような Commons ライブラリ。
Java 向けに各種のユーティリティが取り揃えられている。

機種依存解決

機種ごとの依存を吸収する為のライブラリ。

モジュール化

非同期な処理をモジュール化する為のライブラリ。

UI コンポーネント

Pull to refresh

引っ張ると ActionBar に更新の表示が出る UI コンポーネント。

Twitter スタイルの引っ張り更新の UI コンポーネント。
現在メンテは終了しており、使うのであれば、上記の ActionBar PullToRefresh を使うほうが良い。

ActionBar

ActionBar にフェードアウト効果を適用するためのライブラリ。

ActionBar に透かし窓のような効果を適用するためのライブラリ。

WebView

KitKat で導入された、Chromium エンジンの WebView のバックポートライブラリ。
これを使えば、OS バージョンや機種ごとの WebKit の実装依存問題が解決できるかもしれない。

Text・Font

TextView 上に絵文字を表示するためのライブラリ。

ionicons.com で提供されているアイコンを View に表示可能にするライブラリ。

FontAwesome の各種フォントをアプリ内で使えるようにするライブラリ。

カスタムフォントを容易に扱えるようにしてくれるライブラリ。

Calendar

カレンダーのコンテンツを保持する DB とセットで、イベントを表示できるカレンダー View を提供してくれるライブラリ。

Google 公式のカレンダーアプリからのバックポート。

エフェクト

Bitmap にブラーのエフェクトをかける。

iOS 向けに作られていた GPU Image の Android 移植版。

通知

Toast を拡張して、ボタンを置いたり見た目を少し変えたりすることが出来るようになるライブラリ。

標準の Toast の代替として、Context に依存してカスタム可能な Toast を提供する。

レイアウト

画像の上に View を配置するための特別なレイアウトコンポーネント。
独自の座標系を持って管理している。

ListView・GridView

Instagram のような、ListView のスクロールに追従してくるヘッダを提供する。

上記ライブラリの GridView 版。

高さの異なるグリッドを扱える。

AdapterView の行を追加したときのアニメーションを実現するヘルパライブラリ。

List のドラッグ・アンド・ドロップを実現するライブラリ。

ViewPager

スワイプ時のアニメーションをカスタマイズできる。

ViewPager に追随して位置表示する View。

Dialog

ダイアログにテーマでスタイルを適用出来るようにするためのライブラリ。

ImageView

画像をくり抜いて、様々な形に出来る ImageView。

角丸の ImageView を作れるライブラリ。

画像の拡大縮小機能を持つ ImageView。

チャート

Holo スタイルのグラフ・チャートを作るライブラリ。

こちらも、グラフ・チャートを作るライブラリ。

Interaction

View をスワイプして消す操作を実現するライブラリ。

Gmail のように、行をスワイプすることで削除を実行するインタラクションを実現でき、かつ、Undo の機能も有する ListView の拡張。

その他

Google Play Music のように、下からせり出してくるパネルを表示するライブラリ。

カード UI を構築するためのライブラリセット。

ぐるぐる回るプログレスバーをカスタマイズするライブラリ。

FontAwesome と共に Bootstrap スタイルのボタン類を使えるようにするライブラリ。

Path みたいなメニューを構築するライブラリ。

API 11 から登場したアニメーションフレームワークをバックポートするライブラリ。

Holo テーマのバックポートライブラリ。

色を選択する View のライブラリ。

入力のバリデーションのためのライブラリ。

Gif アニメーションを再生可能な View のライブラリ。

シリアライズ

Json

リフレクションによってマッピングするライブラリ。

超高速にシリアライズ・デシリアライズできるライブラリ。

データベース

ORM

グリーンだよ!いいんだよ!

スキーマ、エンティティをそれぞれ定義するクラスを使ってマッピングする。

エンティティクラスの宣言にアノテーションを付けてマッピングする。

イベントバス

使い方はこちら

Guava ベースの Android 向け軽量イベントバス。

otto より機能的に拡張のあるイベントバス。

デバッグ支援

View

View の階層構造を 3D 表示するためのツール。

リソース

Bitmap がオリジナルのサイズで表示されているかどうかを一目見て分かるようにする。

クラッシュログ

Native コードのエラーハンドリングとして、SIGSEGV などを検出して Java の例外を生成してくれる。
これによって、Google Play などで拾いきれなかったクラッシュのログを収集できるようになる。

ログ出力

アノテーションによるメソッドコールのロギングライブラリ。

ログ収集だけでなく、apk の配布までも楽ちんにしてくれるサービス。
sdk を組み込めばかなりのことが Web コンソール上で出来る。

画像

画像読み込み・キャッシュ

各種設定に基いて画像の読み込み・キャッシュ・表示をしてくれるライブラリ。

メソッドチェーンによる画像読み込み・キャッシュ・表示の為のライブラリ。

加工

画像の切り抜きをサポートするライブラリ。

ハイブリッドアプリケーション開発

ネイティブ実装をベースに、JavaScriptInterface と連携してハイブリッドアプリケーションを開発するフレームワーク。

テスト

テストユーティリティ

Android のテストに FEST を導入できる。

Android のテストの高速化

UI のテストを Selenium のようにかける、かつ Android フレームワークが持つ UI テストフレームワークを拡張している。

モック

いろんなものをモックするためのライブラリ。

ActiveAndroid 向けのフィクスチャライブラリ。

通信

REST

REST クライアントを簡単に生成するためのライブラリ。

Http通信・SPDY

http(s) 通信 と SPDY に対応したクライアント。

通信処理をいろいろ便利にしてくれるユーティリティ。

ビルドスクリプト

Gradle

ビルドスクリプトのユーティリティ集。

Maven Repository に aar な成果物を push するヘルパ。

Gradle で Android のテストを実行するためのヘルパプラグイン。

その他便利系

アップデートチェック

アップデートがあった時にダイアログを出す。

レビュー

レビューを促すダイアログを出す。

Job Queue

優先度付きのジョブキュー

IntentService によるジョブキューの仕組み。
詳しくはこちら

SharedPreferences

SharedPreferences のラッパー。