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

অ্যান্ড্রয়েডে সিঙ্গলটন ইনস্ট্যান্স ক্লিয়ার করা

উদাহরণের আগে জানা দরকার সিঙ্গলটন ডিজাইন প্যাটার্ন কী। সিঙ্গলটন হলো একটি ডিজাইন প্যাটার্ন যা একটি ক্লাসের ইনস্ট্যানশনকে শুধু একটি ইন্সট্যান্সে সীমাবদ্ধ করে। উল্লেখযোগ্য ব্যবহারগুলোর মধ্যে রয়েছে কনকারেন্সি নিয়ন্ত্রণ এবং অ্যাপ্লিকেশনের ডেটা স্টোর অ্যাক্সেস করার জন্য একটি কেন্দ্রীয় পয়েন্ট তৈরি করা।

এই উদাহরণটি দেখায় কীভাবে অ্যান্ড্রয়েডে সিঙ্গলটন ইনস্ট্যান্স ক্লিয়ার করা যায়।

প্রয়োজনীয় ধাপসমূহ

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

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

ধাপ ২: লেআউট ফাইলে Button যোগ করুন (res/layout/activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    tools:context=".MainActivity"
    android:orientation="vertical">

    <Button
        android:id="@+id/show"
        android:text="Clear Instance in Singleton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

ধাপ ৩: MainActivity.java-এ লজিক বাস্তবায়ন করুন

package com.example.andy.myapplication;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import org.json.JSONException;
import org.json.JSONObject;

public class MainActivity extends AppCompatActivity {
    Button show;
    JSONObject jsonObject;
    SingleTonExample singletonExample;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        show = findViewById(R.id.show);
        singletonExample = SingleTonExample.getInstance();
        singletonExample.init(getApplicationContext());
        
        show.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                singletonExample.clearInstance();
                Toast.makeText(MainActivity.this, "Removed Singleton Instance", Toast.LENGTH_LONG).show();
            }
        });
    }
}

ধাপ ৪: SingleTonExample.java-এ clearInstance() মেথড বাস্তবায়ন করুন

package com.example.andy.myapplication;

import android.app.Dialog;
import android.content.Context;
import android.view.Window;
import org.json.JSONObject;
import java.util.Arrays;

public class SingleTonExample {
    private Context appContext;
    private Dialog dialog;
    JSONObject i1;
    
    private static SingleTonExample ourInstance = new SingleTonExample();

    public void init(Context context) {
        if (appContext == null) {
            this.appContext = context;
        }
    }

    private Context getContext() {
        return appContext;
    }

    public static Context get() {
        return getInstance().getContext();
    }

    public static synchronized SingleTonExample getInstance() {
        return ourInstance;
    }

    private SingleTonExample() { }

    public void clearInstance() {
        ourInstance = null;
    }
}

গুরুত্বপূর্ণ সতর্কতা

⚠️ সতর্কতা: ourInstance = null সেট করার পরপর getInstance() কল করলে NullPointerException হবে। এই পদ্ধতি সাধারণত প্রস্তাবিত হয় না। বরং:
  • Map/List ক্লিয়ার করুন: map.clear()
  • রিসেট মেথড তৈরি করুন: reset()
  • বিল্ডার প্যাটার্ন ব্যবহার করুন

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

আপনার অ্যান্ড্রয়েড ডিভাইস কম্পিউটারের সাথে সংযুক্ত করুন। Android Studio-তে প্রজেক্টের অ্যাক্টিভিটি ফাইল খুলুন এবং টুলবার থেকে Run আইকনে ক্লিক করুন। আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং আউটপুট দেখুন।

অ্যান্ড্রয়েডে সিঙ্গলটন ইনস্ট্যান্স ক্লিয়ার করা

উপরের বাটনে ক্লিক করলে ইনস্ট্যান্স ক্লিয়ার হবে এবং Toast দেখাবে:

অ্যান্ড্রয়েডে সিঙ্গলটন ইনস্ট্যান্স ক্লিয়ার করা

  1. কিছু সেকেন্ড পর Android নোটিফিকেশন স্বয়ংক্রিয়ভাবে মুছে ফেলা

  2. নোটিফিকেশন ক্লিক করলে স্বয়ংক্রিয় মুছে যাওয়া (AutoCancel)

  3. Android Cache ক্লিয়ার করার দ্রুত ও নিরাপদ গাইড

  4. অ্যান্ড্রয়েডে ক্যাশে ক্লিয়ার করার ধাপে ধাপে গাইড: দ্রুত পারফরম্যান্সের জন্য