標籤:des android http io os 使用 ar java sp
使用library: https://github.com/tavendo/AutobahnAndroid
package com.fkapp.websocket;import com.fkapp.websocket.R;import de.tavendo.autobahn.WebSocketConnection;import de.tavendo.autobahn.WebSocketException;import de.tavendo.autobahn.WebSocketHandler;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Button;import android.widget.Toast;public class MainActivity extends ActionBarActivity {private final StringTAG= "MainActivity";public static StringwsUrl= "ws://ip:port/chat"; /* TODO: 運行時替換ip port */public WebSocketConnectionwsC= new WebSocketConnection();public Handler handler = new Handler(){@Overridepublic void handleMessage( Message msg ){super.handleMessage( msg );if ( msg.what == 0 ){}}};public void toastLog( String s ){Toast.makeText( this, s, Toast.LENGTH_SHORT ).show();}private void wsStart(){try {wsC.connect( wsUrl, new WebSocketHandler() { @Override public void onOpen() { toastLog( "Status: Connected to " + wsUrl ); wsC.sendTextMessage( "Hello, world!" ); } @Override public void onTextMessage( String payload ) { toastLog( "Got echo: " + payload ); } @Override public void onClose( int code, String reason ) { toastLog( "Connection lost." ); } } );} catch ( WebSocketException e ) {e.printStackTrace();}}@Overrideprotected void onCreate( Bundle savedInstanceState ){super.onCreate( savedInstanceState );setContentView( R.layout.activity_main );wsStart();Button wsSend = (Button) findViewById( R.id.wsSend );wsSend.setOnClickListener( new View.OnClickListener() { @Override public void onClick( View v ) { wsC.sendTextMessage( "ooxx" ); } } );}@Overrideprotected void onDestroy(){super.onDestroy();if ( wsC.isConnected() ){wsC.disconnect();}}@Overridepublic boolean onCreateOptionsMenu( Menu menu ){/* Inflate the menu; this adds items to the action bar if it is present. */getMenuInflater().inflate( R.menu.main, menu );return(true);}@Overridepublic boolean onOptionsItemSelected( MenuItem item ){/* * Handle action bar item clicks here. The action bar will * automatically handle clicks on the Home/Up button, so long * as you specify a parent activity in AndroidManifest.xml. */int id = item.getItemId();if ( id == R.id.action_settings ){return(true);}return(super.onOptionsItemSelected( item ) );}}
進行通訊
Android使用websocket