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

অ্যান্ড্রয়েডে গ্লোবাল কনটেক্সট সহ JSON অবজেক্ট সিঙ্গলটনে কীভাবে সংরক্ষণ করবেন?

সিঙ্গলটন প্যাটার্ন ও JSON ডেটা হ্যান্ডলিং

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

প্রজেক্ট সেটআপ

Android Studio-তে নতুন প্রজেক্ট তৈরি করুন।

ধাপ ১: লেআউট (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="সিঙ্গলটনে JSON সংরক্ষণ করুন"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

ধাপ ২: MainActivity.java

package com.example.jsonsingleton;

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;

    {
        try {
            jsonObject = new JSONObject("{\"balance\": 1000.21, \"num\": 100, \"is_vip\": true, \"name\": \"foo\"}");
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

    @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.storeJson(jsonObject);
                Toast.makeText(SingleTonExample.get(), singletonExample.getJSON(), Toast.LENGTH_LONG).show();
            }
        });
    }
}

ধাপ ৩: সিঙ্গলটন ক্লাস (SingleTonExample.java)

package com.example.jsonsingleton;

import android.content.Context;
import org.json.JSONObject;

public class SingleTonExample {
    private Context appContext;
    private JSONObject jsonData;
    private static final 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 storeJson(JSONObject jsonObject) {
        this.jsonData = jsonObject;
    }

    public String getJSON() {
        return jsonData != null ? jsonData.toString() : "JSON ডেটা নেই";
    }
}

পরিচালনা

অ্যাপ্লিকেশন চালান। বাটনে ক্লিক করলে JSON অবজেক্ট সিঙ্গলটনে সংরক্ষিত হবে এবং গ্লোবাল কনটেক্সট ব্যবহার করে টোস্টে দেখাবে।

  1. অ্যান্ড্রয়েডে গ্লোবাল ভেরিয়েবল ঘোষণা করার পদ্ধতি

  2. অ্যান্ড্রয়েডে JSON পার্স করার সহজ পদ্ধতি

  3. Android-এ গ্লোবাল ভেরিয়েবল ডিক্লেয়ার করার পদ্ধতি (Singleton Pattern)

  4. অ্যান্ড্রয়েডে JSON অ্যারে ইটারেট করার পদ্ধতি