Server
Package COM. test; </P> <p> Import Java. io. bufferedreader; <br/> Import Java. io. bufferedwriter; <br/> Import Java. io. file; <br/> Import Java. io. fileoutputstream; <br/> Import Java. io. inputstreamreader; <br/> Import Java. io. outputstreamwriter; <br/> Import Java. io. printwriter; <br/> Import java.net. serversocket; <br/> Import java.net. socket; </P> <p> public class server implements runnable {<br/> Public static final string serverip = "10.0.2.2 "; <br/> Public static final int SERVERPORT = 51706; </P> <p> Public void run () {<br/> try {<br/> system. out. println ("s: Connecting... "); </P> <p> serversocket = new serversocket (SERVERPORT); <br/> while (true) {</P> <p> // wait for receiving client requests <br/> Socket Client = serversocket. accept (); </P> <p> system. out. println ("s: inserting ing... "); </P> <p> try {</P> <p> // accept client information <br/> bufferedreader in = new bufferedreader (<br/> New inputstreamreader (client. getinputstream (); </P> <p> Socket socket = NULL; </P> <p> // send a message <br/> printwriter out = new printwriter (New bufferedwriter (New outputstreamwriter (client. getoutputstream (), true); </P> <p> // set the returned information <br/> out. println ("My name is server"); <br/> out. flush (); </P> <p> string STR = in. readline (); <br/> file = new file ("C: // file // android.txt"); <br/> fileoutputstream fops = new fileoutputstream (File ); <br/> byte [] B = Str. getbytes (); <br/> for (INT I = 0; I <B. length-1; I ++) <br/>{< br/> fops. write (B [I]); <br/> system. out. println (B. tostring (); <br/>}</P> <p> system. out. println ("s: pinned ed: '" + STR + "'"); </P> <p >}catch (exception e) {</P> <p> system. out. println ("s: error"); </P> <p> E. printstacktrace (); </P> <p >}finally {</P> <p> client. close (); </P> <p> system. out. println ("s: Done. "); </P> <p >}</P> <p >}catch (exception E) {</P> <p> system. out. println ("s: error"); </P> <p> E. printstacktrace (); </P> <p >}</P> <p> Public static void main (string [] ARGs) {</P> <p> thread threads topserverthread = new thread (new server (); </P> <p> threads topserverthread. start (); </P> <p >}< br/>}
Client
Package COM. LDE; </P> <p> Import Java. io. bufferedreader; <br/> Import Java. io. bufferedwriter; <br/> Import Java. io. inputstreamreader; <br/> Import Java. io. outputstreamwriter; <br/> Import Java. io. printwriter; <br/> Import java.net. inetaddress; <br/> Import java.net. serversocket; <br/> Import java.net. socket; </P> <p> Import android. app. activity; <br/> Import android. OS. bundle; <br/> Import android. util. log; <br/> Import android. view. view; <br/> Import android. view. view. onclicklistener; <br/> Import android. widget. button; <br/> Import android. widget. edittext; <br/> Import android. widget. textview; </P> <p> public class socket_android extends activity {</P> <p> private textview mtextview = NULL; <br/> private edittext medittext = NULL; <br/> private textview tx1 = NULL; </P> <p> private button mbutton = NULL; </P> <p>/** Cal Led when the activity is first created. */<br/> @ override <br/> Public void oncreate (bundle savedinstancestate) {<br/> super. oncreate (savedinstancestate); <br/> setcontentview (R. layout. main); </P> <p> mbutton = (button) findviewbyid (R. id. button01); <br/> medittext = (edittext) findviewbyid (R. string. edittext01); <br/> mtextview = (textview) findviewbyid (R. string. textview01); <br/> tx1 = (textview) Findviewbyid (R. id. TX); </P> <p> mbutton. setonclicklistener (New onclicklistener () {<br/> Public void onclick (view v) {<br/> settitle ("abcdefg"); <br/> Socket socket = NULL; <br/> try {</P> <p> // specify the IP address of the server <br/> inetaddress serveraddr = inetaddress. getbyname ("10.0.2.2"); // tcpserver. serverip </P> <p> log. D ("TCP", "C: Connecting... "); </P> <p> // create a socket object using the IP address and port of the application server <br/> socket = new socket (serverad Dr, 51706); <br/> string message = "--- test_socket_android ---"; </P> <p> log. D ("TCP", "C: sending: '" + message + "'"); </P> <p> // send information to the server through this object <br/> printwriter out = new printwriter (New bufferedwriter (<br/> New outputstreamwriter (socket. getoutputstream (), <br/> true ); </P> <p> // accept Server Information <br/> bufferedreader in = new bufferedreader (<br/> New inputstreamreader (socket. getinputstream (); <br/> // get the server Server Information <br/> string MSG = in. readline (); <br/> // display on the page <br/> tx1.settext (MSG); </P> <p> out. println (MSG); <br/> out. flush (); </P> <p >}catch (exception e) {</P> <p> log. E ("TCP", "s: error", e ); <br/>} finally {<br/> try {<br/> // serversocket = new serversocket (51706); <br/> // Socket Client = serversocket. accept (); <br/> // bufferedreader in = new bufferedreader (<br/> // new inputstreamreade R (client. getinputstream (); <br/> // string STR = in. readline (); <br/>/// tx1.settext ("123"); </P> <p> // system. out. println ("s: pinned ed: '" + STR + "'"); <br/> // system. out. println ("s: pinned ed: '" + STR + "'"); </P> <p> socket. close (); <br/>}catch (exception e) {<br/> // todo auto-generated Catch Block <br/> E. printstacktrace (); <br/>}</P> <p> ); <br/>}< br/> // publi C void () throws ioexception <br/> // {<br/> /// specify the Server IP address <br/> // inetaddress serveraddr = <br/> // inetaddress. getbyname ("110.149"); // tcpserver. serverip <br/> // log. D ("TCP", "C: Connecting... "); <br/> // create a socket object using the IP address and port of the application server <br/> // Socket socket = new socket (serveraddr, 51706); <br/> // string message = "androidres, where is my pig (Android )? "; <Br/> // try {<br/> // log. D ("TCP", "C: sending: '" + message + "'"); <br/> // <br/> /// send information to the server through this object <br/> // printwriter out = new printwriter (New bufferedwriter (New <br //> // outputstreamwriter (socket. getoutputstream (), true); <br/> // out. println (Message); <br/> //} catch (exception e) {<br/> // log. E ("TCP", "s: error", e); <br/>/} finally {<br/> // socket. close (); <br/>/}< br/>///} </P> <p>}
R. Java
/* Auto-generated file. do not modify. <br/> * This class was automatically generated by the <br/> * aapt tool from the resource data it found. it <br/> * shocould not be modified by hand. <br/> */</P> <p> package COM. LDE; </P> <p> Public final class r {<br/> Public static final class ATTR {<br/>}< br/> Public static final class drawable {<br/> Public static final int icon = 0x7f020000; <br/>}< br/> Public static final class ID {<br/> Public static final int button01 = 0x7f050000; <br/> Public static final int Tx = 0x7f050001; <br/>}< br/> Public static final class layout {<br/> Public static final int main = 0x7f030000; <br/>}< br/> Public static final class string {<br/> Public static final int button01 = 0x7f040003; <br/> Public static final int edittext01 = 0x7f040004; <br/> Public static final int textview01 = 0x7f040002; <br/> Public static final int app_name = 0x7f040001; <br/> Public static final int Hello = 0x7f040000; <br/>}< br/>
Main. xml
<? XML version = "1.0" encoding = "UTF-8"?> <Br/> <linearlayout xmlns: Android = "http://schemas.android.com/apk/res/android" <br/> Android: Orientation = "vertical" <br/> Android: layout_width = "fill_parent" <br/> Android: layout_height = "fill_parent" <br/> <! -- <Br/> <textview <br/> Android: layout_width = "fill_parent" <br/> Android: layout_height = "wrap_content" <br/> Android: TEXT = "@ string/Hello" <br/> --> <br/> <textview <br/> Android: layout_width = "fill_parent" <br/> Android: layout_height = "wrap_content" <br/> Android: TEXT = "@ string/textview01"/> </P> <p> <edittext <br/> Android: layout_width = "fill_parent" <br/> Android: layout_height = "wrap_content" <br/> Android: text = "@ string/edittext01"/> </P> <p> <button <br/> Android: id = "@ + ID/button01" <br/> Android: layout_width = "fill_parent" <br/> Android: layout_height = "wrap_content" <br/> Android: TEXT = "@ string/button01"/> <br/> <textview Android: Id = "@ + ID/TX" <br/> Android: layout_width = "fill_parent" <br/> Android: layout_height = "wrap_content"/> <br/> </linearlayout> <br/>
String. xml
<? XML version = "1.0" encoding = "UTF-8"?> <Br/> <resources> <br/> <string name = "hello"> Hello world, socket_android! </String> <br/> <string name = "app_name"> socket_android </string> <br/> <string name = "textview01"> the content shown here is information </string> <br/> <string name = "button01"> test connection </string> <br/> <string name = "edittext01"> enter content </ string> <br/> </resources> <br/>
Androidmanifest. xml
<? XML version = "1.0" encoding = "UTF-8"?> <Br/> <manifest xmlns: Android = "http://schemas.android.com/apk/res/android" <br/> package = "com. LDE "<br/> Android: versioncode =" 1 "<br/> Android: versionname =" 1.0 "> <br/> <uses-SDK Android: minsdkversion = "5"/> </P> <p> <application Android: icon = "@ drawable/icon" Android: label = "@ string/app_name"> <br/> <activity Android: Name = ". socket_android "<br/> Android: Label =" @ string/app_name "> <br/> <intent-filter> <B R/> <action Android: Name = "android. intent. action. main "/> <br/> <category Android: Name =" android. intent. category. launcher "/> <br/> </intent-filter> <br/> </activity> <br/> </Application> <br/> <! -- Be sure to add the following sentence to set the permission for it --> <br/> <uses-Permission Android: Name = "android. permission. internet "/> <br/> </manifest>