এন্ড্রয়েড ডেভেলপমেন্ট [পর্ব ৭] :: এন্ড্রয়েড এ Thread ক্লাস এর ব্যবহার ও প্রয়োগ

আসসালামু আলাইকুম আশা করি সবাই ভাল আছেন।  আজকে আমরা আলোচনা করব এন্ড্রয়েড ডেভেলপমেন্ট এর গুরত্তপূর্ণ একটি অংশ Thread সম্পর্কে।

Thread ক্লাস এন্ড্রয়েড ডেভেলপমেন্ট ও গেম ডেভেলপমেন্ট এ অনেক ব্যবহৃত হয়।  Thread হল একই প্রোগ্রামের বিভিন্ন অংশ অর্থাৎ প্রসেস বা সাবপ্রোগ্রাম।  Thread এরপ একটি ক্লাস আকারে বাস্তবায়ন করা হয় যেখানে run() নামে একটি মেথড অবশ্যই থাকে।  run() মেথড এর সাধারণ ফরম্যাট হল এরকম:

Public void run()

{

}

আজকে আমরা sleep() মেথডের মধ্যে Thread Exceptions এর ব্যবহার দেখব।  Exception Handling মাধ্যমে sleep() মেথডের ব্যবহার হবে এরকম

package com.art.android6;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Thread nthread = new Thread(){

@Override
public void run() {

try {

sleep(5000);

}
catch (InterruptedException e) {

e.printStackTrace();

}

finally {

Intent nIntent = new Intent("com.art.android6.activity_second");

startActivity(nIntent);

}

}
};

nthread.start();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}

প্রথমে onCreate মেথড এ  Thread nThread = new Thread() { } এর মধ্যে

@Override

Public void run()

এভাবে ডিক্লিয়ার করে দিতে হবে।  তারপর try , catch ব্লকে এ try এর মধ্যে sleep(time) এভাবে ডিক্লিয়ার করে দিতে হবে। তারপর catch এর মধ্যে exception handling এর জন্য e.printStackTrace(); এভাবে ডিক্লিয়ার করে দিতে হবে।  এরপর finally এর মধ্যে Intent ডিক্লিয়ার করে এবং এর মধ্যে SecondActivity এর layout এর অ্যাড্রেস ডিক্লিয়ার করে startActivity দ্বারা Intent টি চালু করে দিতে হবে।  তারপর Thread টি চালু করে দেয়ার জন্য nthread.start(); এভাবে ডিক্লিয়ার করে দিতে হবে।

এখন আমাদের MainActivity টি আলাদাভাবে চেনার জন্য activity_main এর Background টি পরিবর্তন করে দেয়।  activity_main এর background টিপরিবর্তন করার জন্য প্রোজেক্ট এর res ফোল্ডার এ drawable-hdpi এ background ইমেজ টি কপি পেস্ট করে দেয়। তারপর Background টিতে ইমেজ নিয়ে আসার জন্য activity_main এ LinearLayout এ android:background="@drawable/background" এভাবে ডিক্লিয়ার করে দিতে হবে।

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:background="@drawable/background"
>

<Button
android:id="@+id/button1"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:text="@string/button1"
android:background="@android:color/background_light" />

</LinearLayout>


তারপর MainActivity.java তে প্রোগ্রামটি রান করলে 5000=5sec পরে MainActivity থেকে SecondActivity প্রদর্শন করবে।


আজকের প্রোজেক্ট এর সোর্স কোড এখান থেকে ডাওনলোড করে নিন।

এন্ড্রয়েড ডেভেলপমেন্ট এর সর্বশেষ পর্ব সম্পর্কে নোটিফিকেশান পেতে লাইক করুন ফেসবুকের এই পেইজে এ।

Previous
Next Post »

পোস্ট সম্পর্কিত সমস্যার জন্য মন্তব্য দিন।ডাউনলোড লিঙ্ক এ সমস্যা জন্য ইনবক্স করুন Aimzworld007
ConversionConversion EmoticonEmoticon

Thanks for your comment