Java Reference
In-Depth Information
protected int mMsgAvail = 0;
public void run() {
Message msg = null;
String msgReceived = null;
Image receivedImage = null;
mMsgAvail = 0;
while (!mEndNow) {
synchronized(mMonitor) { // Enter monitor
if (mMsgAvail <= 0)
try {
mMonitor.wait();
} catch (InterruptedException ex) {
}
mMsgAvail--;
}
try {
msg = conn.receive();
if (msg instanceof MultipartMessage) {
MultipartMessage mpm = (MultipartMessage)msg;
MessagePart[] parts = mpm.getMessageParts();
if (parts != null) {
for (int i = 0; i < parts.length; i++) {
MessagePart mp = parts[i];
byte[] ba = mp.getContent();
receivedImage = Image.createImage(ba, 0, ba.length);
Display.getDisplay(this).callSerially(
new SetImage(receivedImage));
} //of for
}
}
} catch (IOException e) {
System.out.println("Receive thread caught: ");
e.printStackTrace();
}
} // of while
}
private void getMessage() {
synchronized(mMonitor) {
mMsgAvail++;
mMonitor.notify();
}
}
Search WWH ::




Custom Search