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

অ্যান্ড্রয়েডে পূর্বের এক্টিভিটিতে ডেটা ফেরত পাঠান


startActivityForResult দিয়ে ডেটা রিটার্ন করা

যদি একটি এক্টিভিটি অন্য এক্টিভিটি থেকে ডেটা পেতে চায়, তবে `startActivityForResult()` এবং `onActivityResult()` ব্যবহার করতে হয়।

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

Android Studio-তে File → New Project যান।

ধাপ ২: লেআউট ফাইল (res/layout/activity_main.xml)

<?xml version = "1.0" encoding = "utf-8"?> <RelativeLayout 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:layout_margin = "16dp"    android:orientation = "vertical"    tools:context = ".MainActivity">    <TextView       android:id = "@+id/text_view"       android:layout_width = "match_parent"       android:layout_height = "wrap_content"       android:layout_centerInParent = "true"       android:layout_gravity = "center" />    <Button       android:id = "@+id/button"       android:layout_width = "match_parent"       android:layout_height = "wrap_content"       android:layout_alignParentBottom = "true"       android:layout_gravity = "center"       android:layout_marginTop = "16dp"       android:text = "Get Data" /> </RelativeLayout>

ধাপ ৩: MainActivity.java (src/MainActivity.java)

package com.example.myapplication; import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends AppCompatActivity {    private final static int MY_REQUEST_CODE = 1;    TextView textView;    @Override    protected void onCreate(Bundle savedInstanceState) {       super.onCreate(savedInstanceState);       setContentView(R.layout.activity_main);       textView = findViewById(R.id.text_view);       Button button = findViewById(R.id.button);       button.setOnClickListener(new View.OnClickListener() {          @Override          public void onClick(View v) {             Intent intent = new Intent(MainActivity.this, SecondActivity.class);             startActivityForResult(intent, MY_REQUEST_CODE);          }       });    }    @Override    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {       super.onActivityResult(requestCode, resultCode, data);       if (resultCode = = Activity.RESULT_OK) {          if (requestCode = = MY_REQUEST_CODE) {             if (data ! = null)             textView.setText(data.getStringExtra("value"));          }       }    } }

ধাপ ৪: SecondActivity লেআউট (res/layout/activity_second.xml)

<?xml version = "1.0" encoding = "utf-8"?> <RelativeLayout 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:layout_margin = "16dp"    android:orientation = "vertical"    tools:context = ".SecondActivity">    <EditText       android:id = "@+id/edit_text"       android:layout_width = "match_parent"       android:layout_height = "wrap_content"       android:layout_centerInParent = "true"       android:layout_gravity = "center"       android:hint = "Enter something to return previous activity"       android:inputType = "text" />    <Button       android:id = "@+id/button"       android:layout_width = "match_parent"       android:layout_height = "wrap_content"       android:layout_alignParentBottom = "true"       android:layout_gravity = "center"       android:layout_marginTop = "16dp"       android:text = "Done" /> </RelativeLayout>

ধাপ ৫: SecondActivity.java (src/SecondActivity.java)

package com.example.myapplication; import android.content.Intent; import android.content.SharedPreferences; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class SecondActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {       super.onCreate(savedInstanceState);       setContentView(R.layout.activity_second);       final EditText editText = findViewById(R.id.edit_text);       Button button = findViewById(R.id.button);       button.setOnClickListener(new View.OnClickListener() {          @Override          public void onClick(View v) {             String value = editText.getText().toString().trim();             Intent intent = new Intent();             intent.putExtra("value", value);             setResult(RESULT_OK, intent);             finish();          }       });    } }

ধাপ ৬: AndroidManifest.xml

<?xml version = "1.0" encoding = "utf-8"?> <manifest xmlns:android = "https://schemas.android.com/apk/res/android"    package = "com.example.myapplication">    <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 = ".MainActivity">          <intent-filter>             <action android:name = "android.intent.action.MAIN" />             <category android:name = "android.intent.category.LAUNCHER" />          </intent-filter>       </activity>       <activity android:name = ".SecondActivity"></activity>    </application> </manifest>

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

ডিভাইস সংযুক্ত থাকলে Run আইকনে ক্লিক করুন। "Get Data" বাটনে ক্লিক করলে দ্বিতীয় এক্টিভিটি খুলবে। সেখানে কিছু লিখে "Done" দিলে প্রথম এক্টিভিটিতে ফেরত আসবে।

অ্যান্ড্রয়েডে পূর্বের এক্টিভিটিতে ডেটা ফেরত পাঠান

অ্যান্ড্রয়েডে পূর্বের এক্টিভিটিতে ডেটা ফেরত পাঠান

অ্যান্ড্রয়েডে পূর্বের এক্টিভিটিতে ডেটা ফেরত পাঠান

অ্যান্ড্রয়েডে পূর্বের এক্টিভিটিতে ডেটা ফেরত পাঠান


  1. Android-এ সেকেন্ডারি অ্যাক্টিভিটি থেকে মেইন অ্যাক্টিভিটিতে ডেটা পাঠানোর পদ্ধতি

  2. Android-এ মোবাইল ডেটা প্রোগ্রাম্যাটিকভাবে ডিজেবল/এনেবল করা

  3. Android-এ একটি ফ্র্যাগমেন্ট থেকে অন্য ফ্র্যাগমেন্টে ডেটা পাস করার পদ্ধতি

  4. Android Data Binding 습득: সুস্পষ্ট UI ডেটা ইন্টিগ্রেশন