यह उदाहरण दर्शाता है कि Kotlin का उपयोग करके Android ऐप में टेक्स्ट को प्रोग्रामेटिकली क्लिपबोर्ड पर कॉपी और पेस्ट कैसे किया जाता है। ClipboardManager और ClipData का उपयोग किया जाता है।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio खोलें, File → New Project पर जाएं और नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2: activity_main.xml में UI बनाएं
<?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="70dp"
android:text="Tutorials Point"
android:textAlignment="center"
android:textColor="@android:color/holo_green_dark"
android:textSize="32sp"
android:textStyle="bold" />
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="100dp"
android:hint="Enter your text" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:onClick="copyText"
android:text="Copy text" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:onClick="pasteText"
android:text="Paste text" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:textColor="@android:color/holo_red_dark"
android:textSize="24sp"
android:textStyle="bold" />
</LinearLayout>
चरण 3: MainActivity.kt में कॉपी/पेस्ट लॉजिक जोड़ें
import android.content.ClipData
import android.content.ClipboardManager
import android.content.Context
import android.os.Bundle
import android.view.View
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
lateinit var editText: EditText
lateinit var textView: TextView
lateinit var clipboardManager: ClipboardManager
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
title = "KotlinApp"
editText = findViewById(R.id.editText)
textView = findViewById(R.id.textView)
}
fun copyText(view: View) {
val text = editText.text.toString()
if (text.isNotEmpty()) {
clipboardManager = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
val clipData = ClipData.newPlainText("key", text)
clipboardManager.setPrimaryClip(clipData)
Toast.makeText(applicationContext, "Copied", Toast.LENGTH_SHORT).show()
} else {
Toast.makeText(applicationContext, "No text to be copied", Toast.LENGTH_SHORT).show()
}
}
fun pasteText(view: View) {
val clipData: ClipData = clipboardManager.primaryClip!!
val item: ClipData.Item = clipData.getItemAt(0)
textView.text = item.text.toString()
Toast.makeText(applicationContext, "Text is being Pasted", Toast.LENGTH_SHORT).show()
}
}
चरण 4: 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 आइकन पर क्लिक करें। अपना मोबाइल डिवाइस चुनें और ऐप चलने पर डिफ़ॉल्ट स्क्रीन देखें।
मुख्य बिंदु:
ClipboardManager- सिस्टम क्लिपबोर्ड एक्सेस के लिएClipData.newPlainText()- सिंपल टेक्स्ट क्लिप डेटा बनाने के लिएsetPrimaryClip()- क्लिपबोर्ड में डेटा सेट करने के लिएprimaryClip.getItemAt(0)- क्लिपबोर्ड से डेटा पढ़ने के लिए