Implementando processamento background em seu Midlet
Este exemplo mostra como fazer o processamento em background no seu Midlet.
import
javax.microedition.midlet.*;
import
javax.microedition.lcdui.*;
import
javax.microedition.io.*;
import
java.io.*;
public class
BackgroundProcessing
extends
MIDlet
implements
CommandListener
{
private
Display display;
private
Form form;
private
Command exit;
private
Command start;
public
BackgroundProcessing()
{
display = Display.getDisplay(
this
);
form =
new
Form(
"Background Processing"
);
exit =
new
Command(
"Exit"
, Command.EXIT,
1
);
start =
new
Command(
"Start"
, Command.SCREEN,
2
);
form.addCommand(exit);
form.addCommand(start );
form.setCommandListener(
this
);
}
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 == start)
{
Process process =
new
Process(
this
);
process.start();
//foreground processing
}
}
}
class
Process
implements
Runnable
{
private
BackgroundProcessing MIDlet;
public
Process(BackgroundProcessing MIDlet)
{
this
.MIDlet = MIDlet;
}
public void
run()
{
try
{
transmit ();
}
catch
(Exception error)
{
System.err.println(error.toString());
}
}
public void
start()
{
Thread thread =
new
Thread(
this
);
try
{
thread.start();
}
catch
(Exception error)
{
}
}
private void
transmit()
throws
IOException
{
//
Colocar o código aqui para receber ou enviar transmissão..
}
}