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


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

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

তো যায় হোক, আজকে আমি আপনাদের সাথে J2me এর একটি ছোটো প্রজেক্ট নিয়ে আলোচনা করবো। প্রজেক্ট টি হোলো BMI ক্যালকুলেটর। আজকের Tutorial এর টপিক টিই এটি। BMI ক্যালকুলেটর কি সেটা আপনারা জানেন। BMI বা Body Mass Index হোলো শরীরের ফিটনেস পরিমাপ করার পদ্ধতি। তো, এত কথা না বলে শুরু করা জাক প্রজেক্ট টি।

J2me BMI ক্যালকুলেটর

তো, প্রথমে আমরা J2me SDK ওপেন করি এবং MIDlet ফাইল তৈরী করি।

এরপর গ্লোবাল ভেরিয়েবল গুলো ডিক্লেয়ার করে নেই।


Display disp;
Form f;
TextField w, h;
StringItem si;
Command ok, exit;

এরপর কনস্ট্রাক্টর এ ভেরিয়েবল গুলো intializ করবো। প্রথমে Display এবং Form তৈরী করি।


disp = Display.getDisplay(this);
f = new Form("BMI - Calculator");

এরপর দুটো TextField তৈরী করবো।


w = new TextField("Enter Weight (KG)","80", 3, TextField.ANY);

h = new TextField("Enter Height(Metre)","1.5", 8, TextField.ANY);

প্রথম TextField এ আমাদের ওজন দিতে হবে KG তে।

দিতিয় TextField এ আমাদের Height তথা উচ্চতা দিতে হবে metre এ।

এখন আমরা StringItem ইনিটিয়ালাইজ করবো যেখানে প্রাপ্ত BMI এর মান তথা Result থাকবে


si = new StringItem("BMI:- "," ");

এখন আমরা সবগুলো Form এ যুক্ত করবো। প্রথম দুটো TextField এবং StringItem.


f.append(w);
f.append(h);
f.append(si);

এরপর আমরা দুটো কমান্ড ইনিটিয়ালাজ করবো। এবং সেগুলো Form এ যুক্ত করবো।


ok = new Command("BMI", Command.OK,0);

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

f.addCommand(ok);
f.addCommand(exit);
f.setCommandListener(this);

কনস্ট্রাক্টর এর কাজ এই পর্যন্তই। এখন আমরা উক্ত Form startApp() এ Display তে দেখাবো।


disp.setCurrent(f);

এখন আমরা commandAction() এ যাবো সেখানে দুটো কমান্ডো নিয়ন্ত্রণ করবো।


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

exit কমান্ড অ্যাপ বের করতে ব্যবহার করা হয়েছে।


else if (c == ok) {
 bmiRes(w.getString(), h.getString());
}

ok কমান্ড এ ক্লিক করলে bmiRes() method টিই ইক্সকিউট হবে। bmiRes() এ দুটো argument দেওয়া হয়েছে। প্রথম argument w.getString() টি w TextField এর ভ্যালু গুলো String হিসেবে আসবে। দিতিয়, argument h.getString() টি h তথা height TextField এর ভ্যালু গুলো String হিসেবে আসবে।

এখন আমরা bmiRes() method তৈরী করবো। প্রথমত কোড ব্লক তৈরী করে নেই।


public void bmiRes(String weight, String height) {

}

এখন দুটো argument এর ভ্যালু গুলো String থেকে Double এ কনভার্ট করবো


double kg = Double.parseDouble(weight);
double metre = Double.parseDouble(height);

Double.parseDouble() method টি দারা String থেকে double এ কনভার্ট করা হয়েছে।

এরপর kg এর সাথে height তথা metre2 দারা ভাগ করবো। তাহলেই আমরা BMI এর ফলাফল পাব।


double result = kg / (metre * metre);

এখন এই result তা StringItem এ সেট করবো


si.setText(result + "");

এই পর্যন্তই ছিলো এখন কার মতো আলোচনা। নিচ থেকে পুরো Source কোড টি ডাউনলোড করে নেন

Download BmiCalc Source Code

Show Full Source Code


/*
* This is BMI Calculator project idea
*/

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

public class BmiCalc extends MIDlet implements CommandListener {
 Display disp;
 Form f;
 TextField w, h;
 StringItem si;
 Command ok, exit;

 public BmiCalc() {
 disp = Display.getDisplay(this);
 f = new Form("BMI-Calculator");
 
 w = new TextField("Enter weight (KG)","80", 3, TextField.ANY);
 h = new TextField("Enter Height (Metre)","1.8", 8, TextField.ANY);

 si = new StringItem("BMI:-"," ");
 f.append(w);
 f.append(h);
 f.append(si);
 ok = new Command("BMI", Command.OK,0);
 exit = new Command("EXIT", Command.EXIT,0);
 f.addCommand(ok);
 f.addCommand(exit);
 f.setCommandListener(this);
 }

 public void startApp() {
 disp.setCurrent(f);
 }

 public void pauseApp() {
 }

 public void destroyApp(boolean unconditional) {
 }

 public void commandAction(Command c, Displayable d) {
 if (c == exit) {
 notifyDestroyed();
 } else if (c == ok) {
 
 bmiRes(w.getString(), h.getString());


 
 }
 }

 public void bmiRes(String weight, String height) {
 double kg = Double.parseDouble(weight);
 double metre = Double.parseDouble(height);
 
 double result = kg / (metre * metre);
 si.setText(result + " "); 
 }
}

Thanks for read this post



Leave a Reply

Your email address will not be published. Required fields are marked *