KotlinでPicassoライブラリを使ってAndroidアプリに画像をダウンロード・表示する方法
この記事では、Android開発で人気のある画像読み込みライブラリ「Picasso」をKotlinで使用し、URLから画像をダウンロードして画面に表示する方法を、ステップごとにわかりやすく解説します。
Picassoとは?
PicassoはSquare社が提供するAndroid向け画像ダウンロード・キャッシュライブラリです。わずか数行のコードで、ネットワーク上の画像を簡単に取得してImageViewに表示できるため、多くのAndroidプロジェクトで採用されています。
手順1:プロジェクトを作成する
まず、Android Studioで新しいプロジェクトを作成します。メニューから「File → New Project」を選択し、必要な項目を入力してプロジェクトを作成してください。
次に、build.gradle(Module: app)に以下の依存関係を追加します。
implementation 'com.squareup.picasso:picasso:2.4.0'
依存関係を追加したら、「Sync Now」をクリックしてGradleの同期を行ってください。
手順2:レイアウトファイル(activity_main.xml)を編集する
res/layout/activity_main.xmlに以下のコードを追加します。画面には画像を表示するImageViewと、ダウンロードを実行するButtonを配置しています。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="4dp"
tools:context=".MainActivity">
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/btnDownload" />
<Button
android:id="@+id/btnDownload"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="Download Image"
android:textAlignment="center" />
</RelativeLayout>手順3:MainActivity.ktにコードを追加する
src/MainActivity.ktに以下のコードを記述します。ボタンがクリックされると、Picassoを使って指定したURLから画像を読み込み、ImageViewに表示します。
import android.os.Bundle
import android.widget.Button
import android.widget.ImageView
import androidx.appcompat.app.AppCompatActivity
import com.squareup.picasso.Picasso
class MainActivity : AppCompatActivity() {
lateinit var imageView: ImageView
lateinit var btnDownload: Button
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
title = "KotlinApp"
imageView = findViewById(R.id.imageView)
btnDownload = findViewById(R.id.btnDownload)
btnDownload.setOnClickListener {
Picasso.with(this)
.load("https://images.unsplash.com/photo-1555083892-97490c72c90c?ixlib=rb-1.2.1&w=1000&q=80")
.into(imageView)
}
}
}Picassoのload()メソッドに画像のURLを渡し、into()メソッドで表示先のImageViewを指定するだけで、非同期での画像ダウンロードと表示が自動的に行われます。
手順4:AndroidManifest.xmlにインターネット権限を追加する
ネットワークから画像を取得するため、androidManifest.xmlにインターネットへのアクセス権限を追加する必要があります。以下のコードを参考にしてください。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="com.example.q11">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>アプリを実行してみよう
それでは、アプリケーションを実行してみましょう。ここでは、実際のAndroidスマートフォンがパソコンに接続されているものとして説明します。
Android Studioからアプリを実行するには、プロジェクト内のアクティビティファイルを開き、ツールバーにある実行アイコンをクリックします。表示された選択肢から接続中のモバイルデバイスを選択すると、実機の画面にアプリが起動します。
アプリが起動したら「Download Image」ボタンをタップしてください。指定したURLから画像がダウンロードされ、画面に表示されます。
まとめ
Picassoを使えば、複雑なスレッド処理やキャッシュ管理を意識することなく、数行のコードで画像のダウンロードと表示を実現できます。ぜひ本記事の手順を参考に、自分のプロジェクトにも導入してみてください。
-
【Android】PicassoライブラリでURLからImageViewに画像を読み込む方法
Androidアプリ開発では、ネットワーク上の画像をImageViewに表示したい場面がよくあります。本記事では、Square社が提供する画像読み込みライブラリ「Picasso」を使用して、URLから画像を取得しImageViewに表示する方法を、手順を追ってわかりやすく解説します。Picassoとは?Picassoは、Android向けの定番画像ライブラリです。URLを指定するだけで、画像のダウンロード・キャッシュ管理・メモリ効率の最適化を自動的に行ってくれるため、わずか1行のコードで画像を表示できます。実装手順ステップ1:新規プロジェクトを作成するAndroid Studioを起動し、「F
-
Android Picassoライブラリで画像をダウンロード・表示する方法を徹底解説
Picassoは、Square社が提供するAndroid向けの定番画像読み込みライブラリです。URLを指定するだけで、画像のダウンロードからキャッシュ管理、画面への表示まで自動的に処理してくれるため、ネットワーク通信のコードを自前で書く必要がありません。本記事では、Picassoを使って画像をダウンロードし、ImageViewに表示する方法をステップごとに解説します。 ステップ1:プロジェクトの作成と依存関係の追加 まず、Android Studioで新しいプロジェクトを作成します。メニューバーから「File」→「New Project」を選択し、必要な項目を入力してプロジェクトを作成してくだ