অ্যান্ড্রয়েডে συνεχিরূপে থ্রেড চালানো
থ্রেড জেনেরিক প্রসেসিং টাস্ক যা বেশিরভাগ কাজ করতে পারে, কিন্তু UI আপডেট করতে পারে না। এই উদাহরণটি দেখায় কীভাবে অ্যান্ড্রয়েডে একটি തുടন্ত থ্রেড চালানো যায়।
ধাপ ১: নতুন প্রজেক্ট তৈরি করুন
Android Studio-তে File → New Project-এ যান এবং প্রজেক্ট তৈরি করুন।
ধাপ ২: লেআউট ফাইলে কোড যোগ করুন
res/layout/activity_main.xml ফাইলে নিচের কোড যোগ করুন:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:app="https://schemas.android.com/apk/res-auto"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="চলমান থ্রেড"
android:textSize="25sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
ধাপ ৩: MainActivity.java-তে কোড যোগ করুন
package com.example.andy.myapplication;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
TextView text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text = findViewById(R.id.text);
text.setOnClickListener(v -> {
new Thread(() -> {
while (true) {
Log.d("চলমান থ্রেড", "Tutorialspoint.com");
try { Thread.sleep(1000); } catch (InterruptedException ignored) {}
}
}).start();
});
}
}
এখানে একটি `while(true)` লুপ সহ থ্রেড তৈরি করা হয়েছে যা প্রতি সেকেন্ডে লগক্যাটে বার্তা প্রিন্ট করবে।
অ্যাপ্লিকেশন চালান
অ্যাপটি চালান। টেক্সটভিউতে ক্লিক করলে থ্রেড শুরু হবে। Logcat খুলে "চলমান থ্রেড" ট্যাগ দিয়ে বার্তা দেখতে পাবেন।
সতর্কতা: এই ধরনের ইনফাইনাইট থ্রেড মেমরি লিক এবং ব্যাটারি ড্রেনের কারণ হতে পারে। প্রোডাকশন অ্যাপে এটি এড়িয়ে Handler, WorkManager বা Coroutines ব্যবহার করা উচিত।