Sto cercando di capire le differenze tra i tre metodi di gestione dell'interazione dell'interfaccia utente.Come modificare questo codice di esempio per mostrare le differenze tra i tre metodi di aggiornamento dell'interfaccia utente di BlackBerry
Sono davvero confuso con questi tre termini quando si cerca di capirli in un caso reale.
Il codice seguente mostra la funzione del metodo invokeAndWait, ma se lo sostituisco con invokeLater o getEventLock() il programma funzionerà esattamente allo stesso modo.
Qualcuno potrebbe modificare il codice per mostrare le differenze tra i tre metodi per l'aggiornamento dell'interfaccia utente?
public final class HelloWorldMainScreen extends MainScreen
{
private LabelField labelField;
public HelloWorldMainScreen()
{
labelField = new LabelField("Hello World");
add(labelField);
MainScreenUpdaterThread thread = new MainScreenUpdaterThread(this);
thread.start();
}
public void appendLabelText(String text){
labelField.setText(labelField.getText()+"\n"+text);
}
}
public class MainScreenUpdaterThread extends Thread {
HelloWorldMainScreen mainScreen;
public MainScreenUpdaterThread(HelloWorldMainScreen mainScreen){
this.mainScreen = mainScreen;
}
public void run(){
for (int i = 0; i < 10; i++) {
try{
Thread.sleep(5000);
}catch(InterruptedException ex){};
UiApplication.getUiApplication().invokeAndWait(new Runnable() {
public void run() {
mainScreen.appendLabelText("Update");
}
});
}
}
}
Questi tre concetti sono molto confusa per molte persone che iniziano in modo che qualsiasi codice sorgente esplicativo descrivendo le loro funzioni saranno fortemente utile per nessuno, credo.
Grazie in anticipo!