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

কোটলিন ব্যবহার করে অ্যান্ড্রয়েডে ডেটা মেইন এক্টিভিটিতে কীভাবে পাঠাবেন?

এই উদাহরণটি প্রদর্শন করে কীভাবে অ্যান্ড্রয়েডে কোটলিন ব্যবহার করে একটি সেকেন্ডারি এক্টিভিটি থেকে ডেটা মেইন এক্টিভিটিতে ফেরত পাঠানো যায়।

পদক্ষেপ ১: নতুন প্রজেক্ট তৈরি করুন

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

পদক্ষেপ ২: 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" 
    android:gravity="center_horizontal" 
    android:orientation="vertical" 
    tools:context=".MainActivity"> 
    <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="100dp" 
        android:layout_marginBottom="50dp" 
        android:text="Tutorials Point" 
        android:textAlignment="center" 
        android:textColor="@android:color/holo_green_dark" 
        android:textSize="32sp" 
        android:textStyle="bold" /> 
    <TextView 
        android:id="@+id/textViewResult" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Result: " 
        android:textColor="@android:color/black" 
        android:textSize="24sp" 
        android:textStyle="bold" /> 
    <EditText 
        android:id="@+id/editTextNumber1" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:hint="First Number" 
        android:inputType="number" /> 
    <EditText 
        android:id="@+id/editTextNumber2" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:hint="Second Number" 
        android:inputType="number" /> 
    <Button 
        android:id="@+id/btnOpenActivity2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="10dp" 
        android:text="Calculate" /> 
</LinearLayout>

পদক্ষেপ ৩: src/MainActivity.kt-এ কোড যোগ করুন

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

class MainActivity : AppCompatActivity() {
    private lateinit var textViewResult: TextView
    private lateinit var editTextNumber1: EditText
    private lateinit var editTextNumber2: EditText
    private lateinit var button: Button

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        title = "KotlinApp"

        textViewResult = findViewById(R.id.textViewResult)
        editTextNumber1 = findViewById(R.id.editTextNumber1)
        editTextNumber2 = findViewById(R.id.editTextNumber2)
        button = findViewById(R.id.btnOpenActivity2)

        button.setOnClickListener {
            val num1Str = editTextNumber1.text.toString()
            val num2Str = editTextNumber2.text.toString()
            
            if (num1Str.isEmpty() || num2Str.isEmpty()) {
                Toast.makeText(this@MainActivity, "Please insert numbers", Toast.LENGTH_SHORT).show()
            } else {
                val number1 = num1Str.toInt()
                val number2 = num2Str.toInt()
                val intent = Intent(this@MainActivity, SecondActivity::class.java)
                intent.putExtra("number1", number1)
                intent.putExtra("number2", number2)
                startActivityForResult(intent, 1)
            }
        }
    }

    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        if (requestCode == 1) {
            when (resultCode) {
                Activity.RESULT_OK -> {
                    val result = data?.getIntExtra("result", 0) ?: 0
                    textViewResult.text = "Result: $result"
                }
                Activity.RESULT_CANCELED -> {
                    textViewResult.text = "Nothing selected"
                }
            }
        }
    }
}

পদক্ষেপ ৪: সেকেন্ডারি এক্টিভিটি তৈরি করুন

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:gravity="center_horizontal" 
    android:orientation="vertical" 
    tools:context=".SecondActivity"> 
    <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="100dp" 
        android:layout_marginBottom="50dp" 
        android:text="Tutorials Point" 
        android:textAlignment="center" 
        android:textColor="@android:color/holo_green_dark" 
        android:textSize="32sp" 
        android:textStyle="bold" /> 
    <TextView 
        android:id="@+id/textViewNumbers" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Numbers: " 
        android:textColor="@android:color/black" 
        android:textSize="24sp" 
        android:textStyle="bold" /> 
    <Button 
        android:id="@+id/buttonAdd" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="10dp" 
        android:text="Add" /> 
    <Button 
        android:id="@+id/buttonSubtract" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="5dp" 
        android:text="Subtract" /> 
</LinearLayout>

SecondActivity.kt

import android.app.Activity
import android.content.Intent
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity

class SecondActivity : AppCompatActivity() {
    private lateinit var textViewNumber: TextView
    private lateinit var buttonAdd: Button
    private lateinit var buttonSubtract: Button

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_second)
        
        val number1 = intent.getIntExtra("number1", 0)
        val number2 = intent.getIntExtra("number2", 0)
        
        textViewNumber = findViewById(R.id.textViewNumbers)
        textViewNumber.text = "Numbers: $number1, $number2"
        
        buttonAdd = findViewById(R.id.buttonAdd)
        buttonSubtract = findViewById(R.id.buttonSubtract)
        
        buttonAdd.setOnClickListener {
            val result = number1 + number2
            val resultIntent = Intent().putExtra("result", result)
            setResult(Activity.RESULT_OK, resultIntent)
            finish()
        }
        
        buttonSubtract.setOnClickListener {
            val result = number1 - number2
            val resultIntent = Intent().putExtra("result", result)
            setResult(Activity.RESULT_OK, resultIntent)
            finish()
        }
    }
}

পদক্ষেপ ৫: androidManifest.xml-এ কোড যোগ করুন

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="https://schemas.android.com/apk/res/android" 
    package="com.example.q11"> 
    <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" /> 
    </application> 
</manifest>

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

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

  1. অ্যান্ড্রয়েডে পেছনের অ্যাক্টিভিটিতে ফিরে যাওয়া বন্ধ করার পদ্ধতি

  2. ইন্টেন্ট (Intent) ব্যবহার করে অ্যান্ড্রয়েডে অ্যাক্টিভিটির মাঝপথে ডেটা পাস করার পদ্ধতি

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

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