আসসালামুআলাইকুম

আসা করি আপনারা সকলেই আল্লাহর রহমতে ভালো আছেন। আমিও ভালো আছি। আর ভালো না থাকলে তো ভালো লাগার ওয়েবসাইট TrickBD আছেই। যেখানে আমরা নিত্য নতুন টিপস এবং Trick পেয়ে থাকি।

তো যায় হোক, আজকে যেই টপিক নিয়ে আলোচনা করতে যাচ্ছি। নিচে তা দেওয়া হল।

Java Me Timer

Timer হল এক ধরনের Thread এর মতো। কিন্তু একেবারে Thread এর মতো নয়।

Thread কি তা হয়ত অনেকে জানেন না কেননা এটা নিয়ে আগে আলোচনা করা হয় নাই। পরবর্তীতে Thread নিয়ে আলোচনা করা হবে।

তো আজকের এই পোস্ট এ আমি আপনাদের দেখাবো J2me তে Timer and TimerTask এর ব্যবহার।

আমরা একটা Source কোড উদাহরন এর ম্যাধ্যমে এটা শিখবো।

তো প্রথমে নিচের step গুলো অনুসরন করুন।

পূর্বের মতো আমরা global variable গুলো আগে declare করে নেই।

Display display;
Form form;
Command exit, stop;
Timer timer;
private TestTimerTask task;
int count = 0;

এখন, আগের মতো Constructor Variable গুলো initialize করবো। প্রথমে, Form এবং Display.

display = Display.getDisplay(this);
form = new For("Timer MIDlet");

এখন Command গুলো লিখি এবং form এ যুক্ত করি

exit = new Command("Exit", Command.EXIT,0);
stop = new Command("Stop", Command.STOP,1);
form.addCommand(exit);
form.addCommand(stop);
form.setCommandListener(this);

এখন আমরা startApp() এ যাবো। এখানে Timer এর কাজ করবো। প্রথমে Timer Object তৈরি করে নেই।

timer = new Timer();

এখন আমরা TestTimerTask class তৈরি করবো জেটা Timer এর ম্যাধ্যমে excute হবে।

task = new TestTimerTask();

এখন এই class ta Timer এর ম্যাধ্যমে excute করাবো।

timer.schedule(task,0,1000);

TestTimerTask class টা Timer এর ম্যাধ্যমে schedule করা হল। 1 second পর পর excute হবে।

এখন আমরা form টা Display তে যুক্ত করবো

display.setCurrent(form);

এখন আমরা commandAction এ চলে যাবো যেখানে আমরা দুটো command কে handle করবো

if (c == exit) {
 notifyDestroyed();
 }

উক্ত command টা এপ exit করবে।

else if (c == stop) {
 timer.cancel();
}

stop command টা Timer cancel করতে ব্যবহার করা হয়েছে। অর্থাৎ যখন আমরা Stop Command এ click করবো Timer Excute বন্ধ হয়ে যাবে।

এখন আমরা TestTimerTask class তৈরি করবো জেটা প্রতি second পর পর excute হবে।

private class TestTimerTask extends TimerTask {


}

এখন এটার ভিতর run() method টি excute হবে।

public final void run() {
form.append("Timer Coun in Every Second" + ++count + "\n");
}

count variable এক এক করে Number জুক হবে এবং form যুক্ত হবে প্রতি Second এ।

নিচ থেকে পুরো Source কোড টি ডাউনলোড করে নেন।

Download Timer MIDlet

View Full Source Code

/*
* Timer MIDlet Example
* TimerTask Example
*/

import java.util.*;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*; public class TimerMIDlet extends MIDlet implements CommandListener{ private Display display; private Form form; private Command exit, stop; private Timer timer; private TestTimerTask task; private int count = 0; public TimerMIDlet(){ display = Display.getDisplay(this); form = new Form("Timer MIDlet"); exit = new Command("Exit", Command.EXIT, 1); stop= new Command("Stop", Command.STOP, 2); form.append("Please wait for timer.. \n"); form.addCommand(exit); form.addCommand(stop); form.setCommandListener(this); } public void startApp (){ timer = new Timer(); task = new TestTimerTask(); timer.schedule(task,0,1000); display.setCurrent(form); } public void pauseApp (){ } public void destroyApp (boolean unconditional){ notifyDestroyed(); } public void commandAction(Command c, Displayable d){ String label = c.getLabel(); if (label.equals("Stop")){ timer.cancel(); }else if (label.equals("Exit")) { destroyApp(true); } } private class TestTimerTask extends TimerTask{ public final void run(){ form.append("Timer Execute Count In Every Second: " + ++count + "\n"); } } }

Thanks for read this post



2 thoughts on "J2me বা Java ME প্রোগ্রামিং শিখুন। এবং তৈরী করে ফেলুন Java ME Application আপনার হাতে থাকা জাভা ফোন টি দিয়ে (part: 10)"

    1. Nayeem24 Author Post Creator says:
      Thanks

Leave a Reply