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

Kotlin का उपयोग करके Android Bundle के साथ एक्टिविटीज के बीच डेटा कैसे पास करें?

परिचय

यह उदाहरण दर्शाता है कि Kotlin का उपयोग करके Android Bundle के साथ एक्टिविटीज के बीच डेटा कैसे पास किया जाए।

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

Android Studio खोलें, File → New Project पर जाएं और आवश्यक विवरण भरकर एक नया प्रोजेक्ट बनाएं।

चरण 2: activity_main.xml लेआउट जोड़ें

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:layout_centerHorizontal="true"
    android:orientation="vertical"
    android:padding="4dp"
    tools:context=".MainActivity">
    <EditText
        android:id="@+id/etName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="Enter a name"
        android:inputType="text" />
    <EditText
        android:id="@+id/etPhone"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="Enter a Phone number"
        android:inputType="number" />
    <Button
        android:id="@+id/btnSend"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Send data" />
</LinearLayout>

चरण 3: MainActivity.kt लागू करें

src/MainActivity.kt में निम्न कोड जोड़ें:

import android.content.Intent
import android.os.Bundle
import android.text.TextUtils
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import java.io.Serializable

class MainActivity : AppCompatActivity() {
    lateinit var etName: EditText
    lateinit var etPhone: EditText
    
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        title = "KotlinApp"
        
        etName = findViewById(R.id.etName)
        etPhone = findViewById(R.id.etPhone)
        
        val btnSend: Button = findViewById(R.id.btnSend)
        btnSend.setOnClickListener {
            if (TextUtils.isEmpty(etName.text.toString()) && TextUtils.isEmpty(etPhone.text.toString())) {
                Toast.makeText(this, "Something is wrong kindly check", Toast.LENGTH_LONG).show()
            } else {
                sendUserData(etName.text.toString(), etPhone.text.toString())
            }
        }
    }
    
    private fun sendUserData(username: String, userPhone: String) {
        val userInfo = UserInfo()
        userInfo.setName(username)
        userInfo.setPhone(userPhone)
        val send = Intent(this@MainActivity, SecondActivity::class.java)
        val b = Bundle()
        b.putSerializable("serialzable", userInfo)
        send.putExtras(b)
        startActivity(send)
    }
}

class UserInfo : Serializable {
    private lateinit var name: String
    private lateinit var phone: String
    
    fun getName(): String? {
        return name
    }
    
    @JvmName("setName1")
    fun setName(name: String?) {
        this.name = name!!
    }
    
    fun getPhone(): String? {
        return phone
    }
    
    @JvmName("setPhone1")
    fun setPhone(phone: String?) {
        this.phone = phone!!
    }
}

चरण 4: SecondActivity बनाएं

activity_second.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:padding="4dp"
    android:layout_height="match_parent">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="70dp"
        android:background="#008080"
        android:padding="5dp"
        android:text="TutorialsPoint"
        android:textColor="#fff"
        android:textSize="24sp"
        android:textStyle="bold" />
    <TextView
        android:textAlignment="center"
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:textColor="@android:color/holo_purple"
        android:textSize="24sp"
        android:textStyle="bold" />
</RelativeLayout>

SecondActivity.kt

import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity

class SecondActivity : AppCompatActivity() {
    private var userInfo: UserInfo? = null
    
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_second)
        title = "KotlinApp"
        
        val tvData: TextView = findViewById(R.id.textView)
        userInfo = intent.getSerializableExtra("serialzable") as UserInfo?
        val name: String = userInfo?.getName().toString()
        val phone: String = userInfo?.getPhone().toString()
        tvData.text = "Your entered name is $name number is $phone"
    }
    
    override fun onPause() {
        super.onPause()
        userInfo = null
    }
}

चरण 5: 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>
    </application>
</manifest>

एप्लिकेशन चलाएं

अपने Android डिवाइस को कंप्यूटर से कनेक्ट करें। Android Studio में प्रोजेक्ट की एक्टिविटी फाइल खोलें और टूलबार से Run आइकन पर क्लिक करें। अपना मोबाइल डिवाइस चुनें और डिफ़ॉल्ट स्क्रीन देखें।

  1. Android में SQLite का उपयोग करके डेटा कैसे सहेजें? Android में SQLite का उपयोग करके डेटा कैसे सहेजें?

    Android में SQLite का उपयोग करके डेटा सहेजना उदाहरण में जाने से पहले, हमें पता होना चाहिए कि Android में SQLite डेटाबेस क्या है। SQLite एक ओपन-सोर्स SQL डेटाबेस है जो डेटा को डिवाइस पर एक टेक्स्ट फ़ाइल में संग्रहीत करता है। Android बिल्ट-इन SQLite डेटाबेस कार्यान्वयन के साथ आता है। SQLite सभी रिलेशन

  1. एंड्रॉइड में SharedPreferences से एक एक्टिविटी से दूसरी में डेटा कैसे पास करें? एंड्रॉइड में SharedPreferences से एक एक्टिविटी से दूसरी में डेटा कैसे पास करें?

    SharedPreferences के माध्यम से डेटा ट्रांसफर यह आर्टिकल पिछले आर्टिकल के समान है - SharedPreferences का उपयोग करके एक्टिविटीज के बीच डेटा पास करना। यहां वही कोड उदाहरण दिया गया है। चरण 1-6: पिछले आर्टिकल (ID: 1005061530) के समान कोड संरचना, लेआउट, MainActivity, SecondActivity, और Manifest बिल्कुल व

  1. Android में ड्रॉएबल (Drawable) को एक्टिविटी के बीच कैसे पास करें? Android में ड्रॉएबल (Drawable) को एक्टिविटी के बीच कैसे पास करें?

    Android में Intent के माध्यम से ड्रॉएबल संसाधन पास करने का गाइड यह ट्यूटोरियल दिखाता है कि कैसे ड्रॉएबल रिसोर्स ID (इंटीजर) को Intent extra के रूप में दूसरी एक्टिविटी में पास किया जाए और वहां ImageView में सेट किया जाए। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनकर नया प्रो