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

Android में दूसरी एक्टिविटी से मुख्य एक्टिविटी में डेटा कैसे भेजें?

startActivityForResult से डेटा वापस भेजना

यह उदाहरण दर्शाता है कि startActivityForResult() और onActivityResult() का उपयोग करके दूसरी एक्टिविटी से मुख्य एक्टिविटी में डेटा कैसे वापस भेजें।

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

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

चरण 2: मुख्य लेआउट (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"
    android:orientation="vertical"
    android:gravity="center"
    tools:context=".MainActivity">

    <EditText
        android:id="@+id/editTextNumber1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="संख्या 1"
        android:inputType="number" />

    <EditText
        android:id="@+id/editTextNumber2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="संख्या 2"
        android:inputType="number" />

    <TextView
        android:id="@+id/textViewResult"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="परिणाम"
        android:textSize="30sp" />

    <Button
        android:id="@+id/btnOpenActivity2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="दूसरी एक्टिविटी खोलें" />

</LinearLayout>

चरण 3: MainActivity.java

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private TextView textViewResult;
    private EditText editTextNumber1, editTextNumber2;
    Button btnOpen;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textViewResult = findViewById(R.id.textViewResult);
        editTextNumber1 = findViewById(R.id.editTextNumber1);
        editTextNumber2 = findViewById(R.id.editTextNumber2);
        btnOpen = findViewById(R.id.btnOpenActivity2);

        btnOpen.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String num1Str = editTextNumber1.getText().toString();
                String num2Str = editTextNumber2.getText().toString();

                if (num1Str.isEmpty() || num2Str.isEmpty()) {
                    Toast.makeText(MainActivity.this, "कृपया दोनों संख्याएँ दर्ज करें", Toast.LENGTH_SHORT).show();
                } else {
                    int number1 = Integer.parseInt(num1Str);
                    int number2 = Integer.parseInt(num2Str);

                    Intent intent = new Intent(MainActivity.this, SecondActivity.class);
                    intent.putExtra("number1", number1);
                    intent.putExtra("number2", number2);
                    startActivityForResult(intent, 1);
                }
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 1) {
            if (resultCode == RESULT_OK && data != null) {
                int result = data.getIntExtra("result", 0);
                textViewResult.setText(String.valueOf(result));
            } else if (resultCode == RESULT_CANCELED) {
                textViewResult.setText("कुछ नहीं चुना गया");
            }
        }
    }
}

चरण 4: दूसरी एक्टिविटी का लेआउट (activity_second.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"
    android:orientation="vertical"
    android:gravity="center"
    tools:context=".SecondActivity">

    <TextView
        android:id="@+id/textViewNumbers"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="संख्याएँ: "
        android:textSize="30sp" />

    <Button
        android:id="@+id/buttonAdd"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="जोड़ें" />

    <Button
        android:id="@+id/buttonSubtract"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="घटाएं" />

</LinearLayout>

चरण 5: SecondActivity.java

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;

public class SecondActivity extends AppCompatActivity {

    TextView textViewNumber;
    Button buttonAdd, buttonSubtract;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);

        Intent intent = getIntent();
        final int number1 = intent.getIntExtra("number1", 0);
        final int number2 = intent.getIntExtra("number2", 0);

        textViewNumber = findViewById(R.id.textViewNumbers);
        textViewNumber.setText("संख्याएँ: " + number1 + ", " + number2);

        buttonAdd = findViewById(R.id.buttonAdd);
        buttonSubtract = findViewById(R.id.buttonSubtract);

        buttonAdd.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int result = number1 + number2;
                Intent resultIntent = new Intent();
                resultIntent.putExtra("result", result);
                setResult(RESULT_OK, resultIntent);
                finish();
            }
        });

        buttonSubtract.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int result = number1 - number2;
                Intent resultIntent = new Intent();
                resultIntent.putExtra("result", result);
                setResult(RESULT_OK, resultIntent);
                finish();
            }
        });
    }
}

चरण 6: AndroidManifest.xml में दोनों एक्टिविटी रजिस्टर करें

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="com.example.activityresult">

    <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=".SecondActivity" />
        <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 दबाएं, दो संख्याएँ दर्ज करें, "दूसरी एक्टिविटी खोलें" दबाएं, फिर जोड़ें या घटाएं चुनकर परिणाम वापस प्राप्त करें।

Android में दूसरी एक्टिविटी से मुख्य एक्टिविटी में डेटा कैसे भेजें?

Android में दूसरी एक्टिविटी से मुख्य एक्टिविटी में डेटा कैसे भेजें?

Android में दूसरी एक्टिविटी से मुख्य एक्टिविटी में डेटा कैसे भेजें?

  1. Android में ऐप भाषा प्रोग्रामेटिकली कैसे बदलें? Android में ऐप भाषा प्रोग्रामेटिकली कैसे बदलें?

    यह उदाहरण दर्शाता है कि Android ऐप की भाषा को रनटाइम में प्रोग्रामेटिकली कैसे बदला जाए Configuration और Locale का उपयोग करके। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में नया प्रोजेक्ट बनाएं। चरण 2: लेआउट XML res/layout/activity_main.xml - स्ट्रिंग रिसोर्स से टेक्स्ट: <?xml version=1.0 encodin

  1. Android में GPS प्रोग्रामेटिकली कैसे इनेबल/डिसेबल करें? Android में GPS प्रोग्रामेटिकली कैसे इनेबल/डिसेबल करें?

    यह उदाहरण दर्शाता है कि Android में GPS लोकेशन सर्विस की स्थिति कैसे जांची जाए और यूजर को सेटिंग्स स्क्रीन पर भेजकर उसे इनेबल/डिसेबल करने के लिए कैसे प्रेरित किया जाए। ⚠️ महत्वपूर्ण: सुरक्षा कारणों से Android ऐप्स को सीधे GPS ऑन/ऑफ करने की अनुमति नहीं देता (Android 2.3+ से)। ऐप केवल यूजर को लोकेशन

  1. एंड्रॉइड में फाइल अटैचमेंट के साथ ईमेल कैसे भेजें? एंड्रॉइड में फाइल अटैचमेंट के साथ ईमेल कैसे भेजें?

    एंड्रॉइड में इंटेंट का उपयोग करके ईमेल भेजना यह ट्यूटोरियल दर्शाता है कि कैसे एक ईमेल कंपोजर बनाएं जिसमें प्राप्तकर्ता, विषय, संदेश और फाइल अटैचमेंट शामिल हों, फिर डिवाइस पर इंस्टॉल ईमेल ऐप्स का उपयोग करके भेजें। आवश्यक अनुमतियाँ <uses-permission android:name=android.permission.INTERNET /> &l