Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

Android में JSON ऑब्जेक्ट को ग्लोबल कॉन्टेक्स्ट के साथ सिंगलटन में स्टोर कैसे करें?

सिंगलटन पैटर्न और JSON स्टोरेज

सिंगलटन पैटर्न किसी क्लास को केवल एक इंस्टेंस तक सीमित करता है। इस उदाहरण में हम JSON ऑब्जेक्ट को सिंगलटन में स्टोर करेंगे और ग्लोबल कॉन्टेक्स्ट का उपयोग करके टोस्ट में दिखाएंगे।

उदाहरण: JSON ऑब्जेक्ट सिंगलटन स्टोरेज

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project चुनें।

चरण 2: लेआउट फ़ाइल (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>

चरण 3: 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();
            }
        });
    }
}

चरण 4: सिंगलटन क्लास (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 json) {
        this.jsonData = json;
    }

    public String getJSON() {
        return jsonData != null ? jsonData.toString() : "कोई डेटा नहीं";
    }
}

ऐप चलाएं

ऐप लॉन्च करें और "सिंगलटन में JSON सेव करें" बटन दबाएं। टोस्ट में ग्लोबल कॉन्टेक्स्ट का उपयोग करके स्टोर किया गया JSON ऑब्जेक्ट दिखाई देगा।

मुख्य बिंदु

  • सिंगलटन में JSON ऑब्जेक्ट स्टोर करके ऐप-वाइड उपलब्ध कराया जाता है
  • ग्लोबल कॉन्टेक्स्ट (getApplicationContext()) मेमोरी लीक रोकता है
  • synchronized getInstance() थ्रेड-सेफ एक्सेस सुनिश्चित करता है
  • JSON डेटा को toString() से स्ट्रिंग में बदलकर प्रदर्शित किया जाता है
  • उपयोग केस: API रिस्पॉन्स कैशिंग, कॉन्फिगरेशन डेटा, यूज़र प्रोफाइल आदि
  1. Android में JSON कैसे पार्स करें? Android में JSON कैसे पार्स करें?

    Android में JSONObject से सरल JSON पार्स करने का गाइड यह ट्यूटोरियल दिखाता है कि कैसे एक JSON स्ट्रिंग से JSONObject बनाकर नेस्टेड ऑब्जेक्ट्स से मान निकाले जाएं। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनकर नया प्रोजेक्ट बनाएं। चरण 2: लेआउट फ़ाइल में कोड जोड़ें res/layout

  1. Android में ग्लोबल वेरिएबल कैसे घोषित करें? Android में ग्लोबल वेरिएबल कैसे घोषित करें?

    सिंगलटन पैटर्न से ग्लोबल वेरिएबल Android में ग्लोबल वेरिएबल के लिए सिंगलटन क्लास पैटर्न का उपयोग करना सर्वोत्तम अभ्यास है। यह उदाहरण दर्शाता है कि एक सिंगलटन क्लास बनाकर पूरे ऐप में डेटा कैसे साझा करें। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनें। चरण 2: लेआउट (activity_

  1. एंड्रॉइड में JSON एरे को कैसे इटरेट करें एंड्रॉइड में JSON एरे को कैसे इटरेट करें

    org.json लाइब्रेरी का उपयोग करके JSON एरे पार्स करना और इटरेट करना एंड्रॉइड में बिल्ट-इन org.json पैकेज (JSONArray, JSONObject) का उपयोग करके JSON डेटा पार्स किया जा सकता है। यह उदाहरण एक JSON स्ट्रिंग से एरे निकालकर उसे लूप के माध्यम से प्रोसेस करना दिखाता है। चरण 1: नया प्रोजेक्ट बनाएं Android St