কম্পিউটার টিউটোরিয়াল

অ্যান্ড্রয়েডে URL দিয়ে ImageView-এ ছবি লোড করার পদ্ধতি


ভূমিকা

এই উদাহরণটি দেখাবে কিভাবে ইন্টারনেট থেকে একটি URL ব্যবহার করে অ্যান্ড্রয়েড অ্যাপে ImageView-এ ছবি লোড করতে হয়।

ধাপ ১: নতুন প্রজেক্ট তৈরি করুন

Android Studio-তে File → New Project এ গিয়ে প্রয়োজনীয় বিবরণ দিয়ে একটি নতুন প্রজেক্ট তৈরি করুন।

ধাপ ২: লেআউট ফাইল (res/layout/activity_main.xml)

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android" 
    xmlns:app="https://schemas.android.com/apk/res-auto" 
    xmlns:tools="https://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_margin="16dp" 
    android:orientation="vertical" 
    tools:context=".MainActivity"> 
    <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Load Image From URL in Android ImageView" 
        android:textSize="20sp" /> 
    <ImageView 
        android:id="@+id/image_view" 
        android:layout_width="fill_parent" 
        android:layout_height="300dp" 
        android:layout_marginTop="16dp" /> 
    <TextView 
        android:layout_width="fill_parent" 
        android:layout_height="match_parent" 
        android:text="ViralAndroid.com" 
        android:textSize="24sp" 
        android:gravity="center|bottom" 
        android:textStyle="bold" /> 
</LinearLayout>

ধাপ ৩: মেইন এক্টিভিটি কোড (src/MainActivity.java)

package com.example.sample; 

import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.os.AsyncTask; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.util.Log; 
import android.widget.ImageView; 
import android.widget.Toast; 
import java.io.InputStream; 

public class MainActivity extends AppCompatActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 
        
        // ইন্টারনেট থেকে ছবির লিংক
        new DownloadImageFromInternet((ImageView) findViewById(R.id.image_view))
            .execute("https://pbs.twimg.com/profile_images/630285593268752384/iD1MkFQ0.png"); 
    } 

    private class DownloadImageFromInternet extends AsyncTask<String, Void, Bitmap> { 
        ImageView imageView; 

        public DownloadImageFromInternet(ImageView imageView) { 
            this.imageView = imageView; 
            Toast.makeText(getApplicationContext(), "অনুগ্রহ করে অপেক্ষা করুন, কিছুক্ষণ লাগতে পারে...", Toast.LENGTH_SHORT).show(); 
        } 

        protected Bitmap doInBackground(String... urls) { 
            String imageURL = urls[0]; 
            Bitmap bimage = null; 
            try { 
                InputStream in = new java.net.URL(imageURL).openStream(); 
                bimage = BitmapFactory.decodeStream(in); 
            } catch (Exception e) { 
                Log.e("Error Message", e.getMessage()); 
                e.printStackTrace(); 
            } 
            return bimage; 
        } 

        protected void onPostExecute(Bitmap result) { 
            imageView.setImageBitmap(result); 
        } 
    } 
}

ধাপ ৪: স্ট্রিং রিসোর্স (res/values/strings.xml)

<resources> 
    <string name="app_name">Sample</string> 
    <string name="hello_world">Hello world!</string> 
    <string name="action_settings">Settings</string> 
</resources>

ধাপ ৫: ইন্টারনেট পারমিশন (AndroidManifest.xml)

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="com.example.sample"> 
    <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>

অ্যাপ্লিকেশন চালান

ডিভাইস সংযুক্ত থাকলে Run আইকনে ক্লিক করে অ্যাপটি চালান। এটি ইন্টারনেট থেকে ছবি ডাউনলোড করে ImageView-এ দেখাবে।


  1. অ্যান্ড্রয়েডে দুটি ছবি ওভারলে (Overlay) করে ImageView-এ দেখানো

  2. অ্যান্ড্রয়েডে ছবি সুস্পষ্টভাবে ঘুরানো (Smooth Image Rotation)

  3. Android-এ URL এনকোড করার পদ্ধতি

  4. Android-এ Glide ব্যবহার করে অ্যানিমেটেড GIF ছবি প্রদর্শন করা