यह उदाहरण दर्शाता है कि Kotlin में AsyncTask और ProgressDialog का उपयोग करके नई एक्टिविटी शुरू करने से पहले लोडिंग डायलॉग कैसे दिखाया जाए।
चरण 1 - नया प्रोजेक्ट बनाएं
Android Studio: File → New Project।
चरण 2 - 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">
<TextView
android:id="@+id/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:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="एक्टिविटी शुरू करने से पहले प्रोग्रेस डायलॉग दिखा रहे हैं..."
android:textAlignment="center"
android:textColor="@android:color/holo_blue_bright"
android:textSize="24sp"
android:textStyle="bold" />
</RelativeLayout>
चरण 3 - MainActivity.kt में प्रोग्रेस डायलॉग लॉजिक
import android.app.ProgressDialog
import android.os.AsyncTask
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
@Suppress("DEPRECATION")
class MainActivity : AppCompatActivity() {
private lateinit var progressDialog: ProgressDialog
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
title = "KotlinApp"
progressDialog = ProgressDialog(this)
progressDialog.setTitle("कंटेंट लोडर")
progressDialog.setMessage("लोड हो रहा है...")
progressDialog.progress = 10
progressDialog.max = 100
MyTask(this).execute()
}
companion object {
private class MyTask(private val activity: MainActivity) : AsyncTask<Void, Void, Void>() {
override fun doInBackground(vararg params: Void): Void? {
// पृष्ठभूमि कार्य यहां करें (नेटवर्क कॉल, डेटाबेस ऑपरेशन आदि)
Thread.sleep(3000) // 3 सेकंड का अनुकरण
return null
}
override fun onPreExecute() {
activity.progressDialog.show()
}
override fun onPostExecute(result: Void?) {
activity.progressDialog.dismiss()
// यहां नई एक्टिविटी शुरू करें या UI अपडेट करें
}
}
}
}
चरण 4 - AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="com.example.progressdialogdemo">
<application ...>
<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>
ऐप चलाएं
ऐप लॉन्च होने पर प्रोग्रेस डायलॉग "लोड हो रहा है..." संदेश के साथ दिखाई देगा। 3 सेकंड बाद यह स्वतः बंद हो जाएगा।
महत्वपूर्ण:ProgressDialogऔरAsyncTaskदोनों डिप्रिकेटेड हैं। आधुनिक Android विकास के लिएProgressBar(लेआउट में),Coroutines,Flow, याWorkManagerका उपयोग करने की सलाह दी जाती है।