LoginSignup
44
56

More than 3 years have passed since last update.

Androidアプリ開発における便利なライブラリたち

Last updated at Posted at 2021-01-11

はじめに

今回は僕が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に表示してくれます

まとめ

世の中には便利なライブラリがたくさんありますね。
皆さんのおすすめのライブラリがあったらぜひ教えてください。

44
56
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
44
56