একটি উদাহরণে যাওয়ার আগে, থ্রেড কী তা আমাদের জানা উচিত। একটি থ্রেড একটি লাইটওয়েট সাব-প্রসেস, এটি UI-তে বাধা ছাড়াই ব্যাকগ্রাউন্ড অপারেশন করতে যাচ্ছে। এই উদাহরণটি দেখায় কিভাবে অ্যান্ড্রয়েডে একাধিক থ্রেড ব্যবহার করতে হয়।
ধাপ 1 − অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করুন, ফাইল ⇒ নতুন প্রকল্পে যান এবং একটি নতুন প্রকল্প তৈরি করতে সমস্ত প্রয়োজনীয় বিবরণ পূরণ করুন৷
ধাপ 2 − 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:orientation="vertical" android:gravity="center_horizontal" android:layout_marginTop="100dp" tools:context=".MainActivity"> <EditText android:id="@+id/edit_query" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Enter string" /> <Button android:id="@+id/click" android:layout_marginTop="50dp" style="@style/Base.TextAppearance.AppCompat.Widget.Button.Borderless.Colored" android:layout_width="wrap_content" android:background="#c1c1c1" android:textColor="#FFF" android:layout_height="wrap_content" android:text="Button" /> <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
উপরের কোডে, আমরা edittext এবং textview নিয়েছি। ব্যবহারকারী যখন এডিট টেক্সটে কিছু টেক্সট এন্টার করেন, তখন এটি 5000ms পর্যন্ত অপেক্ষা করবে এবং থ্রেড নাম সহ উভয় টেক্সটভিউ আপডেট করবে।
ধাপ 3 − src/MainActivity.java
-এ নিম্নলিখিত কোড যোগ করুনpackage com.example.myapplication; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends AppCompatActivity { EditText edit_query; TextView textView; TextView text1; boolean twice = false; Thread t = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edit_query = findViewById(R.id.edit_query); textView = findViewById(R.id.text); text1 = findViewById(R.id.text1); findViewById(R.id.click).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { runthread(); runthread1(); } }); } private void runthread1() { runOnUiThread(new Runnable() { @Override public void run() { try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } text1.setText("tutorialspoint.com"); } }); } private void runthread() { twice = true; if (twice) { final String s1 = edit_query.getText().toString(); t = new Thread(new Runnable() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { textView.setText(t.getName()); twice = false; } }); } }); t.start(); t.setName(s1); t.setPriority(Thread.MAX_PRIORITY); } } }
আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করা যাক. আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং টুলবার থেকে রান আইকনে ক্লিক করুন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে -
উপরের ফলাফলে, সম্পাদনা টেক্সটে কিছু টেক্সট লিখুন এবং বোতামে ক্লিক করুন, এটি থ্রেডে ডেটা যুক্ত করবে এবং থ্রেড থেকে ডেটা নেম মেথড হিসাবে নেবে এবং থ্রেড 1-এ টেক্সটভিউতে যুক্ত করবে। দ্বিতীয় থ্রেড ব্যাকগ্রাউন্ডে কাজ করে এবং টেক্সটভিউ আপডেট করে। tuorialspoint.com হিসাবে।