Help us understand the problem. What is going on with this article?

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

はじめに

今回は僕がAndroidアプリ開発においてとても便利だと感じたライブラリを紹介していきます。

1. Timber

TimberとはAndroidの通常のLogクラスの上にユーティリティを提供する、小さくて拡張可能なAPIを持つロガーです。

Android界隈では超がつくほど有名なあのJakeWhartonが作ったライブラリです。

通常Andriodにおけるログは

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に表示してくれます

まとめ

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

dosukoi_android
アルサーガパートナーズ㈱ Androidエンジニア 最近はCIばっかやってます
https://github.com/Naoki-Hidaka
arsagapartners
最高品質を最速で。 業務未経験でも最速最高の成長を!
https://www.arsaga.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away