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

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

তো যায় হোক J2me Tutorial এর ১৬ তম পার্ট টি নিয়ে আপনাদের মাঝে হাজির হলাম।

আজকের টপিক

J2me HttpConnection

হ্যাঁ বন্ধুরা আজকের এই পোস্ট এ আমি দেখাব কিভাবে HTTP Connection ইস্টাব্লিশড করে একটি পুরো ওয়েব পেজ কে ওপেন করবেন। অর্থাৎ পুরো ওয়েব পেজ এর Source কোড ওপেন হবে। আমরা একটা উদাহারণ এর ম্যাধ্যমে HTTP কানেকশন প্রস্তুত করা শিখবো।

নিচের ধাপ গুলো অনুসরন করুণ

প্রথমে নিচের দুটো package import করে নেই

import java.io;
import javax.microedition.io;

এখন আমরা গ্লোবাল variable গুল ডিক্লেয়ার করে নেই।

Display disp;
Form f;
Command exit;
StringBuffer sb;
StringItem is;
String url = "http://nayeem24.wapaxo.com";

আপনারা যে ওয়েব সাইট ওপেন করতে চান তার URL দিবেন url String এ . আমি আমার ওয়েবসাইট এর URL দিছি। practise হিসেবে এটা দিয়াই try করতে পারেন।

Note: URL অবশ্যই HTTP url দিতে হবে

এখন আমরা কনশট্রাক্টর এর কাজ করবো। উপরিউক্ত ভেরিয়েবল গুলো ইনিটিয়ালাইয করবো। প্রথমে disp তৈরী করি

disp = Display.getDisplay(this);

এরপর Form f তৈরি করি

f = new Form("HTTP Example");

এরপর StringBuffer তৈরী করি।

sb = new StringBuffer();

এখন StringItem তৈরি করি যেখানে ওয়েবসাইট এর প্রাপ্ত শর্শ জমা হবে।

si = new StringItem("Nayeem24","Connecting... \n please wait until loading completed");

এখন এই StringItem টা Form এ যুক্ত করি।

f.append(si);

এখন exit কমান্ড টা লিখব এবং Form এ যুক্ত করবো।

exit = new Command("Exit", Command.EXIT,0);
f.addCommand(exit);
f.setCommandListener(this);

এখন আমরা openCon() নামের একটা মেথড তৈরি খর্ব এবং url তা parametar হিসেবে দিবো।

openCon(url);

এখন startApp() এ Form টি show করাব।

disp.setCurrent(f);

এখন আমরা commandAction() এ exit command টা handle করবো।

if (c == exit) notifyDestroyed();

exit কমান্ড এ ক্লিক করলেই এপ বের করে দিবে।

এখন আমরা openCon() method টি তৈরি করবো এবং এখানেই HttpConnection establish করবো। তো, প্রথমে কোড ব্লক টি লিখে নেই।

public void openCon(String uri) {


}

এখন এটার ভিতরে HttpConnection এবং InputStream দুটো variable তৈরী করবো।

HttpConnection hc = null;
InputStream is = null;

এখন একতা try catch কোড ব্লক তৈরি করবো নিচের মতো।

try {


} catch (IOException ioe) {
f.append(ioe.toString());
} finally {
if (hc != null) hc.close;
if (is != null) is.close();
}

এখন try catch এর ভিতরে Http open করবো

hc = (HttpConnection) Connector.open(uri);

এখান থেকে InputStream বের করবো।

is = hc.openInputStream();
int ch;

এখন একটা while loop তৈরি করবো।

while ((ch = is.read()) != -1) {
 sb.append((char)ch);
si.setText(sb.toString());
}

while এর ভিতরে HttpConnection থেকে প্রাপ্ত InputStread Data StringBuffer এ যুক্ত করা হয়েছে। তারপর, StringBuffer String এ Convert করে StringItem এ যুক্ত করা হয়েছে। এই StringItem এর Data গুলোই Display তে show করবে। আজ এই পর্যন্তই।

Note: URL এ Https সাইট এর লিঙ্ক দিলে কাজ করবে না।

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

Download HttpExample

View Full Source Code

/*
* HTTP Example
* Code By Nayeem24

*/

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

public class HttpExample extends MIDlet implements CommandListener { Display disp; Form f; Command exit; StringBuffer sb; StringItem si; String url = "http://nayeem24.wapaxo.com"; public HttpExample() { disp = Display.getDisplay(this); f = new Form("HTTP Example"); sb = new StringBuffer(); si = new StringItem("Nayeem24", "Connecting.....\nPlease wait this may take several minutes"); exit = new Command("Exit", Command.EXIT,0); f.addCommand(exit); f.setCommandListener(this); openCon(url); } public void startApp() { f.append(si); disp.setCurrent(f); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } public void commandAction(Command c, Displayable d) { if (c == exit) notifyDestroyed(); } public void openCon(String uri) { HttpConnection hc = null; InputStream is = null; try { hc = (HttpConnection) Connector.open(uri); is = hc.openInputStream(); int ch; while ((ch = is.read()) != -1) { sb.append((char)ch); si.setText(sb.toString()); } } catch (IOException ioe) { f.append(ioe.toString()); } } }

5 thoughts on "J2me বা Java ME প্রোগ্রামিং শিখুন। এবং তৈরী করে ফেলুন Java ME Application আপনার হাতে থাকা জাভা ফোন টি দিয়ে (part: 16) [Open Web Page With HttpConnection]"

  1. MD Musabbir Kabir Ovi Author says:
    অনেকদিন পরে জাভা নিয়ে একটি পোস্ট পেলাম ধন্যবাদ
    1. Nayeem24 Author Post Creator says:
      Thanks too
  2. Jalal0063 Contributor says:
    এই প্রোগামিং languge শিখতে কতদিন লাগবে?
    1. Nayeem24 Author Post Creator says:
      Seta apnas skill ebong mon manosikotar upor depend kore
  3. Xein Ahmed Author says:
    Vloi toh! Tah Koyta app banailen AJ obdi?

Leave a Reply