はじめに
今回は僕がAndroidアプリ開発においてとても便利だと感じたライブラリを紹介していきます。
1. Timber
TimberとはAndroidの通常のLogクラスの上にユーティリティを提供する、小さくて拡張可能なAPIを持つロガーです。
Android界隈では超がつくほど有名なあのJakeWhartonが作ったライブラリです。
通常Androidにおけるログは
Log.d("debug", "hogehoge")
というふうにログを出力しますが、このTimberを使うと
Timber.d("debug: hogehoge"
というふうに引数を一つ減らしてログを出力できます。
このTimberはAndroid標準のLogクラスをラップしているらしいので非常に軽量です。
またrelease版ではログを出力したくない場合もあると思いますが、それはアプリケーションクラスで
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
if(BuildConfig.Debug) {
Timber.plant(Timber.DebugTree())
}
}
}
としてあげるとrelease版ではログを出力しないでくれます。とても便利ですね。
Treeをplantしてあげるという表現、とてもおしゃれ
2.CircleImageView
ImageViewを丸くしたいということがよくあると思いますが(僕はよくある)、そんな時にCircleImageViewがとても便利です。
https://github.com/hdodenhof/CircleImageView
普段はこれを使わないと、drawableを自分で自作してあーだこーだやらなくては行けませんが、このライブラリを使うと簡単に丸いImageViewが使用できます。
使い方は特にImageViewと変わらず、xmlでCircleImageViewを書いてあげるだけ。
オリジナルのプロパティもかなりあり、ボーダーの色、ボーダーの太さ、背景色など自由にカスタマイズできます。
3.Glide
Glideは、画像読み込みライブラリです。
APIなどで受け取ったURLをそのまま使用し、画像を表示できます。
一昔前はAsyncTaskを使ったりとかなりだるかったのですが、これを知ってから画像読み込みがかなり楽になりました。
こちらも使い方はとても簡単
val imageView: ImageView = findViewById(R.id.imageView)
Glide.with(context).load(url).into(imageView)
とするだけ。
ImageViewのBindingAdapterを作ればもっと便利ですね
@BindingAdapter("imageUrl")
fun ImageView.setImageUrl(imageUrl: String?) {
imageUrl ?: return
Glide.with(context).load(imageUrl).into(this)
}
こんなBindingAdapterを作って、xml側で
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:imageUrl="@{url}"/>
こうするだけ。
あとはライブラリ側で勝手に画像を読み込んで、ImageViewに表示してくれます
まとめ
世の中には便利なライブラリがたくさんありますね。
皆さんのおすすめのライブラリがあったらぜひ教えてください。