dimanche 3 mai 2015

data not shown in the screen

I have to parse data from my database in an Emulator via J2Me phone so I have a list of information to show in the screen but I got a result -1 for integer fields and Null fo strings, when I display my output it says: java.lang.ArrayIndexOutOfBoundsException: 0, it can never call the first element and this's the code

import Entities.Gerant ;
import Handlers.GerantHandler;
import java.io.DataInputStream;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
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.List;
import javax.microedition.midlet.*;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

public class ShowMidlet extends MIDlet implements CommandListener, Runnable              {
Display disp = Display.getDisplay(this);
Command cmdParse = new Command("Gerants", Command.SCREEN, 0);
Command cmdBack = new Command("Back", Command.BACK, 0);
Gerant[] gerants;
List lst = new List("Gerant", List.IMPLICIT);
Form f = new Form("Accueil");
Form form = new Form("Infos gerants");    
Form loadingDialog = new Form("Please Wait");
StringBuffer sb = new StringBuffer();
public void startApp() {
    f.append("Click ");
    f.addCommand(cmdParse);     
    f.setCommandListener(this);               
    lst.setCommandListener(this);        
    form.addCommand(cmdBack);
    form.setCommandListener(this);        
    disp.setCurrent(f);
}

public void pauseApp() {
}

public void destroyApp(boolean unconditional) {
}

public void commandAction(Command c, Displayable d) {

    if (c == cmdParse) {
        disp.setCurrent(form);
        Thread th = new Thread(this);
        th.start();
    }

    if (c == List.SELECT_COMMAND) {
        form.append("show informations: \n");
        form.append(showGerant(lst.getSelectedIndex()));
        disp.setCurrent(form);
    }

    if (c == cmdBack) {
        disp.setCurrent(f);
    }
}

public void run() {
    try {
        // this will handle our XML
        GerantHandler gerHandler = new GerantHandler();
        // get a parser object
        SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
        // get an InputStream from somewhere (could be HttpConnection, for example)
        HttpConnection hc = (HttpConnection)
                Connector.open("http://localhost/sprintj2me/getXmlGerantsAttributes.php");
        DataInputStream dis = new DataInputStream(hc.openDataInputStream());
        parser.parse(dis, gerHandler);
        // display the result
        gerants = gerHandler.getGerant();

        if (gerants.length > 0) {
            for (int i = 0; i < gerants.length; i++) {
                lst.append(gerants[i].getIdCompte()+" "
                          +gerants[i].getLogin()+" "
                          +gerants[i].getMotDePasse()+" "
                          +gerants[i].getNom()+" "
                          +gerants[i].getPrenom()+" "
                          +gerants[i].getEmail()+" "
                          +gerants[i].getDateNaissance()+" "
                          +gerants[i].getAdresse()+" "
                          +gerants[i].getNumeroTelephone(),  null);
            }
        }

    } catch (Exception e) {
        System.out.println("Exception:" + e.toString());
    }
    disp.setCurrent(lst);
}

private String showGerant(int i) {
    String res = "";
    if (gerants.length > 0) {
        sb.append("* ");
        sb.append(gerants[i].getIdCompte());
        sb.append("\n");

        sb.append("* ");
        sb.append(gerants[i].getLogin());
        sb.append("\n");

        sb.append("* ");
        sb.append(gerants[i].getMotDePasse());
        sb.append("\n");

        sb.append("* ");
        sb.append(gerants[i].getNom());
        sb.append("\n");

        sb.append("* ");
        sb.append(gerants[i].getPrenom());
        sb.append("\n");

        sb.append("* ");
        sb.append(gerants[i].getEmail());
        sb.append("\n");

        sb.append("* ");
        sb.append(gerants[i].getDateNaissance());
        sb.append("\n");

        sb.append("* ");
        sb.append(gerants[i].getAdresse());
        sb.append("\n");

        sb.append("* ");
        sb.append(gerants[i].getNumeroTelephone());
        sb.append("\n");            
    }
    res = sb.toString();
    sb = new StringBuffer("");
    return res;
}

}

Aucun commentaire:

Enregistrer un commentaire