MOBILE COMPUTING LABORATORY - Department of … · 1 mobile computing laboratory list of...
Transcript of MOBILE COMPUTING LABORATORY - Department of … · 1 mobile computing laboratory list of...
1
MOBILE COMPUTING LABORATORY
LIST OF EXPERIMENTS
1. ADDITION OF TWO NUMBERS USING WML
2. DESIGN A CALCULATOR USING WML
3. DESIGN OF CALENDAR USING J2ME
4. DESIGN OF TIMER TO SYSTEM TIME USING J2ME
5. DESIGN A QUIZ GAME USING J2ME
6. DESIGN A GAME USING J2ME (TIC TAC TOE)
7. ANIMATING AN IMAGE USING J2ME
8. DESIGN A PERSONAL PHONE BOOK
9. SIMULATON OF AUTHENTICATION TECHNIQUE
10. BROWSING THE INTERNET USING MOBILE PHONE SIMULATOR
2
ADDITION OF TWO NUMBERS USING WML
PROGRAM:
add.wml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN"
"http://www.wapforum.org/DTD/wml13.dtd">
<wml>
<card id="valid" title="Validate">
<p> Simple Calculator!
Enter first number:
<input name="num1" title="firstnum" format="N"/><br/>
Enter second number:
<input name="num2" title="secondnum" format="N"/><br/>
<do type="accept" label="Check">
<go href="add.wmlsc#add($(num1),$(num2))"/>
</do>
</p>
</card>
<card id="result" title="result">
<p> Number1+Number2 = $(res) <br/></p>
</card>
</wml>
add.wmls
extern function add(A,B) {
// enter your function body here
var aNum = WMLBrowser.getVar("num1");
var bNum = WMLBrowser.getVar("num2");
WMLBrowser.setVar("res",A+B);
WMLBrowser.go("add.wml#result");
}
3
DESIGN A CALCULATOR USING WML
PROGRAM:
Calc.wml
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="card1" title="Calculator" newcontext="true">
<p>
Value1: <br/><input format="N*M" name="amount1" title="First Amount:"/>
Operator : <br/><select name="operator" value="ADD" title="Operation:">
<option value="ADD">Addition</option>
<option value="SUB">Subtraction</option>
<option value="MULT">Multiplication</option>
<option value="DIV">Division</option>
</select>
Value2: <br/><input format="N*M" name="amount2" title="Second Amount:"/>
Result : = <b>$(answer)</b>
<do type="accept" label="Result">
<go href="calc.wmls#operation('answer',$(amount1),'$(operator)',$(amount2))"/>
</do>
</p>
</card>
</wml>
4
Calc.wmls
extern function operation(result,val1,operate,val2) {
var ans=0;
if (operate=='ADD')
{
ans = val1 + val2;
}
else if (operate=='SUB')
{
ans=val1 - val2;
}
else if (operate=='MULT')
{
ans=val1 * val2;
}
else
{
ans=val1 / val2;
}
WMLBrowser.setVar(result,ans);
WMLBrowser.refresh();
}
DESIGN OF CALENDAR USING J2ME
PROGRAM:
CalenderMIDlet.java
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
import java.util.Date;
import java.util.TimeZone;
public class CalenderMIDlet extends MIDlet{
private Form form;
private Display display;
private DateField calender;
5
private static final int DATE = 0;
public CalenderMIDlet(){
calender = new DateField("Date In:", DateField.DATE, TimeZone.getTimeZone("GMT"));
}
public void startApp(){
display = Display.getDisplay(this);
Form form = new Form("Calender");
form.append(calender);
display.setCurrent(form);
}
public void pauseApp(){}
public void destroyApp(boolean destroy){
notifyDestroyed();
}}
6
DESIGN A TIMER TO SYSTEM TIME USING J2ME
PROGRAM:
DateAndTime.java
import java.util.*;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class DateAndTime extends MIDlet implements CommandListener{
private Display disp;
private Date d;
Calendar c = Calendar.getInstance();
String time;
private DateField currentDate;
private Command start, exit;
private Form form;
private int index;
public DateAndTime(){
form = new Form("Data and Time");
d = new Date();
start = new Command("start", Command.SCREEN, 1);
exit = new Command("Exit", Command.EXIT, 0);
currentDate = new DateField("", DateField.DATE_TIME);
currentDate.setDate(d);
7
}
public void startApp(){
form.append("CURRENT TIME IS: ");
index = form.append(currentDate);
form.addCommand(start);
form.addCommand(exit);
form.setCommandListener(this);
disp = Display.getDisplay(this);
disp.setCurrent(form);
}
public void pauseApp(){}
public void destroyApp(boolean uncond){}
public void commandAction(Command cmd, Displayable s){
if (cmd == exit){
notifyDestroyed();
}else if (cmd == start){
d = new Date();
c.setTime(d);
time = c.get(Calendar.HOUR_OF_DAY) + ":" +c.get(Calendar.MINUTE)
+ ":" + c.get(Calendar.SECOND);
form.append("" + time);
8
form.append("\n");
} } }
DESIGN A QUIZ GAME USING J2ME
Program
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.*;
public class quiz extends MIDlet implements CommandListener {
int score=0;
private Display display;
private Form inputpage;
String lastscore = (new Integer(score)).toString();
private TextField username;
private Command startgame;
//form1 intialize
private Form form1;
String q1 ="What is MN?\n";
private String q1ans1="1. a\n";
private String q1ans2="2. b\n";
private String q1ans3="3. All of the above\n";
private Command q1ans11;
private Command q1ans12;
private Command q1ans13;
//form2
private Form form2;
String q2 ="J2me course started by?\n";
private String q2ans1="1. a\n";
private String q2ans2="2. b\n";
private String q2ans3="3. None of the above\n";
private Command q2ans11;
private Command q2ans12;
private Command q2ans13;
//form3
private Form form3;
String q3 ="Mobile C Text Book Author\n";
private String q3ans1="1. a\n";
private String q3ans2="2. b\n";
private String q3ans3="3. None of the above\n";
9
private Command q3ans11;
private Command q3ans12;
private Command q3ans13;
//form4
private Form form4;
String q4 ="Which software is used to make javaME applications?\n";
private String q4ans1="1. Internetbeans\n";
private String q4ans2="2. Netbeans\n";
private String q4ans3="3. Nobeans\n";
private Command q4ans11;
private Command q4ans12;
private Command q4ans13;
//form5
private Form form5;
String q5 ="Best feature of GSM?\n";
private String q5ans1="1. Gifts\n";
private String q5ans2="2. Vidoe call\n";
private String q5ans3="3. None of above\n";
private Command q5ans11;
private Command q5ans12;
private Command q5ans13;
//form6
private Form form6;
String q6 ="Congrats \n";
public quiz (){
display = Display.getDisplay(this);
inputpage = new Form("username");
username =new TextField("Enter Your name;", "", 50, TextField.ANY);
inputpage.append(username);
startgame = new Command("Start game", 1, 1);
inputpage.addCommand(startgame);
inputpage.setCommandListener(this);
//form1 declaration
form1 = new Form("Welcome to 1st question");
q1ans11 = new Command("1", 1, 1);
q1ans12 = new Command("2", 1, 2);
q1ans13 = new Command("3", 1, 3);
form1.append(q1);
form1.append(q1ans1);
form1.append(q1ans2);
form1.append(q1ans3);
form1.addCommand(q1ans11);
form1.addCommand(q1ans12);
form1.addCommand(q1ans13);
form1.setCommandListener(this);
10
//form2
form2 = new Form("Welcome to 2nd question");
q2ans11 = new Command("1", 1, 1);
q2ans12 = new Command("2", 1, 2);
q2ans13 = new Command("3", 1, 3);
form2.append(q2);
form2.append(q2ans1);
form2.append(q2ans2);
form2.append(q2ans3);
form2.addCommand(q2ans11);
form2.addCommand(q2ans12);
form2.addCommand(q2ans13);
form2.setCommandListener(this);
//form3
form3 = new Form("Welcome to 3rd question");
q3ans11 = new Command("1", 1, 1);
q3ans12 = new Command("2", 1, 2);
q3ans13 = new Command("3", 1, 3);
form3.append(q3);
form3.append(q3ans1);
form3.append(q3ans2);
form3.append(q3ans3);
form3.addCommand(q3ans11);
form3.addCommand(q3ans12);
form3.addCommand(q3ans13);
form3.setCommandListener(this);
//form4
form4 = new Form("Welcome to 4th question");
q4ans11 = new Command("1", 1, 1);
q4ans12 = new Command("2", 1, 2);
q4ans13 = new Command("3", 1, 3);
form4.append(q4);
form4.append(q4ans1);
form4.append(q4ans2);
form4.append(q4ans3);
form4.addCommand(q4ans11);
form4.addCommand(q4ans12);
form4.addCommand(q4ans13);
form4.setCommandListener(this);
//form5
form5 = new Form("Welcome to 5th question");
q5ans11 = new Command("1", 1, 1);
q5ans12 = new Command("2", 1, 2);
q5ans13 = new Command("3", 1, 3);
form5.append(q5);
form5.append(q5ans1);
11
form5.append(q5ans2);
form5.append(q5ans3);
form5.addCommand(q5ans11);
form5.addCommand(q5ans12);
form5.addCommand(q5ans13);
form5.setCommandListener(this);
//form6
form6 = new Form("Congrats : ");
form6.append(q6);
}
public void startApp() {
display.setCurrent(inputpage);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d) {
//form1 actions
if (c==startgame)
{
score= score;
display.setCurrent(form1);
}
if (c==q1ans13 || c==q1ans12 || c==q1ans11)
{
if(c==q1ans13)
score= score+1;
display.setCurrent(form2);
}
if (c==q2ans11 || c==q2ans12 || c==q2ans13)
{
if (c==q2ans11)
score= score+1;
display.setCurrent(form3);
}
if (c==q3ans12 || c==q3ans13 || c==q3ans11)
{
if (c==q3ans12)
score= score+1;
display.setCurrent(form4);
12
}
if (c==q4ans12 || c==q4ans13 || c==q4ans11)
{
if (c==q4ans12)
score= score+1;
display.setCurrent(form5);
}
if (c==q5ans11 || c==q5ans12 || c==q5ans13)
{
if (c==q5ans11)
score=score+1;
String congrats="\nYour total points is:";
String us=username.getString();
String aa="\n\nwow you have scored 100%, you are genious..";
String aaa="\n\nyou have scored more than 60%.. you have greate IQ level ";
String aaaa="\n\nyou are in need to develope your IQ";
lastscore = (new Integer(score)).toString();
form6.append(us);
form6.append(congrats);
form6.append(lastscore);
if(score==5)
form6.append(aa);
else if(score>=3)
form6.append(aaa);
else
form6.append(aaaa);
display.setCurrent(form6);
}
}
}
DESIGN A GAME USING J2ME (TIC TAC TOE)
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class TicTacToe extends MIDlet implements CommandListener {
private Display theDisplay;
private TicTacToeCanvas canvas;
13
private String winner = "";
private boolean gameOver = false;
private int whoseturn = 0;
private char board[][] = { {'1' , '2' , '3'} ,
{'4' , '5' , '6'} ,
{'7' , '8' , '9'} };
static final Command exitCommand = new Command("Exit", Command.STOP, 1);
public TicTacToe()
{
theDisplay = Display.getDisplay(this);
}
class TicTacToeCanvas extends Canvas
{
TicTacToeCanvas()
{
}
public void paint(Graphics g)
{
int width = getWidth();
int height = getHeight();
g.setColor( 150, 150, 70 );
g.fillRect( 0, 0, width, height );
g.setColor( 255, 255, 255);
String r1 =" "+ board[0][0]+" "+board[0][1]+"
"+board[0][2]+"\n";
String r2 =" "+ board[1][0]+" "+board[1][1]+"
"+board[1][2]+"\n";
String r3 =" "+ board[2][0]+" "+board[2][1]+" "+board[2][2];
g.drawString("TIC TAC TOE",15,0, Graphics.LEFT|Graphics.TOP);
g.drawString(r1,25,50, Graphics.LEFT|Graphics.TOP);
g.drawString(r2,25,100, Graphics.LEFT|Graphics.TOP);
g.drawString(r3,25,150, Graphics.LEFT|Graphics.TOP);
for(int a=25;a<=175;a++)
g.drawString("-",a,25,Graphics.LEFT|Graphics.TOP);
for(int a=25;a<=175;a++)
g.drawString("-",a,75,Graphics.LEFT|Graphics.TOP);
14
for(int a=25;a<=175;a++)
g.drawString("-",a,125,Graphics.LEFT|Graphics.TOP);
for(int a=25;a<=175;a++)
g.drawString("-",a,175,Graphics.LEFT|Graphics.TOP);
for(int a=25;a<=175;a++)
g.drawString("-",25,a,Graphics.LEFT|Graphics.TOP);
for(int a=25;a<=175;a++)
g.drawString("-",75,a,Graphics.LEFT|Graphics.TOP);
for(int a=25;a<=175;a++)
g.drawString("-",125,a,Graphics.LEFT|Graphics.TOP);
for(int a=25;a<=175;a++)
g.drawString("-",175,a,Graphics.LEFT|Graphics.TOP);
if (winner != "")
{
g.drawString("WINNER:"+winner,70,200,Graphics.LEFT|Graphics.TOP);
}
else
{
g.drawString("TURN:
Player"+(whoseturn+1),70,200,Graphics.LEFT|Graphics.TOP);
}
}
protected void keyPressed(int keyCode) {
if (keyCode >= 49 && keyCode <= 57 && !gameOver)
{
int x = 0, y = 0;
keyCode -= 49;
if (keyCode < 3)
{
x = keyCode;
y = 0;
}
else if (keyCode < 6)
{
x = keyCode-3;
y = 1;
}
else
{
x = keyCode-6;
y = 2;
}
15
if (board[y][x] != 'X' && board[y][x] != 'O')
{
if (whoseturn == 0)
board[y][x] = 'X';
else
board[y][x] = 'O';
whoseturn = 1-whoseturn;
checkForWinner();
canvas.repaint();
}
}
}
}
protected void startApp() throws MIDletStateChangeException
{
canvas = new TicTacToeCanvas();
canvas.addCommand(exitCommand);
canvas.setCommandListener(this) ;
theDisplay.setCurrent(canvas);
}
protected void pauseApp() { }
public void destroyApp(boolean unconditional)
{
}
public void commandAction(Command c, Displayable d)
{
if (c == exitCommand)
{
destroyApp(false);
notifyDestroyed();
}
}
16
private void checkForWinner()
{
int i,j;
int numXConsec = 0;
int numOConsec = 0;
boolean tie=true;
for (i=0; i<3; i++)
{
for (j=0; j<3; j++)
if (board[i][j] != 'X' || board[i][j] != 'O')
{
tie = false;
break;
}
}
if (tie)
{
GameOver(-1);
return;
}
for (i=0; i<3; i++)
{
numXConsec = numOConsec = 0;
for (j=0; j<3; j++)
{
if (board[i][j] == 'X')
numXConsec++;
else if (board[i][j] == 'O')
numOConsec++;
else
break;
}
if (numXConsec > 2)
{
GameOver(0);
return;
}
else if (numOConsec > 2)
{
GameOver(1);
17
return;
}
}
for (i=0; i<3; i++)
{
numXConsec = numOConsec = 0;
for (j=0; j<3; j++)
{
if (board[j][i] == 'X')
{
numXConsec++;
}
else if (board[j][i] == 'O')
numOConsec++;
else
break;
}
if (numXConsec > 2)
{
GameOver(0);
return;
}
else if (numOConsec > 2)
{
GameOver(1);
return;
}
}
if ( ((board[0][0] == board[1][1]) && (board[1][1] == board[2][2]) &&
(board[2][2] == 'X')) ||
((board[0][2] == board[1][1]) && (board[1][1] == board[2][0]) &&
(board[2][0] == 'X')) )
{
GameOver(0);
return;
}
if ( ((board[0][0] == board[1][1]) && (board[1][1] == board[2][2]) &&
(board[2][2] == 'O')) ||
((board[0][2] == board[1][1]) && (board[1][1] == board[2][0]) &&
(board[2][0] == 'O')) )
{
GameOver(1);
18
return;
}
}
private void GameOver(int p)
{
if (p == -1)
winner = "Tie!";
else if (p == 0)
winner = "Player 1!";
else
winner = "Player 2!";
gameOver = true;
}
}
ANIMATING AN IMAGE USING J2ME
PROGRAM:
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class SweepImageAnimation extends MIDlet {
public void startApp() {
final SweepCanvas sweeper = new SweepCanvas();
sweeper.start();
sweeper.addCommand(new Command("Exit", Command.EXIT, 0));
sweeper.setCommandListener(new CommandListener() {
public void commandAction(Command c, Displayable s) {
sweeper.stop();
notifyDestroyed();
}
});
19
Display.getDisplay(this).setCurrent(sweeper);
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {}
}
class SweepCanvas extends Canvas implements Runnable {
private boolean mTrucking;
private int mTheta;
private int mBorder;
private int mDelay;
public SweepCanvas() {
mTheta = 0;
mBorder = 10;
mDelay = 50;
}
public void start() {
mTrucking = true;
Thread t = new Thread(this);
t.start();
}
public void stop() {
mTrucking = false;
}
public void paint(Graphics g) {
20
int width = getWidth();
int height = getHeight();
// Clear the Canvas.
g.setGrayScale(255);
g.fillRect(0, 0, width - 1, height - 1);
int x = mBorder;
int y = mBorder;
int w = width - mBorder * 2;
int h = height - mBorder * 2;
for (int i = 0; i < 8; i++) {
g.setGrayScale((8 - i) * 32 - 16);
g.fillArc(x, y, w, h, mTheta + i * 10, 10);
g.fillArc(x, y, w, h, (mTheta + 180) % 360 + i * 10, 10);
}
}
public void run() {
while (mTrucking) {
mTheta = (mTheta + 1) % 360;
repaint();
try { Thread.sleep(mDelay); }
catch (InterruptedException ie) {}
}
}
}
21
DESIGN A PERSONAL PHONE BOOK
Program
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.Choice;
import javax.microedition.lcdui.ChoiceGroup;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.rms.RecordEnumeration;
import javax.microedition.rms.RecordStore;
import javax.microedition.rms.RecordStoreException;
import javax.microedition.rms.RecordStoreNotOpenException;
public class SearchContact extends MIDlet implements CommandListener {
private Display display;
private ChoiceGroup searchChoice;
private Form searchForm;
private TextField searchTxtField;
private Command exitCmd;
private Command addContactCmd;
private Form addContactForm;
private TextField nameTxtField;
private TextField numberTxtField;
22
private Command backCmd;
private Command saveCmd;
private String nameStr;
private String numberStr;
private Alert addAlert;
private RecordStore openRecStore;
public void startApp() {
display = Display.getDisplay(this);
searchForm = new Form("Search Contact");
searchTxtField = new TextField("Search Here", "", 30, TextField.ANY);
searchForm.append(searchTxtField);
searchChoice = new ChoiceGroup("",Choice.EXCLUSIVE);
searchForm.append(searchChoice);exitCmd = new Command("Exit", Command.EXIT, 7);
searchForm.addCommand(exitCmd);addContactCmd = new Command("Add", Command.OK,
4);
searchForm.addCommand(addContactCmd);
searchForm.setCommandListener(this);
display.setCurrent(searchForm);
addContactForm = new Form("Add Contacts");
nameTxtField = new TextField("Name", "", 80, TextField.ANY);
addContactForm.append(nameTxtField);
numberTxtField = new TextField("Number", "", 20, TextField.PHONENUMBER);
addContactForm.append(numberTxtField);
backCmd = new Command("Back", Command.BACK, 2);
addContactForm.addCommand(backCmd);
saveCmd = new Command("Save", Command.OK, 4);
addContactForm.addCommand(saveCmd);
23
addContactForm.setCommandListener(this);
try {
openRecStore = RecordStore.openRecordStore("Contacts", true);
} catch (RecordStoreException ex) {
ex.printStackTrace();
}
loadContacts();
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {}
public void commandAction(Command c, Displayable d) {
if (c == exitCmd) {notifyDestroyed();
} else if (c == addContactCmd) {
nameTxtField.setString("");
numberTxtField.setString("");
display.setCurrent(addContactForm);
} else if (c == backCmd) {
searchTxtField.setString("");
display.setCurrent(searchForm);
} else if (c == saveCmd) {
nameStr = nameTxtField.getString();
numberStr = numberTxtField.getString();
String fullDetails = nameStr + "*" + numberStr;
addAlert = new Alert("Added to the Contacts");
loadContacts();
display.setCurrent(addAlert, searchForm);
24
searchTxtField.setString("");
byte[] byteArray = fullDetails.getBytes(); // String class
try {
openRecStore.addRecord(byteArray, 0, fullDetails.length());
} catch (RecordStoreException ex) {
ex.printStackTrace();
}loadContacts();
}
}
private void loadContacts() {
searchChoice.deleteAll();
try {
RecordEnumeration enuRec = openRecStore.enumerateRecords(null, null, true);
while (enuRec.hasNextElement()) {
try {
byte[] nextRec = enuRec.nextRecord();
String nextRecStr = new String(nextRec);
String takeName = nextRecStr.substring(0, nextRecStr.indexOf("*"));
String takeNumber = nextRecStr.substring(nextRecStr.indexOf("*") + 1,nextRecStr.length());
searchChoice.append(takeName, null);
} catch (RecordStoreException ex) {
ex.printStackTrace();
}
}
} catch (RecordStoreNotOpenException ex) {
ex.printStackTrace();
25
}
}
}
SIMULATON OF AUTHENTICATION TECHNIQUE
PROGRAM:
LoginExample.java
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
public class LoginMidlet extends MIDlet implements CommandListener {
private Display display;
private TextField userName;
private TextField password;
private Form form;
private Command cancel;
private Command login;
public LoginMidlet() {
userName = new TextField("LoginID:", "", 10, TextField.ANY);
password = new TextField("Password:", "", 10, TextField.PASSWORD);
form = new Form("Sign in");
cancel = new Command("Cancel", Command.CANCEL, 2);
login = new Command("Login", Command.OK, 2);
}
26
public void startApp() {
display = Display.getDisplay(this);
form.append(userName);
form.append(password);
form.addCommand(cancel);
form.addCommand(login);
form.setCommandListener(this);
display.setCurrent(form);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
notifyDestroyed();
}
public void validateUser(String name, String password) {
if (name.equals("qm") && password.equals("j2")) {
menu();
} else {
tryAgain();
}
}
public void menu() {
27
List services = new List("Choose one", Choice.EXCLUSIVE);
services.append("Check Mail", null);
services.append("Compose", null);
services.append("Addresses", null);
services.append("Options", null);
services.append("Sign Out", null);
display.setCurrent(services);
}
public void tryAgain() {
Alert error = new Alert("Login Incorrect", "Please try again", null, AlertType.ERROR);
error.setTimeout(Alert.FOREVER);
userName.setString("");
password.setString("");
display.setCurrent(error, form);
}
public void commandAction(Command c, Displayable d) {
String label = c.getLabel();
if(label.equals("Cancel")) {
destroyApp(true);
} else if(label.equals("Login")) {
validateUser(userName.getString(), password.getString());
}
}
}