बैकग्राउंड थ्रेड से Android में Toast संदेश प्रदर्शित करना
यह उदाहरण दर्शाता है कि Android ऐप में बैकग्राउंड थ्रेड से UI थ्रेड पर Toast संदेश कैसे दिखाया जाता है। चूंकि Toast केवल मुख्य थ्रेड पर दिखाया जा सकता है, इसलिए हमें runOnUiThread() या Handler का उपयोग करना पड़ता है।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio में File → New Project चुनें और प्रोजेक्ट विवरण भरें।
चरण 2: लेआउट फ़ाइल (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"
tools:context=".MainActivity">
</RelativeLayout>
चरण 3: MainActivity में थ्रेड से Toast दिखाएं (src/MainActivity.java)
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private Toast toast;
private Thread thread;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// मुख्य थ्रेड पर Toast ऑब्जेक्ट बनाएं
toast = Toast.makeText(this, "थ्रेड से टोस्ट संदेश", Toast.LENGTH_SHORT);
thread = new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 1000; i++) {
try {
Thread.sleep(1000);
// UI थ्रेड पर Toast दिखाने के लिए runOnUiThread का उपयोग करें
runOnUiThread(new Runnable() {
@Override
public void run() {
toast.show();
}
});
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
thread.start();
}
}
toast.show() कॉल किया गया था, जो क्रैश का कारण बनता है। सही तरीका runOnUiThread() या Handler का उपयोग करना है।
चरण 4: AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="app.com.sample">
<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 Studio से Run करें, और ऐप लॉन्च होने पर हर 2 सेकंड में टोस्ट संदेश दिखाई देगा।
