এন্ড্রয়েড ডেভেলপমেন্ট [পর্ব-০৭] :: এন্ড্রয়েড এ 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 প্রদর্শন করবে।

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

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

Level 0

আমি নাঈম হায়দার ঋদ্ধি। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 11 বছর 4 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 76 টি টিউন ও 44 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 6 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।

Computer ও Programming পছন্দ, আমার youtube channel https://www.youtube.com/channel/UCYKbAf2kXLgKav30hd3zDPQ . আমার ফেসবুক প্রোফাইল https://www.facebook.com/nayeem.riddhi


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস

থ্যাঙ্কস

Level 0

Tomakeo dhonnobad @Maruf

একটা পোষ্টে একটা স্ক্রিনশট নাই, কেমন দেখাইল না????????????