Site icon Trickbd.com

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

Unnamed

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

 

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

তো যাই হোক এত কথা না বলে মুল টপিক এ চলে যাই।

জাভা variable

variable হচ্ছে ডাটা অস্থায়ী সংরক্ষণ এর জায়গা।
Programme excution এর সময় ডাটা অস্থায়ী variable গুলো তে জমা হয়।

কিভাবে তৈরি করবো variable?

জাভা তে variable তৈরি করার জন্যে, প্রথমে ডাটা টাইপ লিখতে হবে, তারপর variable নামে দিতে হবে। নিচে দেখানো হল।

String str = "TrickBD";

এখানে String হচ্ছে ডাটা টাইপ এবং str হচ্ছে variable name.

উপরিউক্ত variable টি TrickBD ধারা assaign করা হয়েছে। TrickBD টা হচ্ছে value.

জাভা তে অনেক ডাটা টাইপ রয়েছে। নিচে কয়েকটি দেখানো হল।

Integer ডাটা টাইপ।

এটি শুধুমাত্র পূর্ণ সংখ্যা ধারণ করতে পারে। যেমন 1, 2, 3, -1 etc.

নিচে উদাহারণ দেখুন।

int x = 5;
int y = -1;

Float ডাটা টাইপ

Float Floating Point Number অর্থাৎ দশমিক সংখ্যা ধারণ করতে পারে।

Date ডাটা টাইপ

এটি Time and Date
বের করতে পারে। Time Object তৈরি করে।

নিচে উদাহারণ দেখুন

Date d = new Date();

variable নামের প্রথম অক্ষর বরো হাতের অথবা কোনো সংখ্যা ব্যবহার করা যাবে না।

জাভা Constructor

 

Constructor হচ্ছে এক ধরনের Method. Constructor এ এ।variable Object ইত্যাদি initialize করা হয়।

নিচে উদাহারণ দেওয়া হল।

 

public class Aa {

 public Aa() {

 }

}

 

এখানে Aa() হল Constructor.

নিচে একটি Constructor এর সম্পূর্ণ Source Code দেওয়া হল।

 

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class ConstructorExample extends MIDlet {

 Display disp;
 Form form;
 String str;
 int i;


 public ConstructorExample() {
 disp = Display.getDisplay(this);
 form = new Form("Constructor Example");
 str = "J2me Tutorial";
 i = 5;

 }

 public void startApp() {
 form.append(str);
 form.append("\n");
 form.append(String.valueOf(i));
 form.append("\n");

 disp.setCurrent(form);
 }

 public void pauseApp() {
 }

 public void destroyApp(boolean unconditional) {
 }
}

 

উপরিউক্ত Source Code টি তে আমরা String str, int i and Form form এগুলো Constructor এর ভিতরে initialize করছি।

এবং startApp() এ আমরা form এ String এবং int গুলও যুক্ত করেছি।

Java Comment

 

জাভা তে দুই ধরনের comment রয়েছে।

Single Line Comment // Double Slash দিয়ে শুরু হয়। নিচে Single Line Comment এর উদাহরন দেওয়া হল।

 Form f = new Form(""); //This is a form
//I am single line comment

Single line comment এক line এ শেষ করতে হবে।

Multi line comment

Multi line comment একাধিক line এ লিখা যাবে।

Multi line comment শুরু হয় /* দিয়ে এবং শেষ হয় */ দিয়ে। নিচে উদাহারণ দেওয়া হল।

String str = "" /* This is a string. it can store text.
*/

 

J2me Command

 

আমরা অনেকেই এটাকে Menu বার হিসেবে চিনি। অর্থাৎ Menu তৈরি করা শিখবো। J2me তে বেস কয়েকটি Command রয়েছে। যেমন ok, back, exit, screen, item, help etc.

নিচে exit Command এর একটি উদাহারণ দেওয়া হল

Command exit = new Command("Exit", Command.EXIT, 0);

আমরা যখন midlet এ Command যুক্ত করবো তখন আমাদের midlet class এ “implements CommandListener” এটি যুক্ত করতে হবে।
নিচে দেখানো হল

public class HelloWorld extends MIDlet implements CommandListener {


}

Command এর একটি Method রয়েছে জার ম্যাধ্যমে Command কে handle করা হয়।
নিচে দেওয়া হল।

.public void commandAction(Command c, Displayable d) {


}

Command টা Global Variable এ থাকতে হবে।

নিচে ConstructorExample এ exit command যুক্ত করে দেখানো হল।

 

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class ConstructorExample extends MIDlet implements CommandListener {

 Display disp;
 Form form;
 String str;
 int i;
 Command exit;

 public ConstructorExample() {
 disp = Display.getDisplay(this);
 form = new Form("Constructor Example");
 str = "J2me Tutorial";
 i = 5;
 exit = new Command("Exit", Command.EXIT, 0);
 }

 public void startApp() {
 form.append(str);
 form.append("\n");
 form.append(String.valueOf(i));
 form.append("\n");
 form.addCommand(exit);
 form.setCommandListener(this);
 disp.setCurrent(form);
 }

 public void pauseApp() {
 }

 public void destroyApp(boolean unconditional) {
 }

 public void commandAction(Command c, Displayable d) {
 if (c == exit) {
 notifyDestroyed();
 }

 }
}

Download ConstructorExample

উপরের Source Code টি তে exit Command দেখানো হয়েছে।

প্রথমে command টা Constructor এ initialize করা হয়েছে।

এরপর startApp() এ Command টা Form এ যুক্ত করা হয়েছে। এরপর CommandListener যুক্ত করা হয়েছে

form.addCommand(exit);
form.setCommandListener(this);

form এ command টা যুক্ত করার পর commandAction() এ command টা handle করা হয়েছে।

public void commandAction(Command c, Displayable d) {
if (c = exit) {
 notifyDestroyed();
 }
}

notifyDestroyed() এটা এপ ta কে exit করতে ব্যবহার করা হয়েছে।

if else নিয়ে পরবর্তীতে আলোচনা করা হবে।

নিচে সবগুলো Command এর উদাহারণ দেওয়া হল।

জা Alert এর ম্যাধ্যমে আপনারা দেখতে পারবেন। Alert নিয়ে পরবর্তীতে আলোচনা করা হবে।

 

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class CommandExample extends MIDlet implements CommandListener{
	private Form form;
	private Display display;
	private Command ok, back, cancel, exit, help, item, screen, stop;
	
	public CommandExample(){
		form = new Form("Command Form");
		screen = new Command("SCREEN", Command.SCREEN, 1);
		back = new Command("BACK", Command.BACK, 2);
		cancel = new Command("CANCEL", Command.CANCEL, 3);
		ok = new Command("OK", Command.OK, 4);
		help = new Command("HELP", Command.HELP, 5);
		stop = new Command("STOP", Command.STOP, 6);
		exit = new Command("EXIT", Command.EXIT, 7);		
		item = new Command("ITEM", Command.ITEM, 8);
	}

	public void startApp(){
		display = Display.getDisplay(this);
		form.addCommand(screen);
		form.addCommand(back);
		form.addCommand(cancel);
		form.addCommand(ok);
		form.addCommand(help);
		form.addCommand(stop);
		form.addCommand(exit);
		form.addCommand(item);
		form.setCommandListener(this);
		display.setCurrent(form);
	}

	public void pauseApp(){}

	public void destroyApp(boolean destroy){
		notifyDestroyed();
	}

	public void backCom(){
		Alert back = new Alert("BACK Command", "Back Command Executed!", null, AlertType.INFO);
		back.setTimeout(5000);
		display.setCurrent(back, form);		
	}
	public void okCom(){
		Alert ok = new Alert("OK Command", "OK Command Executed!", null, AlertType.INFO);
		ok.setTimeout(5000);
		display.setCurrent(ok, form);		
	}
	public void cancelCom(){
		Alert cancel = new Alert("CANCEL Command", "Cancel Command Executed!", null, AlertType.INFO);
		cancel.setTimeout(5000);
		display.setCurrent(cancel, form);		
	}
	public void exitCom(){
		Alert exit = new Alert("EXIT Command", "Exit Command Executed!", null, AlertType.INFO);
		exit.setTimeout(5000);
		display.setCurrent(exit, form);		
	}
	
	public void commandAction(Command c, Displayable d) {
		String label = c.getLabel();
		if(label.equals("BACK")){
			backCom();
		} else if(label.equals("OK")){
			okCom();
		} else if(label.equals("CANCEL")){
			cancelCom();
		} else if(label.equals("EXIT")){
			exitCom();
		}
	}

}

Download CommandExample

যারা আগের পর্ব গুলো দেখেন নি তারা নিচ থেকে দেখে আসুন

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

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