Aplicação Completa em J2ME. Como Resolver Tal Problema

Pessoal, estou refazendo uma video aula que peguei no site da DevMedia, que fala sobre uma aplicação para avaliação de professores.

O problema é que quando mando executar o aplicativo, as turmas que são importadas do banco de dados, elas veem, mas quando mando executar novameente, vem repitido nunca que apaga a ultima sessão ou login que faço no sistema.

Envio o codigo. Bom, vou enviar todos.

CODIGO DA APLICAÇÃO J2ME
/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */
    package application;

import br.com.devmedia.HttpConnectionClient;
import java.util.Calendar;
import java.util.Vector;
import javax.microedition.midlet.;
import javax.microedition.lcdui.
;
import net.sourceforge.floggy.FloggyException;
import net.sourceforge.floggy.ObjectSet;
import net.sourceforge.floggy.PersistableManager;
import org.netbeans.microedition.lcdui.LoginScreen;
import rms.ClassName;
import rms.FindUser;
import rms.Teacher;
import rms.User;

/**

  • @author ROGERIO
    */
    public class EvaluateTeacher extends MIDlet implements CommandListener { //ItemStateListener

    private boolean midletPaused = false;

    PersistableManager pm = PersistableManager.getInstance();

    //<editor-fold defaultstate=“collapsed” desc=" Generated Fields ">
    private java.util.Hashtable __previousDisplayables = new java.util.Hashtable();
    private LoginScreen loginScreen;
    private Form fmInsertUser;
    private TextField tfFirstName;
    private DateField dfBirthday;
    private TextField tfLastName;
    private TextField tfPassword;
    private TextField tfUsername;
    private TextField tfRePassword;
    private List lsMain;
    private Form fmEvaluate;
    private ChoiceGroup cgEvaluate;
    private ChoiceGroup cgTeacher;
    private ChoiceGroup cgClass;
    private Alert alStatus;
    private Form fmResult;
    private Command cmInserUser;
    private Command cmBackInsertUser;
    private Command cmConfirmInsertUser;
    private Command cmConfirmEvaluanteTeacher;
    private Command cmBackEvaluateTeacher;
    private Command cmBackResult;
    //</editor-fold>
    /**

    • The EvaluateTeacher constructor.
      */
      public EvaluateTeacher() {
      }

    private boolean isValidUser() {
    try {

         FindUser findUser = new FindUser(getLoginScreen().getUsername(), getLoginScreen().getPassword());
    
         ObjectSet os = pm.find(User.class, findUser, null);
    
         if (os.hasNext()) {
             return true;
         } else {
             return false;
         }
    
     } catch (FloggyException ex) {
         return false;
     }
    

    }

    private void mountChoices() {
    try {

         ObjectSet os = pm.findAll(ClassName.class);                        
    
         cgClass.deleteAll();
                
         if ( os.hasNext() ) {
             
             os.last();
    

// do {
// ClassName className = (ClassName) os.previous();
//
// cgClass.append( className.getClassName(), null );
//
// } while ( os.hasPrevious() );

            while ( os.hasPrevious() ) {                
                ClassName className = (ClassName) os.previous();
                
                cgClass.append( className.getClassName(), null );
            }
            
            cgClass.setSelectedIndex( 0, true );                                
        }
                    
    } catch (FloggyException ex) {
        ex.printStackTrace();
    }        
}

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Methods "&gt;                       
/**
 * Switches a display to previous displayable of the current displayable.
 * The &lt;code&gt;display&lt;/code&gt; instance is obtain from the &lt;code&gt;getDisplay&lt;/code&gt; method.
 */
private void switchToPreviousDisplayable() {
    Displayable __currentDisplayable = getDisplay().getCurrent();
    if (__currentDisplayable != null) {
        Displayable __nextDisplayable = (Displayable) __previousDisplayables.get(__currentDisplayable);
        if (__nextDisplayable != null) {
            switchDisplayable(null, __nextDisplayable);
        }
    }
}
//&lt;/editor-fold&gt;                     

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Method: initialize "&gt;                                           
/**
 * Initilizes the application.
 * It is called only once when the MIDlet is started. The method is called before the &lt;code&gt;startMIDlet&lt;/code&gt; method.
 */
private void initialize() {                                         
// write pre-initialize user code here
                                       
// write post-initialize user code here
}                            
//&lt;/editor-fold&gt;                          

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Method: startMIDlet "&gt;                                        
/**
 * Performs an action assigned to the Mobile Device - MIDlet Started point.
 */
public void startMIDlet() {                                      
    // write pre-action user code here
    switchDisplayable(null, getLoginScreen());                                        
// write post-action user code here
}                             
//&lt;/editor-fold&gt;                           

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Method: resumeMIDlet "&gt;                                         
/**
 * Performs an action assigned to the Mobile Device - MIDlet Resumed point.
 */
public void resumeMIDlet() {                                       
// write pre-action user code here
                                     
// write post-action user code here
}                              
//&lt;/editor-fold&gt;                            

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Method: switchDisplayable "&gt;                                              
/**
 * Switches a current displayable in a display. The &lt;code&gt;display&lt;/code&gt; instance is taken from &lt;code&gt;getDisplay&lt;/code&gt; method. This method is used by all actions in the design for switching displayable.
 * @param alert the Alert which is temporarily set to the display; if &lt;code&gt;null&lt;/code&gt;, then &lt;code&gt;nextDisplayable&lt;/code&gt; is set immediately
 * @param nextDisplayable the Displayable to be set
 */
public void switchDisplayable(Alert alert, Displayable nextDisplayable) {                                            
    // write pre-switch user code here
    Display display = getDisplay();                                               
    Displayable __currentDisplayable = display.getCurrent();
    if (__currentDisplayable != null  &&  nextDisplayable != null) {
        __previousDisplayables.put(nextDisplayable, __currentDisplayable);
    }
    if (alert == null) {
        display.setCurrent(nextDisplayable);
    } else {
        display.setCurrent(alert, nextDisplayable);
    }                                             
// write post-switch user code here
}                                   
//&lt;/editor-fold&gt;                                 

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Method: commandAction for Displayables "&gt;                                                 
/**
 * Called by a system to indicated that a command has been invoked on a particular displayable.
 * @param command the Command that was invoked
 * @param displayable the Displayable where the command was invoked
 */
public void commandAction(Command command, Displayable displayable) {                                               
    // write pre-action user code here
    if (displayable == fmEvaluate) {                                           
        if (command == cmBackEvaluateTeacher) {                                         
            // write pre-action user code here
            switchDisplayable(null, getLsMain());                                           
        // write post-action user code here
        } else if (command == cmConfirmEvaluanteTeacher) {                                          
            // write pre-action user code here
            evaluateTeacher();                                           
        // write post-action user code here
        }                                           
    } else if (displayable == fmInsertUser) {
        if (command == cmBackInsertUser) {                                         
            // write pre-action user code here
            switchDisplayable(null, getLoginScreen());                                           
        // write post-action user code here
        } else if (command == cmConfirmInsertUser) {                                          
            // write pre-action user code here
            insertUser();                                           
        // write post-action user code here
        }                                           
    } else if (displayable == fmResult) {
        if (command == cmBackResult) {                                         
            // write pre-action user code here
            switchToPreviousDisplayable();                                            
        // write post-action user code here
        }                                            
    } else if (displayable == loginScreen) {
        if (command == LoginScreen.LOGIN_COMMAND) {                                          
            // write pre-action user code here
            validUser();                                            
        // write post-action user code here
        } else if (command == cmInserUser) {                                           
            // write pre-action user code here
            switchDisplayable(null, getFmInsertUser());                                            
        // write post-action user code here
        }                                            
    } else if (displayable == lsMain) {
        if (command == List.SELECT_COMMAND) {                                          
            // write pre-action user code here
            lsMainAction();                                            
        // write post-action user code here
        }                                                   
    }                                                 
// write post-action user code here
}                                
//&lt;/editor-fold&gt;                              

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: loginScreen "&gt;                                   
/**
 * Returns an initiliazed instance of loginScreen component.
 * @return the initialized component instance
 */
public LoginScreen getLoginScreen() {
    if (loginScreen == null) {                                 
        // write pre-init user code here
        loginScreen = new LoginScreen(getDisplay());                                    
        loginScreen.setLabelTexts("Nome do usu\u00E1rio", "Senha");
        loginScreen.setTitle("loginScreen");
        loginScreen.addCommand(LoginScreen.LOGIN_COMMAND);
        loginScreen.addCommand(getCmInserUser());
        loginScreen.setCommandListener(this);
        loginScreen.setBGColor(-205);
        loginScreen.setFGColor(-16711885);
        loginScreen.setUseLoginButton(false);
        loginScreen.setLoginButtonText("Login");                                  
    // write post-init user code here
    }                         
    return loginScreen;
}
//&lt;/editor-fold&gt;                       

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: fmInsertUser "&gt;                                   
/**
 * Returns an initiliazed instance of fmInsertUser component.
 * @return the initialized component instance
 */
public Form getFmInsertUser() {
    if (fmInsertUser == null) {                                 
        // write pre-init user code here
        fmInsertUser = new Form("Insert User", new Item[] { getTfFirstName(), getTfLastName(), getDfBirthday(), getTfUsername(), getTfPassword(), getTfRePassword() });                                    
        fmInsertUser.addCommand(getCmBackInsertUser());
        fmInsertUser.addCommand(getCmConfirmInsertUser());
        fmInsertUser.setCommandListener(this);                                  
    // write post-init user code here
    }                         
    return fmInsertUser;
}
//&lt;/editor-fold&gt;                       

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: tfFirstName "&gt;                                   
/**
 * Returns an initiliazed instance of tfFirstName component.
 * @return the initialized component instance
 */
public TextField getTfFirstName() {
    if (tfFirstName == null) {                                 
        // write pre-init user code here
        tfFirstName = new TextField("First Name", null, 32, TextField.ANY);                                   
    // write post-init user code here
    }                         
    return tfFirstName;
}
//&lt;/editor-fold&gt;                       

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: tfLastName "&gt;                                   
/**
 * Returns an initiliazed instance of tfLastName component.
 * @return the initialized component instance
 */
public TextField getTfLastName() {
    if (tfLastName == null) {                                 
        // write pre-init user code here
        tfLastName = new TextField("Last Name", null, 32, TextField.ANY);                                   
    // write post-init user code here
    }                         
    return tfLastName;
}
//&lt;/editor-fold&gt;                       

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: dfBirthday "&gt;                                   
/**
 * Returns an initiliazed instance of dfBirthday component.
 * @return the initialized component instance
 */
public DateField getDfBirthday() {
    if (dfBirthday == null) {                                 
        // write pre-init user code here
        dfBirthday = new DateField("Birthday", DateField.DATE);                                    
        dfBirthday.setDate(new java.util.Date(System.currentTimeMillis()));                                  
    // write post-init user code here
    }                         
    return dfBirthday;
}
//&lt;/editor-fold&gt;                       

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: tfUsername "&gt;                                   
/**
 * Returns an initiliazed instance of tfUsername component.
 * @return the initialized component instance
 */
public TextField getTfUsername() {
    if (tfUsername == null) {                                 
        // write pre-init user code here
        tfUsername = new TextField("Username", null, 32, TextField.ANY);                                   
    // write post-init user code here
    }                         
    return tfUsername;
}
//&lt;/editor-fold&gt;                       

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: tfPassword "&gt;                                   
/**
 * Returns an initiliazed instance of tfPassword component.
 * @return the initialized component instance
 */
public TextField getTfPassword() {
    if (tfPassword == null) {                                 
        // write pre-init user code here
        tfPassword = new TextField("Password", null, 32, TextField.ANY);                                   
    // write post-init user code here
    }                         
    return tfPassword;
}
//&lt;/editor-fold&gt;                       

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: tfRePassword "&gt;                                   
/**
 * Returns an initiliazed instance of tfRePassword component.
 * @return the initialized component instance
 */
public TextField getTfRePassword() {
    if (tfRePassword == null) {                                 
        // write pre-init user code here
        tfRePassword = new TextField("Restype Password", null, 32, TextField.ANY);                                   
    // write post-init user code here
    }                         
    return tfRePassword;
}
//&lt;/editor-fold&gt;                       

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: cmInserUser "&gt;                                   
/**
 * Returns an initiliazed instance of cmInserUser component.
 * @return the initialized component instance
 */
public Command getCmInserUser() {
    if (cmInserUser == null) {                                 
        // write pre-init user code here
        cmInserUser = new Command("Insert User", Command.SCREEN, 0);                                   
    // write post-init user code here
    }                         
    return cmInserUser;
}
//&lt;/editor-fold&gt;                       

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: cmBackInsertUser "&gt;                                   
/**
 * Returns an initiliazed instance of cmBackInsertUser component.
 * @return the initialized component instance
 */
public Command getCmBackInsertUser() {
    if (cmBackInsertUser == null) {                                 
        // write pre-init user code here
        cmBackInsertUser = new Command("Back", Command.BACK, 0);                                   
    // write post-init user code here
    }                         
    return cmBackInsertUser;
}
//&lt;/editor-fold&gt;                       

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: cmConfirmInsertUser "&gt;                                   
/**
 * Returns an initiliazed instance of cmConfirmInsertUser component.
 * @return the initialized component instance
 */
public Command getCmConfirmInsertUser() {
    if (cmConfirmInsertUser == null) {                                 
        // write pre-init user code here
        cmConfirmInsertUser = new Command("Confirm", Command.SCREEN, 0);                                   
    // write post-init user code here
    }                         
    return cmConfirmInsertUser;
}
//&lt;/editor-fold&gt;                       

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Method: insertUser "&gt;                                    
/**
 * Performs an action assigned to the insertUser entry-point.
 */
public void insertUser() {                                  
    // write pre-action user code here

    if (tfPassword.getString().equals(tfRePassword.getString())) {
        new ValidUserThread().start();
    } else {
        //getAlStatus().setString("Error: Password and retype password is diferent");
        getAlStatus().setString("Erro: Senha e repetição de senha é diferente.");
        switchDisplayable(alStatus, fmInsertUser);
    }

                                
// write post-action user code here
}                        
//&lt;/editor-fold&gt;                      

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Method: validUser "&gt;                             
/**
 * Performs an action assigned to the validUser if-point.
 */
public void validUser() {                           
    // enter pre-if user code here
    if (isValidUser()) {                                
        // write pre-action user code here
        switchDisplayable(null, getLsMain());                                 
    // write post-action user code here
    } else {                                
        // write pre-action user code here
        switchDisplayable(null, getLoginScreen());                                 
    // write post-action user code here
    }                             
// enter post-if user code here
}                     
//&lt;/editor-fold&gt;                   

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Method: evaluateTeacher "&gt;                                    
/**
 * Performs an action assigned to the evaluateTeacher entry-point.
 */
public void evaluateTeacher() {                                  
    
    
                                
// write post-action user code here
}                        
//&lt;/editor-fold&gt;                      

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Method: mountChart "&gt;                                    
/**
 * Performs an action assigned to the mountChart entry-point.
 */
public void mountChart() {                                  
    // write pre-action user code here
    switchDisplayable(null, getFmResult());                                    
// write post-action user code here
    
    
    
}                        
//&lt;/editor-fold&gt;                      

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: lsMain "&gt;                                   
/**
 * Returns an initiliazed instance of lsMain component.
 * @return the initialized component instance
 */
public List getLsMain() {
    if (lsMain == null) {                                 
        // write pre-init user code here
        lsMain = new List("List Options", Choice.IMPLICIT);                                    
        lsMain.append("Import", null);
        lsMain.append("Evaluate Teacher", null);
        lsMain.append("Export", null);
        lsMain.append("Result", null);
        lsMain.append("Exit", null);
        lsMain.setCommandListener(this);
        lsMain.setSelectedFlags(new boolean[] { false, false, false, false, false });                                  
    // write post-init user code here
    }                         
    return lsMain;
}
//&lt;/editor-fold&gt;                       

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Method: lsMainAction "&gt;                                     
/**
 * Performs an action assigned to the selected list element in the lsMain component.
 */
public void lsMainAction() {                                   
    // enter pre-action user code here
    String __selectedString = getLsMain().getString(getLsMain().getSelectedIndex());                                     
    if (__selectedString != null) {
        if (__selectedString.equals("Import")) {                                   
            // write pre-action user code here
            new ImportDataThread().start();
                                 
        // write post-action user code here
        } else if (__selectedString.equals("Evaluate Teacher")) {                                    
            // write pre-action user code here
            switchDisplayable(null, getFmEvaluate());                                     
            mountChoices();
            
        } else if (__selectedString.equals("Export")) {                                    
            // write pre-action user code here
            //new ExportDataThread().start();
                                 
        // write post-action user code here
        } else if (__selectedString.equals("Result")) {                                    
            // write pre-action user code here
            mountChart();                                     
        // write post-action user code here
        } else if (__selectedString.equals("Exit")) {                                    
            // write pre-action user code here
            exitMIDlet();                                      
        // write post-action user code here
        }                                       
    }                                     
// enter post-action user code here
}                          
//&lt;/editor-fold&gt;                        

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: fmEvaluate "&gt;                                   
/**
 * Returns an initiliazed instance of fmEvaluate component.
 * @return the initialized component instance
 */
public Form getFmEvaluate() {
    if (fmEvaluate == null) {                                 
        // write pre-init user code here
        fmEvaluate = new Form("Evaluate Teacher", new Item[] { getCgClass(), getCgTeacher(), getCgEvaluate() });                                    
        fmEvaluate.addCommand(getCmBackEvaluateTeacher());
        fmEvaluate.addCommand(getCmConfirmEvaluanteTeacher());
        fmEvaluate.setCommandListener(this);                                  
        // write post-init user code here
       // fmEvaluate.setItemStateListener(this);// olha depois.
    }                         
    return fmEvaluate;
}
//&lt;/editor-fold&gt;                       

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: cgClass "&gt;                                   
/**
 * Returns an initiliazed instance of cgClass component.
 * @return the initialized component instance
 */
public ChoiceGroup getCgClass() {
    if (cgClass == null) {                                 
        // write pre-init user code here
        cgClass = new ChoiceGroup("Class", Choice.EXCLUSIVE);                                   
    // write post-init user code here
    }                         
    return cgClass;
}
//&lt;/editor-fold&gt;                       

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: cgTeacher "&gt;                                   
/**
 * Returns an initiliazed instance of cgTeacher component.
 * @return the initialized component instance
 */
public ChoiceGroup getCgTeacher() {
    if (cgTeacher == null) {                                 
        // write pre-init user code here
        cgTeacher = new ChoiceGroup("Teacher", Choice.EXCLUSIVE);                                   
    // write post-init user code here
    }                         
    return cgTeacher;
}
//&lt;/editor-fold&gt;                       

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: cgEvaluate "&gt;                                   
/**
 * Returns an initiliazed instance of cgEvaluate component.
 * @return the initialized component instance
 */
public ChoiceGroup getCgEvaluate() {
    if (cgEvaluate == null) {                                 
        // write pre-init user code here
        cgEvaluate = new ChoiceGroup("Evaluate", Choice.EXCLUSIVE);                                    
        cgEvaluate.append("Very Good", null);
        cgEvaluate.append("Good", null);
        cgEvaluate.append("Regular", null);
        cgEvaluate.append("Poor", null);
        cgEvaluate.append("Very Poor", null);
        cgEvaluate.setSelectedFlags(new boolean[] { false, false, false, false, false });
        cgEvaluate.setFont(0, null);
        cgEvaluate.setFont(1, null);
        cgEvaluate.setFont(2, null);
        cgEvaluate.setFont(3, null);
        cgEvaluate.setFont(4, null);                                  
    // write post-init user code here
    }                         
    return cgEvaluate;
}
//&lt;/editor-fold&gt;                       

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: fmResult "&gt;                                   
/**
 * Returns an initiliazed instance of fmResult component.
 * @return the initialized component instance
 */
public Form getFmResult() {
    if (fmResult == null) {                                 
        // write pre-init user code here
        fmResult = new Form("Result");                                    
        fmResult.addCommand(getCmBackResult());
        fmResult.setCommandListener(this);                                  
    // write post-init user code here
    }                         
    return fmResult;
}
//&lt;/editor-fold&gt;                       

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: alStatus "&gt;                                   
/**
 * Returns an initiliazed instance of alStatus component.
 * @return the initialized component instance
 */
public Alert getAlStatus() {
    if (alStatus == null) {                                 
        // write pre-init user code here
        alStatus = new Alert("alert");                                    
        alStatus.setTimeout(Alert.FOREVER);                                  
    // write post-init user code here
    }                         
    return alStatus;
}
//&lt;/editor-fold&gt;                       

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: cmBackEvaluateTeacher "&gt;                                   
/**
 * Returns an initiliazed instance of cmBackEvaluateTeacher component.
 * @return the initialized component instance
 */
public Command getCmBackEvaluateTeacher() {
    if (cmBackEvaluateTeacher == null) {                                 
        // write pre-init user code here
        cmBackEvaluateTeacher = new Command("Back", Command.BACK, 0);                                   
    // write post-init user code here
    }                         
    return cmBackEvaluateTeacher;
}
//&lt;/editor-fold&gt;                       

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: cmConfirmEvaluanteTeacher "&gt;                                   
/**
 * Returns an initiliazed instance of cmConfirmEvaluanteTeacher component.
 * @return the initialized component instance
 */
public Command getCmConfirmEvaluanteTeacher() {
    if (cmConfirmEvaluanteTeacher == null) {                                 
        // write pre-init user code here
        cmConfirmEvaluanteTeacher = new Command("Confirm", Command.SCREEN, 0);                                   
    // write post-init user code here
    }                         
    return cmConfirmEvaluanteTeacher;
}
//&lt;/editor-fold&gt;                       

//&lt;editor-fold defaultstate="collapsed" desc=" Generated Getter: cmBackResult "&gt;                                   
/**
 * Returns an initiliazed instance of cmBackResult component.
 * @return the initialized component instance
 */
public Command getCmBackResult() {
    if (cmBackResult == null) {                                 
        // write pre-init user code here
        cmBackResult = new Command("Back", Command.BACK, 0);                                   
    // write post-init user code here
    }                         
    return cmBackResult;
}
//&lt;/editor-fold&gt;                       


/**
 * Returns a display instance.
 * @return the display instance.
 */
public Display getDisplay() {
    return Display.getDisplay(this);
}

/**
 * Exits MIDlet.
 */
public void exitMIDlet() {
    switchDisplayable(null, null);
    destroyApp(true);
    notifyDestroyed();
}

/**
 * Called when MIDlet is started.
 * Checks whether the MIDlet have been already started and initialize/starts or resumes the MIDlet.
 */
public void startApp() {
    if (midletPaused) {
        resumeMIDlet();
    } else {
        initialize();
        startMIDlet();
    }
    midletPaused = false;
}

/**
 * Called when MIDlet is paused.
 */
public void pauseApp() {
    midletPaused = true;
}

/**
 * Called to signal the MIDlet to terminate.
 * @param unconditional if true, then the MIDlet has to be unconditionally terminated and all resources has to be released.
 */
public void destroyApp(boolean unconditional) {
}

class ValidUserThread extends Thread {

    public void run() {

        Vector data = new Vector();

        String fields[] = new String[5];

        fields[0] = getTfFirstName().getString();
        fields[1] = getTfLastName().getString();

        Calendar cal = Calendar.getInstance();

        cal.setTime(getDfBirthday().getDate());

        fields[2] = String.valueOf(cal.get(Calendar.DATE));
        fields[3] = String.valueOf(cal.get(Calendar.MONTH) + 1);
        fields[4] = String.valueOf(cal.get(Calendar.YEAR));

        data.addElement(fields);

        HttpConnectionClient client = new HttpConnectionClient(&quot;http://127.0.0.1:8084/EvaluateTeacher-Server/EvaluateTeacherServlet&quot;, &quot;POST&quot;);

        client.add(&quot;validUser&quot;, data);

        Vector ret = client.enviarReceberDados();

        Vector information = (Vector) ret.elementAt(0);
        String option = (String) information.elementAt(0);

        if (option.equals(&quot;validUser&quot;)) {
            fields = (String[]) information.elementAt(1);

            if (fields[0].equals(&quot;Error&quot;)) {
                getAlStatus().setString(&quot;Server: &quot; + fields[1]);
                switchDisplayable(alStatus, fmInsertUser);
            } else {
                try {
                    User user = new User();
                    user.setUserName(getTfUsername().getString());
                    user.setPassword(getTfPassword().getString());

                    pm.save(user);

                    getLoginScreen().setUsername(getTfUsername().getString());
                    getLoginScreen().setPassword(getTfPassword().getString());

                    getAlStatus().setString(&quot;Success&quot;);
                    switchDisplayable(alStatus, getLoginScreen());

                } catch (FloggyException ex) {
                    getAlStatus().setString(&quot;Error: &quot; + ex.getMessage());
                    switchDisplayable(alStatus, fmInsertUser);
                }
            }
        }
    }
}

class ImportDataThread extends Thread {
    
    public void run() {
        //INICIO COPIAR E COLAR
        
        
        HttpConnectionClient client = new HttpConnectionClient(&quot;http://127.0.0.1:8084/EvaluateTeacher-Server/EvaluateTeacherServlet&quot;, &quot;POST&quot;);

        client.add(&quot;importClass&quot;, null);
        client.add(&quot;importTeacher&quot;, null);

        Vector ret = client.enviarReceberDados();
        
        for ( int i = 0; i &lt; ret.size(); i++ ) {
            Vector information = (Vector) ret.elementAt(i);
            
            String fieldsError[] = (String[]) information.elementAt( 1 );
            
            if ( fieldsError[0].equals( &quot;Error&quot; ) ) {
                getAlStatus().setString( &quot;Server: &quot; + fieldsError[1] );
                switchDisplayable(alStatus, lsMain );
                break;
            }
            
            String option = (String) information.elementAt(0);
            
            if (option.equals(&quot;importClass&quot;) ) {
                for ( int j = 1; j &lt; information.size(); j++ ) {
                    try {
                        String[] fields = (String[]) information.elementAt( j );

                        ClassName className = new ClassName();
                        className.setClassName(fields[0]);

                        pm.save(className);
                    } catch (FloggyException ex) {
                        getAlStatus().setString( &quot;Error: &quot; + ex.getMessage() );
                        switchDisplayable(alStatus, lsMain );
                    }
                }
                
            } else if ( option.equals( &quot;importTeacher&quot; ) ) {
                for ( int j = 1; j &lt; information.size(); j++ ) {
                    try {
                        String[] fields = (String[]) information.elementAt( j );

                        Teacher teacher = new Teacher();
                        teacher.setClassName(fields[0]);
                        teacher.setTeacherName(fields[1]);

                        pm.save(teacher);
                    } catch (FloggyException ex) {
                        getAlStatus().setString( &quot;Error: &quot; + ex.getMessage() );
                        switchDisplayable(alStatus, lsMain );
                    }
                }                    
            }

            
        }

        getAlStatus().setString(&quot;Success&quot;);
        switchDisplayable(alStatus, lsMain);
        
        //FIM COPIAR E COLAR            
        
    }
}    

}

CODIGO DO SERVIDOR
/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

//import java.io.;
//import java.net.
;
//import java.util.logging.Level;
//import java.util.logging.Logger;
//import javax.servlet.;
//import javax.servlet.http.
;

import java.sql.SQLException;
import java.util.Vector;
import br.com.devmedia.HttpConnectionServer;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;

/**
*

  • @author ROGERIO
    */
    public class EvaluateTeacherServlet extends HttpConnectionServer {

    Connection con;

    @Override
    public void init() {
    try {

         Class.forName(&quot;com.mysql.jdbc.Driver&quot;);
    
         String url = &quot;jdbc:mysql://localhost:3306/wm&quot;;
         String user = &quot;root&quot;;
         String pass = &quot;admin&quot;;
    
         con = DriverManager.getConnection(url, user, pass);
    
     } catch (Exception ex) {
         System.out.println(ex.getMessage());
     }
    

    }

    public Vector tratarRequisicao(Vector data, String option) {

     Vector ret = new Vector();
    
     if (option.equals(&quot;validUser&quot;)) {
         ret = validUser(data);
     } else if ( option.equals(&quot;importClass&quot;)) {
         ret = importClass();
     } else if ( option.equals(&quot;importTeacher&quot; ) ) {
         ret = importTeacher();
     }
     
     return ret;
    

    }

    private Vector importClass() {

     Vector ret = new Vector();
     
     try {
         
         Statement stmt = con.createStatement();
         
         ResultSet rs = stmt.executeQuery( &quot;select * from class&quot; );
         
         while ( rs.next() ) {
             String className = rs.getString( &quot;class_name&quot; );
             
             String fields[] = new String[1];
             
             fields[0] = className;
             
             ret.add( fields );
         }
         
     } catch (SQLException ex) {
         ret = new Vector();
         String fields[] = new String[2];
         fields[0] = &quot;Error&quot;;
         fields[1] = ex.getMessage();
         
         ret.add( fields );
     }
          
     return ret;
    

    }

    private Vector importTeacher() {
    Vector ret = new Vector();

     try {
         
         Statement stmt = con.createStatement();
         
         ResultSet rs = stmt.executeQuery( &quot;select * from teacher&quot; );
         
         while ( rs.next() ) {
             String className = rs.getString( &quot;class_name&quot; );
             String teacherName = rs.getString( &quot;teacher_name&quot; );
             
             String fields[] = new String[2];
             
             fields[0] = className;
             fields[1] = teacherName;
             
             ret.add( fields );
         }
         
     } catch (SQLException ex) {
         ret = new Vector();
         String fields[] = new String[2];
         fields[0] = &quot;Error&quot;;
         fields[1] = ex.getMessage();
         
         ret.add( fields );
     }
     ret.trimToSize();//VER O QUE ACONTECE
     return ret;
    

    }

    private Vector validUser(Vector data) {

     Vector ret = new Vector();
    
     try {
    
         //String fields[] = (String[]) data.elementAt(0); //Comentado por mim.
         String[] fields = (String[]) data.elementAt(0);
    
         PreparedStatement ps = con.prepareStatement(&quot;select * from system_users where first_name = ? and last_name = ? and birthday = ?&quot;);
    
         ps.setString(1, fields[0]);
         ps.setString(2, fields[1]);
    
         String date = fields[4] + &quot;-&quot; + fields[3] + &quot;-&quot; + fields[2];
    
         ps.setString(3, date);
    
         ResultSet rs = ps.executeQuery();
    
         if (rs.next()) {
             fields = new String[1];
             //fields[0] = &quot;Successs&quot;;
             fields[0] = &quot;Sucesso. Conexão com BD realizado com sucesso.&quot;;
         } else {
             fields = new String[2];
             fields[0] = &quot;Error&quot;;
             //fields[1] = &quot;User not found&quot;;
             fields[1] = &quot;Usuário não existente na base da dados.&quot;;
         }
    
         ret.add(fields);
    
     } catch (SQLException ex) {
         String fields[] = new String[2];
         fields[0] = &quot;Error&quot;;
         fields[1] = ex.getMessage();
    
         ret.add(fields);
     }
    
     ret.trimToSize();
     return ret;
    

    }
    }

rogeriorbr to tentando refazer essa video-aula tb mas não to consequindo e então tentei usar o script daqui, mas também não estou consequindo devido a varios erros ocorridos acredito eu pelo fato da versão atual do floggy ter mudado tanto como por exemplo, não tem mais o FloggyUML e nem metodos hasNext e hasprevios.

Seria possível se vc tiver o floggy da versão anterior, ou seja , o floggy onde continha o FloggyUML, e todos os outros .jar que tinha nele ou se possivel me estar enviando os dois projetos da video aula para eu poder utilizar como base para as mudanças.

Valeu

Meu e-mail é leandro.barros@yahoo.com.br