Professional Documents
Culture Documents
Technology
heeryal (V), Keesara (M), Ranga Reddy District
DEPARTMENT OF
INFORMATION TECHNOLOGY
Lab In-Charge
HOD-IT
K.SRINIVAS
Dr. K. SRINIVAS
Asst. Prof.
Branch
No :
A70597
IT
Version
Year
:
IV
on : 21-05-2016
Updated
Semester:
pages : 131
No. of
K. SRINIVAS
1) Name :
3) Design :
4) Date
Modified by :
2) Sign
Asst. Prof .
3) Design :
21-05-2016
Verified by :
4) Date
1) Name
1) Name :
2) Sign
2) Sign
3) Design :
3) Design :
4) Date
4) Date
Approved by : (HOD )
1) Name :Dr. K. SRINIVAS
3) Date :
2) Sign
1. SYLLABUS
2. List of Exercises
S.No
Experiment
Page.No
14
Create a program which creates menu that contains copy, cut, paste, delete, select
all, unselect all options.
18
24
Create a slide show which has three slides, which includes only text. Program
should change to the new slide after 5 seconds. After the third slide program
returns to the first slide
31
Create a slide show which has three slides, which includes pictures at PNG format.
Program should change to the new slide other 5 seconds
38
Create a MIDP application, which show to the user 5-10 quiz questions. All
questions have 4 possible options and one right option exactly. Application counts
and shows to the user how many right answers were right and shows them to user
46
Create a MIDP application which Examine ,that a phone number, which a user
entered in given format
62
Create a MIDP application, which draws a bar graph to the display. Data values
can be given at int[] array
69
Create a MIDP application, which draws a pie chart to the display. Data values can
be given at int[] array. You can enter four data (integer) values to the input text
field
76
10
Create a sample program that shows how to display a simple LOGIN SCREEN on
the J2ME phone and how to authenticate to a HTTP server.
83
11
89
3. ADDITIONAL PROGRAMS
S.No
Experiment
Page.No
97
103
108
115
4. MICRO PLAN
S.No
Date
Experiment
17/6/16
24/6/16
Create a program which creates menu that contains copy, cut, paste, delete, select all,
unselect all options.
1/7/16
15/7/16
Create a slide show which has three slides, which includes only text. Program should
change to the new slide after 5 seconds. After the third slide program returns to the
first slide
22/7/16
Create a slide show which has three slides, which includes pictures at PNG format.
Program should change to the new slide other 5 seconds
29/7/16
Create a MIDP application, which show to the user 5-10 quiz questions. All questions
have 4 possible options and one right option exactly. Application counts and shows to
the user how many right answers were right and shows them to user
5/8/16
Create a MIDP application which Examine ,that a phone number,which a user entered
in given format
12/8/16
Create a MIDP application, which draws a bar graph to the display. Data values can
be given at int[] array
19/8/16
Create a MIDP application, which draws a pie chart to the display. Data values can be
given at int[] array. You can enter four data (integer) values to the input text field
10
26/8/16
Create a sample program that shows how to display a simple LOGIN SCREEN on the
J2ME phone and how to authenticate to a HTTP server.
11
2/9/16
12
9/9/16
13
16/9/16
14
23/9/16
15
7/10/16
7. LAB OBJECTIVE
7
In this lab, a student is expected to design, implement, document and present a mobile
client/server system using standard Java and Java 2 Micro Edition (J2ME) platform. Specifically it is
required to design and implement a system that consists mainly of a mobile client (MC) and a Proxy
Server (PS). MC will be written in J2ME, MIDP 2.0, while PS will be written in standard Java. It is
necessary to use a mobile phone emulator to develop and demonstrate the experiments.
It may be necessary to use other components or existing resources (servers) as needed. For
instance a database local to PS or a web service available on the Internet that can be invoked by the PS.
1) If the Java Development Kit (JDK) is not there or only having the Java Runtime Environment (JRE)
installed, install the latest JDK from http://java.sun.com/javase/downloads/index.jsp. Current stable
release of Java is JDK 6 Update 7 but check the web page in case there are newer non-beta releases
available.
2) Next, download the Java Wireless Toolkit (formerly called J2ME Wireless Toolkit) from:
http://java.sun.com/products/sjwtoolkit/download.html.
3) Run the installer (for example, for Windows it is: sun_java_wireless_toolkit- 2_5_2 windows.exe).
The installer checks whether a compatible Java environment has been pre-installed. If not, it is necessary
to uninstall old versions of Java and perform Step 1 again.
Once after successful installation of Java and the tool kit compile this program and run the following
program in the toolkit.
Steps to run this program in toolkit:
1.
2.
3.
4.
5.
6.
Start -> All Programs -> Sun Java Tool Kit -> Wireless Tool Kit
Click New Project Enter Project Name -> Enter Class Name -> Click on Create Project.
Choose appropriate API Selection and Configurations.
Place Java Source file in WTK2.1 / WTK2.2\apps\projectname\src
Build the Project.
Run the Project
11.
A recognition of the need for and an ability to engage in life-long learning and continuing
professional development
12.
Knowledge of contemporary issues.
13.
An ability to apply design and development principles in producing software systems of
varying complexity using various project management tools.
14.
An ability to identify, formulate and solve innovative engineering problems.
12
PEO1,PEO2
MAD
.S.No
POs
Course Outcome
PO2, PO6,PO9
PO2,PO5,PO6,
PO8,PO9,PO14
PO2,PO6,PO8
PO2,PO6,PO8
13
Step-2:-Click New Project Enter project Name as FirstMidlet -> Enter ClassName as HelloMidlet>click on Create Project
Step-3:- A setting window will open up. Accept the defaults by clicking ok in that window.
14
15
Flowchart:
16
Program:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloMidlet extends MIDlet
{
public HelloMidlet()
{
}
public void startApp()
{
Form form = new Form( "First Program" );
form.append( "Hello World" );
Display.getDisplay(this).setCurrent( form );
}
public void pauseApp()
{
}
public void destroyApp( boolean unconditional )
{
}
}
17
OUTPUT:
18
19
Flowchart
20
Program:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class MenuCreation extends MIDlet implements CommandListener
{
public ChoiceGroup ch;
public Form form;
public Display display;
public Command cmd;
public StringItem st;
public MenuCreation()
{
display=Display.getDisplay(this);
ch=new ChoiceGroup("Edit",Choice.EXCLUSIVE);
ch.append("cut",null);
ch.append("copy",null);
ch.append("paste",null);
ch.append("delete",null);
ch.append("select all",null);
ch.append("unselect all",null);
ch.setSelectedIndex(1, true);
cmd=new Command("Select list item",Command.OK,1);
form=new Form("");
form.append(ch);
form.addCommand(cmd);
form.setCommandListener(this);
21
st=new StringItem("","");
}
public void startApp()
{
display.setCurrent(form);
}
public void pauseApp()
{
}
public void destroyApp(boolean unconditional)
{
}
public void commandAction(Command command,Displayable displayable)
{
if(command==cmd)
{
st.setText("");
st.setText("your selected option is "+ch.getString(ch.getSelectedIndex()));
form.append(st);
}}}
22
OUTPUT:
23
24
Flowchart
25
Program:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class MenuEvents extends MIDlet implements CommandListener,ItemStateListener
{
form.append(ch);
ch1=new ChoiceGroup("",Choice.EXCLUSIVE);
ch1.append("select all",null);
ch1.append("unselect all",null);
ch1.setSelectedIndex(1, true);
form.append(ch1);
View=new Command("View",Command.OK,1);
Exit =new Command("Exit",Command.EXIT,1);
Back=new Command("Back",Command.BACK,1);
form.addCommand(View);
form.addCommand(Exit);
form1.addCommand(Back);
form.setCommandListener(this);
form1.setCommandListener(this);
form.setItemStateListener(this);
}
public void startApp()
{
display.setCurrent(form);
}
public void pauseApp()
{
}
public void destroyApp(boolean unconditional)
{
}
public void commandAction(Command command,Displayable displayable)
27
{
if(displayable==form)
{
if(command==View)
{
boolean opt[]=new boolean[ch.size()];
options=new StringItem("","");
String values="";
ch.getSelectedFlags(opt);
options.setText("");
for(int i=0;i<opt.length;i++)
{
if(opt[i])
{
values+=ch.getString(i)+"\n";
}
}
options.setText(values);
form1.append(options);
display.setCurrent(form1);
}
else if(command==Exit)
{
destroyApp(true);
notifyDestroyed();
}
}
28
else if(displayable==form1)
{
if(command==Back)
{
display.setCurrent(form);
options.setText("");
}
}
}
public void itemStateChanged(Item item)
{
if(item==ch1)
{
int i=0;
int size=ch.size();
while(i<size)
{
if(ch1.getSelectedIndex()==0)
ch.setSelectedIndex(i, true);
else
ch.setSelectedIndex(i, false);
i++;
}
}
}
}
29
OUTPUT:
30
Experiment 4: Create a slide show which has three slides, which includes only text. Program
should change to the new slide after 5 seconds. After the third slide program returns to the first
slide.
31
Flowchart
32
Program:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class SlideShow extends MIDlet implements CommandListener {
}
else if(displayable==slide2)
{
if(command==Exit)
notifyDestroyed();
}
else if(displayable==slide3)
{
if(command==Exit)
notifyDestroyed();
34
}
}
}
else if(c==4)
c=0;
try
{
Thread.sleep(1500);
}
catch(Exception ex)
{
}
}
}
}
36
OUTPUT:
37
Experiment 5: Create a slide show which has three slides, which includes pictures at PNG format.
Program should change to the new slide other 5 seconds.
38
Flowchart
39
Program:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class imageSlideShow extends MIDlet implements CommandListener {
public Form slide1;
public Form slide2;
public Form slide3;
public Command Exit;
public Display display;
public Image image1;
public Image image2;
public Image image3;
public ImageItem imageitem1;
public ImageItem imageitem2;
public ImageItem imageitem3;
public imageSlideShow()
{
display=Display.getDisplay(this);
try
{
image1=Image.createImage("/1.png");
image2=Image.createImage("/2.png");
image3=Image.createImage("/3.png");
imageitem1=new ImageItem(null,image1,ImageItem.LAYOUT_CENTER,"image1");
imageitem2=new ImageItem(null,image2,ImageItem.LAYOUT_CENTER,"image2");
imageitem3=new ImageItem(null,image3,ImageItem.LAYOUT_CENTER,"image3");
}
40
catch(Exception ex)
{
Exit=new Command("Exit",Command.EXIT,1);
slide1=new Form("Slide1");
slide1.append(imageitem1);
slide1.addCommand(Exit);
slide2=new Form("Slide2");
slide2.append(imageitem2);
slide2.addCommand(Exit);
slide3=new Form("Slide3");
slide3.append(imageitem3);
slide3.addCommand(Exit);
slide1.setCommandListener(this);
slide2.setCommandListener(this);
slide3.setCommandListener(this);
}
public void startApp() {
Thread runner = new Thread(new ThreadRunner(display,slide1,slide2,slide3));
runner.start();
}
}
else if(displayable==slide2)
{
if(command==Exit)
notifyDestroyed();
}
else if(displayable==slide3)
{
if(command==Exit)
notifyDestroyed();
}
}
}
Display display;
public int c=0;
public Form slide1;
public Form slide2;
public Form slide3;
public ThreadRunner(Display display,Form slide1,Form slide2,Form slide3) {
this.display = display;
this.slide1=slide1;
this.slide2=slide2;
this.slide3=slide3;
}
try
{
43
Thread.sleep(1500);
}
catch(Exception ex)
{
}
}
}
}
44
OUTPUT:
45
Experiment 6: Create a MIDP application, which show to the user 5-10 quiz questions. All
questions have 4 possible options and one right option exactly. Application counts and shows to the
user how many right answers were right and shows them to user.
46
Flowchart
47
Program:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.rms.*;
import java.io.*;
public class QuizMidlet extends MIDlet implements CommandListener {
ch1=new ChoiceGroup("",Choice.EXCLUSIVE);
ch1.append("Java 2 Mobile Edition", null);
ch1.append("Java 2 Macro Edition", null);
ch1.append("Java 2 Micro Edition", null);
ch1.append("Java 2 Music Edition", null);
form1.append(ch1);
form1.addCommand(nextCommand);
form1.setCommandListener(this);
ch2=new ChoiceGroup("",Choice.EXCLUSIVE);
ch2.append("b+a", null);
ch2.append("b*a", null);
ch2.append("b/a", null);
ch2.append("b-a", null);
form2.append(ch2);
form2.addCommand(nextCommand);
form2.addCommand(backCommand);
form2.setCommandListener(this);
ch3=new ChoiceGroup("",Choice.EXCLUSIVE);
ch3.append("20", null);
ch3.append("30", null);
ch3.append("10", null);
ch3.append("25", null);
form3.append(ch3);
form3.addCommand(nextCommand);
50
form3.addCommand(backCommand);
form3.setCommandListener(this);
ch4=new ChoiceGroup("",Choice.EXCLUSIVE);
ch4.append("Rosiah", null);
ch4.append("Jagan", null);
ch4.append("ChandaBabu", null);
ch4.append("Kiran", null);
form4.append(ch4);
form4.addCommand(nextCommand);
form4.addCommand(backCommand);
form4.setCommandListener(this);
ch5=new ChoiceGroup("",Choice.EXCLUSIVE);
ch5.append("8", null);
ch5.append("4", null);
ch5.append("11", null);
ch5.append("23", null);
form5.append(ch5);
form5.addCommand(backCommand);
form5.addCommand(nextCommand);
form5.setCommandListener(this);
form6.addCommand(OkCommand);
form6.addCommand(ExitCommand);
form6.addCommand(sCommand);
form6.setCommandListener(this);
form7.addCommand(backCommand);
51
form7.setCommandListener(this);
try
{
recordstore=RecordStore.openRecordStore("Quiz", true);
}
catch(Exception ex)
{
}
}
public void startApp() {
display.setCurrent(form1);
}
if(displayable==form1)
{
if(cmd==nextCommand)
display.setCurrent(form2);
52
}
else if(displayable==form2)
{
if(cmd==nextCommand)
display.setCurrent(form3);
else if(cmd==backCommand)
display.setCurrent(form1);
}
else if(displayable==form3)
{
if(cmd==nextCommand)
display.setCurrent(form4);
else if(cmd==backCommand)
display.setCurrent(form2);
}
else if(displayable==form4)
{
if(cmd==nextCommand)
display.setCurrent(form5);
else if(cmd==backCommand)
display.setCurrent(form3);
}
else if(displayable==form5)
{
if(cmd==nextCommand)
{
53
if(ch1.getSelectedIndex()==2)
count++;
if(ch2.getSelectedIndex()==0)
count++;
if(ch3.getSelectedIndex()==3)
count++;
if(ch4.getSelectedIndex()==3)
count++;
if(ch5.getSelectedIndex()==3)
count++;
st.setText(String.valueOf(count));
form6.append(st);
form6.append(textfield);
display.setCurrent(form6);
}
else if(cmd==backCommand)
display.setCurrent(form4);
}
else if(displayable==form6)
{
if(cmd==OkCommand)
{
try
{
54
String Pname=textfield.getString();
int Points=Integer.parseInt(st.getText());
byte[] bytes;
ByteArrayOutputStream ostream=new ByteArrayOutputStream();
DataOutputStream dstream =new DataOutputStream(ostream);
dstream.writeUTF(Pname);
dstream.writeInt(Points);
dstream.flush();
bytes=ostream.toByteArray();
recordstore.addRecord(bytes, 0,bytes.length );
ostream.reset();
ostream.close();
dstream.close();
alert =new Alert("Message","Saved",null,AlertType.INFO);
alert.setTimeout(Alert.FOREVER);
display.setCurrent(alert);
}
catch(Exception ex)
{
alert =new Alert("Message",ex.toString(),null,AlertType.INFO);
alert.setTimeout(Alert.FOREVER);
display.setCurrent(alert);
}
}
else if(cmd==ExitCommand)
{
55
try
{
recordstore.closeRecordStore();
notifyDestroyed();
}
catch(Exception ex)
{
}
}
else if(cmd==sCommand)
{
try
{
byte[] bytes=new byte[300];
ByteArrayInputStream bstream=new ByteArrayInputStream(bytes);
DataInputStream dstream=new DataInputStream(bstream);
StringBuffer sb=new StringBuffer();
comp=new Compare();
re=recordstore.enumerateRecords(null, comp,false);
st1.setText("");
while(re.hasNextElement())
{
recordstore.getRecord(re.nextRecordId(), bytes, 0);
sb.append(dstream.readUTF()+"|"+dstream.readInt());
sb.append("\n");
dstream.reset();
56
}
bstream.close();
dstream.close();
st1.setText(sb.toString());
form7.append(st1);
}
catch(Exception ex)
{
alert =new Alert("Msg",ex.toString(),null,AlertType.INFO);
alert.setTimeout(Alert.FOREVER);
display.setCurrent(alert);
}
display.setCurrent(form7);
}
}
else if(displayable==form7)
{
if(cmd==backCommand)
display.setCurrent(form6);
}
}
}
else if(r1int>r2int)
{
or= RecordComparator.PRECEDES;
}
else if(r1int<r2int)
{
or= RecordComparator.FOLLOWS;
}
return or;
}
catch(Exception ex)
{
return RecordComparator.EQUIVALENT;
}
}
}
}
catch(Exception ex)
{
}
}
}
60
OUTPUT:
61
Experiment 7:Create a MIDP application which Examine ,that a phone number,which a user
entered in given format.
Objective: Able to understand J2ME features
Outcome: Knowledge about the MIDlet class and Forms
Algorithm
Step-1----.Import the packages needed to run the MIDlet and implements the interface needed
Step-2----Declare the variables needed in the MIDlet
Step-3--- Start the life cycle of MIDlet
Step-4----Write the methods required
startApp(),pauseApp(),destroyApp();
Step-5--- Enter the phone number
Step-6----if the format is correct then display OK
Step-7----if not then display WRONG
62
Flowchart
63
Program:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public InputChecking()
{
display=Display.getDisplay(this);
form1=new Form("Insert the Phone number");
exitCommand=new Command("Exit",Command.EXIT,1);
okCommand=new Command("Ok",Command.OK,1);
st=new StringItem("Phone Number is ","");
textfield1=new TextField("Phone;","",30,TextField.ANY);
form1.append(textfield1);
form1.addCommand(okCommand);
form1.addCommand(exitCommand);
form1.setCommandListener(this);
64
}
public void startApp() {
display.setCurrent(form1);
}
String s=textfield1.getString();
s=s.replace(' ', '.');
int len=s.length();
int i=0;
int c=0;
String s1="";
while(i<len)
{
65
if(s.charAt(i)=='.')
{
if(c==0)
{
s1="";
}
}
if(c==1)
{
if(s1.length()-1==3)
{
c++;
s1="";
}
}
}
s1=s1+s.charAt(i);
i++;
66
if(c==3)
st.setText("OK");
else
{
st.setText("wrong\n Phone Number Format is xxx xxx xxxx\nArea code must be 040|050|041|
0400|044");
}
form1.append(st);
}
}
}
67
OUTPUT:
68
Experiment 8: Create a MIDP application, which draws a bar graph to the display. Data values
can be given at int[] array.
69
Flowchart
70
Program:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class BarGraphMIDlet extends MIDlet implements CommandListener{
public Form form;
public Command exitCommand;
public Command OkCommand;
public Command backCommand;
public Displayable d;
public Display display;
public TextField textfield1;
public TextField textfield2;
public TextField textfield3;
public TextField textfield4;
public TextField textfield5;
public BarGraphMIDlet()
{
display=Display.getDisplay(this);
form=new Form("BarGraph");
textfield1=new TextField("Value1:-","",30,TextField.ANY);
textfield2=new TextField("Value2:-","",30,TextField.ANY);
textfield3=new TextField("Value3:-","",30,TextField.ANY);
textfield4=new TextField("Value4:-","",30,TextField.ANY);
textfield5=new TextField("Value5:-","",30,TextField.ANY);
form.append(textfield1);
form.append(textfield2);
71
form.append(textfield3);
form.append(textfield4);
form.append(textfield5);
OkCommand=new Command("Ok",Command.OK,1);
exitCommand=new Command("Exit",Command.EXIT,1);
backCommand=new Command("Back",Command.BACK,1);
form.addCommand(OkCommand);
form.addCommand(exitCommand);
form.setCommandListener(this);
}
public void startApp() {
display.setCurrent(form);
}
data[0]=Integer.parseInt(textfield1.getString());
data[1]=Integer.parseInt(textfield2.getString());
data[2]=Integer.parseInt(textfield3.getString());
data[3]=Integer.parseInt(textfield4.getString());
data[4]=Integer.parseInt(textfield5.getString());
d=new BarCanvas(data);
d.addCommand(backCommand);
d.setCommandListener(this);
display.setCurrent(d);
}
else if(command==exitCommand)
notifyDestroyed();
}
else if(displayable==d)
{
if(command==backCommand)
display.setCurrent(form);
}
}
}
int[] data;
public int x;
public int y;
public int y1;
73
public int h;
public BarCanvas(int[] data)
{
this.data=data;
x=10;
}
public void paint(Graphics g)
{
g.setColor(255, 255, 255);
g.fillRect(0, 0, this.getWidth(), this.getHeight());
g.setColor(255, 125, 100);
int i=0;
y1=data[0];
h=200;
while(i<data.length)
{
y=data[i];
h=200+y1-y;
g.fillRect(x, y,25 , h);
x+=30;
i++;
}
}
}
74
OUTPUT:
75
Experiment 9:Create a MIDP application, which draws a pie chart to the display. Data values can
be given at int[] array. You can enter four data (integer) values to the input text field.
76
Flowchart
77
Program:
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
public class PieChartMIDlet extends MIDlet implements CommandListener {
public Form form;
public Command exitCommand;
public Command OkCommand;
public Display display;
public TextField textfield1;
public TextField textfield2;
public TextField textfield3;
public TextField textfield4;
public TextField textfield5;
public Displayable d;
public void startApp() {
display = Display.getDisplay(this);
form=new Form("Draw Pie");
textfield1=new TextField("Value1:-","",30,TextField.ANY);
textfield2=new TextField("Value2:-","",30,TextField.ANY);
textfield3=new TextField("Value3:-","",30,TextField.ANY);
textfield4=new TextField("Value4:-","",30,TextField.ANY);
textfield5=new TextField("Value5:-","",30,TextField.ANY);
form.append(textfield1);
form.append(textfield2);
form.append(textfield3);
form.append(textfield4);
form.append(textfield5);
78
data[0]=Integer.parseInt(textfield1.getString());
data[1]=Integer.parseInt(textfield2.getString());
data[2]=Integer.parseInt(textfield3.getString());
data[3]=Integer.parseInt(textfield4.getString());
data[4]=Integer.parseInt(textfield5.getString());
d = new PieChartCanvas(data);
d.addCommand(exitCommand);
79
d.setCommandListener(this);
display.setCurrent(d);
}
}
else if(s==d)
{
if(c==exitCommand)
display.setCurrent(form);
}
}
}
81
OUTPUT:
82
Experiment 10: This J2ME sample program shows how to display a simple LOGIN SCREEN on
the J2ME phone and how to authenticate to a HTTP server. Many J2ME applications for security
reasons require the authentication of the user. This free J2ME sample program, shows how a J2ME
application can do authentication to the backend server.
Note: Use Apache Tomcat Server as Web Server and Mysql as Database Server.
Objective: Able to understand J2ME features
Outcome: Knowledge about the MIDlet class and jsp
Algorithm:Step-1---Create a Database
Step-2---Insert values into table
Step-3---Create jsp file
Step-4---import all sql packages in jsp file
Step-5----create data input stream
Step-6---intialise the index
Step-7---jdbc connection steps
Step-8---Install Tomcat Server and deploy jsp file .
Step-9---Create a Java ME program
Step-10--- Import the packages needed to run the MIDlet
Step-11----declare the variables needed in the MIDlet
Step-12----Start the life cycle of MIDlet
Step-13-----Write the methods required
startApp(),pauseApp(),destroyApp();
Step-14---. Display the message in the emulator
83
Flowchart
84
Program:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import java.io.*;
public class login extends MIDlet implements CommandListener {
public Form form1;
public Command okCommand;
public Display display;
public HttpConnection ht=null;
public InputStream ist=null;
public StringItem st;
public TextField t1;
public TextField t2;
public Alert alert;
public Form form2;
public login()
{
display=Display.getDisplay(this);
st=new StringItem(" "," Welcome");
alert =new Alert(" ","Wrong UserName or Password",null,AlertType.INFO);
form1.addCommand(okCommand);
form1.setCommandListener(this);
form1.append(t1);
form1.append(t2);
form2.append(st);
}
//
String url="http://192.168.5.19:8080/WebApplication7/index.jsp?t1=101&t2=aaa";
String url="http://192.168.5.19:8080/WebApplication7/index.jsp?t1="+t1.getString().trim()
+"&t2="+t2.getString().trim();
86
//ht=(HttpConnection)Connector.open("http://192.168.5.19:8080/WebApplication7/index.jsp");
ht=(HttpConnection)Connector.open(url);
ist=ht.openInputStream();
byte[] b=new byte[900];
ist.read(b);
String s=new String(b);
s=s.trim();
if(s.equals("ok"))
display.setCurrent(form2);
else
{
alert.setTimeout(Alert.FOREVER);
display.setCurrent(alert);
}
}
catch(Exception ex)
{
form1.append(ex.toString());
}}}}
87
OUTPUT:
88
89
Flowchart
90
Program:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
}
public void startApp() {
display.setCurrent(form1);
}
form2.append(datagram.getData().toString());
} finally {
92
dgc.close();
}
} catch (Exception x){
x.printStackTrace();
}
display.setCurrent(form2);
}
}
else if(displayable==form2)
{
if(cmd==exitCommand)
{
notifyDestroyed();
}
else if(cmd==refreshCommand)
{
st.setText(" ");
}
}
}
}
93
Client
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
public class DatagramClient extends MIDlet implements CommandListener{
public Form form1;
public Display display;
public TextField textfield;
public Command sendCommand;
public DatagramClient()
{
display=Display.getDisplay(this);
form1=new Form("Datagram Client");
sendCommand=new Command("send",Command.OK,1);
textfield=new TextField("Enter Text",null,30,TextField.ANY);
form1.append(textfield);
form1.addCommand(sendCommand);
form1.setCommandListener(this);
}
public void startApp() {
display.setCurrent(form1);
}
94
}
}
}
95
Output
ADDITIONAL PROGRAMS
96
97
Flowchart
98
Program:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class MutableImageExample extends MIDlet
{
private Display display;
private MyCanvas canvas;
public MutableImageExample()
{
display=Display.getDisplay(this);
canvas=new MyCanvas(this);
}
protected void startApp()
{
display.setCurrent(canvas);
}
protected void pauseApp()
{
}
protected void destroyApp(boolean unconditional)
{
}
public void exitMIDlet()
{
destroyApp(true);
99
notifyDestroyed();
}
class MyCanvas extends Canvas implements CommandListener
{
private Command exit;
private MutableImageExample mutableImageExample;
private Image image=null;
public MyCanvas(MutableImageExample mutableImageExample)
{
this.mutableImageExample=mutableImageExample;
exit=new Command("Exit",Command.EXIT,1);
addCommand(exit);
setCommandListener(this);
try
{
image=Image.createImage(70,70);
Graphics graphics=image.getGraphics();
graphics.setColor(255,0,0);
graphics.fillArc(10,10,60,50,180,180);
}
catch(Exception error)
{
Alert alert=new Alert("Failure","creating Image",null,null);
alert.setTimeout(Alert.FOREVER);
display.setCurrent(alert);
100
}
}
protected void paint(Graphics graphics)
{
if(image!=null)
{
graphics.setColor(255,255,255);
graphics.fillRect(0,0,getWidth(),getHeight());
graphics.drawImage(image,30,30,Graphics.VCENTER|Graphics.HCENTER);
}
}
public void commandAction(Command command,Displayable display)
{
if(command==exit)
{
mutableImageExample.exitMIDlet();
}
}
}
}
101
OUTPUT:
102
103
Flowchart:
104
Program:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class ImmutableImage extends MIDlet implements CommandListener
{
private Display display;
private Form form;
private Command exit;
private Image image;
private ImageItem imageItem;
public ImmutableImage()
{
display = Display.getDisplay(this);
exit=new Command("Exit",Command.EXIT,1);
form=new Form("Immutable Image Example");
form.addCommand(exit);
form.setCommandListener(this);
try
{
image=Image.createImage("myimage.png");
imageItem=new ImageItem(null,image,ImageItem.LAYOUT_NEWLINE_BEFORE|
ImageItem.LAYOUT_LEFT|ImageItem.LAYOUT_NEWLINE_AFTER,"My Image");
form.append(imageItem);
}
catch(java.io.IOException error)
105
{
Alert alert =new Alert("Error","cannot load myimage.png.",null,null);
alert.setTimeout(Alert.FOREVER);
alert.setType(AlertType.ERROR);
display.setCurrent(alert);
}
}
public void startApp()
{
display.setCurrent(form);
}
public void pauseApp()
{
}
public void destroyApp(boolean unconditional)
{
}
public void commandAction(Command command,Displayable displayable)
{
if(command==exit)
{
destroyApp(false);
notifyDestroyed();
}
}}
106
OUTPUT:
107
108
Flowchart
109
Program:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class GaugeNonInteractive extends MIDlet implements CommandListener
{
public Display display;
private Form form;
private Command exit;
private Command start;
private Gauge gauge;
private boolean isSafeToExit;
public GaugeNonInteractive()
{
display=Display.getDisplay(this);
gauge=new Gauge("Progress Tracking",false,100,0);
exit= new Command("Exit",Command.EXIT,1);
start= new Command("Start",Command.SCREEN,1);
form=new Form(" ");
form.append(gauge);
form.addCommand(start);
form.addCommand(exit);
form.setCommandListener(this);
isSafeToExit=true;
}
public void startApp()
110
{
display.setCurrent(form);
}
public void pauseApp()
{
}
public void destroyApp(boolean unConditional)throws MIDletStateChangeException
{
if(!unConditional)
{
throw new MIDletStateChangeException();
}
}
public void commandAction(Command command,Displayable displayable)
{
if(command==exit)
{
try
{
destroyApp(isSafeToExit);
notifyDestroyed();
}
catch(MIDletStateChangeException Error)
{
Alert alert=new Alert("Busy","please try again.",null,AlertType.WARNING);
111
alert.setTimeout(1500);
display.setCurrent(alert,form);
}
}
else if(command==start)
{
form.removeCommand(start);
new Thread(new GaugeUpdater()).start();
}
}
class GaugeUpdater implements Runnable
{
GaugeUpdater()
{
}
public void run()
{
isSafeToExit=false;
try
{
while(gauge.getValue()<gauge.getMaxValue())
{
Thread.sleep(1000);
gauge.setValue(gauge.getValue() +1);
}
112
isSafeToExit=true;
gauge.setLabel("process completed");
}
catch(InterruptedException Error)
{
throw new RuntimeException (Error.getMessage());
}
}
}
}
113
OUTPUT:
114
115
Flowchart
116
Program:
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
public class GaugeInteractive extends MIDlet implements CommandListener
{
public Form form;
public Command exit;
public Command vote;
public Display display;
public Gauge gauge;
public GaugeInteractive()
{
display = Display.getDisplay(this);
gauge=new Gauge
("rate this movie",true,5,1);
exit=new Command("vote",
Command.EXIT,1);
vote=new Command("vote",
Command.SCREEN,1);
form=new Form();
form.addCommand(exit);
form.addCommand(vote);
form.append(gauge);
form.setCommandListener(this);
117
}
public void startApp()
{
display.setCurrent(form);
}
public void pauseApp()
{
}
public void destroyApp(boolean
unconditional)
{
}
public void commandAction(Command command,Displayable displayable)
{
if(command==exit)
{
destroyApp(false);
notifyDestroyed();
}
else if(command==vote)
{
String msg=
String.valueOf(gauge.getValue());
Alert alert=new Alert("Ranking",msg,null,null);
118
alert.setTimeout(Alert.FOREVER);
alert.setType(AlertType.INFO);
display.setCurrent(alert);
}}
}
119
OUTPUT:
120
121
122
OBJECTIVE TYPE
1) Which of the following are JAD file attributes
(D)All
[ ]
(D) CPDC
11) A platform, on which developers can build and implement programs to control small computing
devices is called ________________
12) A.______________ is front-end software that depends on back-end software for much of the system
processing
13) Extend CLDC _________________
14) CDC devices use a ____________bit architecture
15) __________ creates a machine code image of an application before the application is deployed on
the small computing device.
16) the ChoiceGroup class is derived from the __________ class
17) Every graphic context has two characteristics ------------ and ----------18) An image is drawn on a canvas using a _______________
19) The _________________ class creates an animated progress bar that graphically represents the status
of a process.
20) the MIDlet can implement an _______________ which is notified whenever the state of an item
changes.
124
Answers
1)D
2)A
3)D
4)A
14) 32
5)A
15) ROMizing
6)B
16) Item
7)C
8)D
9)C
19) Gauge
10)B
20) Listener
125
[ ]
(A) RMS provides database functionality (B) RMS is not a relational database
(C) with RMS we cant interact with SQL (D)All
2) The -----------method frees resources used by the implementation of the RecordFilter interface once the
search is completed
3) The --------------object is used whenever a J2ME application needs to execute a query immediately
without first having the query compiled.
[ ]
(C) Primary
(D) All
126
127
Answers
1)D
2)B
3)A
13) RecordFilter
4)D
5)A
15) DriverManager.getConnection()
6)D
16) Class.forName()
7)D
17) BLOB
8)C
18) inner
9)B
19) ContentConnection
10)C
20) StreamConnection
128
REFERENCES
1. www.alljntuworld.in
2. www.madlab.org/piclab/piclab.pdf
3. https://www.androidpit.com/app/edu.surya.madlab
4. mca.griet.ac.in/ppt/j2me%20lab.pdf
5. www.jbiet.edu.in/.../it/MAD%20LAB%20MANUALS%20UDAY%20KIRAN.pdf
129
Students List
IV.B.Tech (IT)
Sl.No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Admn No
13R11A1201
13R11A1202
13R11A1203
13R11A1204
13R11A1205
13R11A1206
13R11A1207
13R11A1208
13R11A1209
13R11A1211
13R11A1212
13R11A1213
13R11A1214
13R11A1215
13R11A1216
13R11A1217
13R11A1218
13R11A1219
13R11A1220
13R11A1221
13R11A1222
13R11A1223
13R11A1224
13R11A1225
13R11A1226
13R11A1227
13R11A1228
13R11A1229
13R11A1230
13R11A1231
13R11A1232
13R11A1233
13R11A1234
13R11A1235
13R11A1236
13R11A1237
13R11A1238
13R11A1239
13R11A1241
13R11A1242
13R11A1243
13R11A1244
13R11A1245
13R11A1246
13R11A1247
13R11A1248
13R11A1249
13R11A1250
Student Name
ABBRHAPUDI RAMYA SREE
ALLURI MANIKANTH
ANTHI REDDY GARI SOWJANYA REDDY
ANURAAG SRINIVAS
BAJJURI RAHUL
BANDI NAVYA NISCHALA
BHARGAV KULKARNI
BOLLAMPALLI ROJA
CHIKYALA SHAMITHA RAO
CHITUMALLA RISHIKA
D VARUN RAJ
DANDA LAKSHMI VINUSHA
G AKHIL GOUD
G BHARGAV
GADDAM PRAVEEN REDDY
GADE MARY MADHULIKA
GAJJALA JYOTHISRI SUDHAKAR
GANGANNAGARI KISHORE REDDY
JATAVATH RAJU NAYAK
K MANOJ
KOTTAPALLI NIHARIKA
K RAJA SEKHAR
KANAGANTI POOJA
KARRI SIVAKANTH REDDY
KAVERIGARI AKSHAY REDDY
KOCHERLAKOTA R S SRIBHAVANI
KOKA M0HIT
KOMARRAJU ALEKHYA
KUMBHARAGERI PRIYANKA
LAXMI PRIYA N
MANGALAMPALLY RAGHURAM
MANJAKUPAM SAI KUMAR KARTHIK
MV LAKSHMI
NAGELLY VAMSHI
NEELA MAHESH
NISHTALA MANISHA
PALAPARTHI VENKATA SIVA VYSHNAV
RAJMPET ABHINAY NAND
S SRI SAI POOJA
SAGAR J DHORI
SAHITYA M
SARASAM BHARATH REDDY
SPARSHA SINGH
SRI ISHA AKKIREDDY
TEJAS RAJENDER BARATE
TEKULAPALLY AMARSEN REDDY
V E SAI SWAPNIL
VADIPELLIWAR SURAJ
130
49
50
51
52
53
54
13R11A1251
13R11A1252
13R11A1253
12R11A1249
12R11A1218
12R11A1232
131