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

অ্যান্ড্রয়েডে IntentService শেষ হলে অ্যাক্টিভিটি রিফ্রেশ করার পদ্ধতি

IntentService শেষ হলে অ্যাক্টিভিটি আপডেট করা

Intent Service ব্যাকগ্রাউন্ডে অ্যাসিঙ্ক্রোনাস কাজ করে। এই উদাহরণটি দেখায় কীভাবে IntentService কাজ শেষ হলে LocalBroadcastManager ব্যবহার করে অ্যাক্টিভিটি রিফ্রেশ করা যায়।

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

Android Studio-তে File → New Project-এ যান এবং প্রজেক্ট তৈরি করুন।

ধাপ ২: লেআউট ফাইলে কোড যোগ করুন

res/layout/activity_main.xml ফাইলে নিচের কোড যোগ করুন:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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"
    tools:context=".MainActivity">
    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="সার্ভিস শুরু করুন"
        android:textSize="25sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

ধাপ ৩: MainActivity.java-তে কোড যোগ করুন

package com.example.andy.myapplication;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;

public class MainActivity extends AppCompatActivity {
    TextView text;
    BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String value = intent.getStringExtra("someName");
            text.setText(value);
        }
    };

    @Override
    protected void onStart() {
        super.onStart();
        IntentFilter filter = new IntentFilter("com.example.andy.myapplication");
        LocalBroadcastManager.getInstance(this).registerReceiver(broadcastReceiver, filter);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        text = findViewById(R.id.text);
        text.setOnClickListener(v -> startService(new Intent(MainActivity.this, MyService.class)));
    }

    @Override
    protected void onStop() {
        super.onStop();
        LocalBroadcastManager.getInstance(this).unregisterReceiver(broadcastReceiver);
    }
}

ধাপ ৪: Service ক্লাস তৈরি করুন

package com.example.andy.myapplication;

import android.app.IntentService;
import android.content.Intent;
import android.os.IBinder;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;

public class MyService extends IntentService {
    public MyService() {
        super(MyService.class.getSimpleName());
    }

    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    @Override
    protected void onHandleIntent(Intent intent) {
        Intent broadcastIntent = new Intent("com.example.andy.myapplication");
        broadcastIntent.putExtra("someName", "Tutorialspoint.com");
        LocalBroadcastManager.getInstance(this).sendBroadcast(broadcastIntent);
        stopSelf();
    }
}

ধাপ ৫: Manifest-এ সার্ভিস ডিক্লেয়ার করুন

<service android:name=".MyService" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

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

অ্যাপটি চালান। "সার্ভিস শুরু করুন" ক্লিক করলে সার্ভিস শুরু হবে, কাজ শেষ হলে ব্রডকাস্ট পাঠাবে এবং অ্যাক্টিভিটির টেক্সট "Tutorialspoint.com"-এ আপডেট হবে।

  1. নোটিফিকেশন ক্লিক করলে Android অ্যাক্টিভিটি শুরু করা

  2. অ্যান্ড্রয়েড অ্যাপে onDestroy() মেথড কল করার পদ্ধতি

  3. অ্যান্ড্রয়েড এক্টিভিটিতে ব্যাক বাটন হ্যান্ডল করার পদ্ধতি

  4. এন্ড্রয়েডে অ্যাক্টিভিটি রিস্টার্ট করার পদ্ধতি