Android
 Computer >> コンピューター >  >> プログラミング >> Android

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を使えば、複雑なスレッド処理やキャッシュ管理を意識することなく、数行のコードで画像のダウンロードと表示を実現できます。ぜひ本記事の手順を参考に、自分のプロジェクトにも導入してみてください。

  1. 【Android】PicassoライブラリでURLからImageViewに画像を読み込む方法

    Androidアプリ開発では、ネットワーク上の画像をImageViewに表示したい場面がよくあります。本記事では、Square社が提供する画像読み込みライブラリ「Picasso」を使用して、URLから画像を取得しImageViewに表示する方法を、手順を追ってわかりやすく解説します。Picassoとは?Picassoは、Android向けの定番画像ライブラリです。URLを指定するだけで、画像のダウンロード・キャッシュ管理・メモリ効率の最適化を自動的に行ってくれるため、わずか1行のコードで画像を表示できます。実装手順ステップ1:新規プロジェクトを作成するAndroid Studioを起動し、「F

  2. Android Picassoライブラリで画像をダウンロード・表示する方法を徹底解説

    Picassoは、Square社が提供するAndroid向けの定番画像読み込みライブラリです。URLを指定するだけで、画像のダウンロードからキャッシュ管理、画面への表示まで自動的に処理してくれるため、ネットワーク通信のコードを自前で書く必要がありません。本記事では、Picassoを使って画像をダウンロードし、ImageViewに表示する方法をステップごとに解説します。 ステップ1:プロジェクトの作成と依存関係の追加 まず、Android Studioで新しいプロジェクトを作成します。メニューバーから「File」→「New Project」を選択し、必要な項目を入力してプロジェクトを作成してくだ