Hello Threads
Hello Threads
Introduction
Hello Threads
Goal
Create an application
that uses a
background thread
as a UDP server to
receive messages
from the UDP client
152.4.244.125
Layout
TextView that changes
from Starting Server to
Server Started (optional)
152.4.244.125
Application Structure
ServerThread
Main Activity
OnCreate( )
Constructor
UDPClient
run( )
Message
Handler
while (socketStillOpen){
receive packet
display Message
send reply
}
OnDestroy( )
OnClickListener( )
Display line
HelloThreads
UDPClient
Main Activity
(HelloThreads)
ClassMembers
TextView
isRunning,myIPAddressField,lastMessage;
Button
clear;
ServerThread myThread;
Handler
OnCreate( )
OnDestroy( )
Handler
Definition on
Next page
myThread.closeSocket();
OnClickListener( )
switch (msg.what) {
case PACKET_CAME:
lastMessage.setText(incomingMessage);
break;
case IS_RUNNING:
isRunning.setText(socketStatus);
break;
case IP_ADDRESS:
myIPAddressField.setText("Server IP Address:"+myIPAddress.toString());
break;
}
}
};
ServerThread
mContext = currentContext;
mHandler = handler;
Open the socket; if successful
mHandler.obtainMessage(HelloThreads2.IS_RUNNING, "Server
On Next
Started").sendToTarget();
Page
InetAddress myIP = getMyWiFiIPAddress();
mHandler.obtainMessage(HelloThreads2.IP_ADDRESS, myIP).sendToTarget();
serverSocket.close();
On Next
Next Page
@2010 Mihail L. Sichitiu
ServerThread.run( )
main Thread
}// while(socketOK)
Android Manifest
10