0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Android】画像読み込み時にヘッダー情報を付与する方法 by Picasso

Last updated at Posted at 2022-12-11

はじめに

画像を非同期で読み込むライブラリは複数ありますよね。
最近はコルーチンを利用したcoilがよく使われている認識ですが、Picassoやglideもまだまだ現役かと思います。
そんな中でも今回はPicassoに関して、OkHttpライブラリと組み合わせて画像取得時に認証情報などのヘッダー情報を付与する方法を簡単にまとめたいと思います。

ヘッダー情報を付与する方法

実装としては以下になります。

override fun onViewCreated(
   view: View,
   savedInstanceState: Bundle?
) {
   val builder = OkHttpClient.Builder()
      .authenticator { route, response ->
         response.request.newBuilder()
                                        // 任意のヘッダー情報を設定してください
            .addHeader(
               "AUTHORIZATION_NAME",
               "AUTHORIZATION_NAME_VALUE"
            ).build()
         }.build()

   val downloader = OkHttp3Downloader(builder)
   val picasso = Picasso.Builder(requireContext())
      .downloader(downloader)
      .build()
}

以上になります、上記で作成したpicassoオブジェクトを使用することで、事前に設定したヘッダー情報を使用して画像を取得する処理が走ります。
ちなみに今回はサンプルの為onViewCreated内で実装していますが、プロジェクトにあった形で定義していただければと思います。
また、ログを出したい場合はbuilderに対してHttpLoggingInterceptorを設定することで、表示可能です。

さいごに

okhttpライブラリや画像を非同期で読み込むライブラリなどはもはや必須とも呼べるライブラリですよね。
それぞれの設定などで覚えておくと便利な実装は他にもありますので、需要があるようであれば今後も記事にしていきたいと思います。

0
0
1

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?