Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Socket IO Android-如何从服务器接收消息并将其放入文本视图_Android_Eclipse_Sockets_Io_Socket.io - Fatal编程技术网

Socket IO Android-如何从服务器接收消息并将其放入文本视图

Socket IO Android-如何从服务器接收消息并将其放入文本视图,android,eclipse,sockets,io,socket.io,Android,Eclipse,Sockets,Io,Socket.io,我正在接收发送和接收消息,但我不知道如何将其放在文本视图中。我不知道在什么时候做这件事:conversaChat.appendargs[0].toString 我的代码是: 公共类MainActivity扩展了活动{ Button btnEnviar; EditText inputMensagem; TextView conversaChat; String mensagem; private BasicExample BasicExample; private ChatCallbackAda

我正在接收发送和接收消息,但我不知道如何将其放在文本视图中。我不知道在什么时候做这件事:conversaChat.appendargs[0].toString

我的代码是:

公共类MainActivity扩展了活动{

Button btnEnviar;
EditText inputMensagem;
TextView conversaChat;
String mensagem;
private BasicExample BasicExample;
private ChatCallbackAdapter callback;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);



    btnEnviar = (Button) findViewById(R.id.button1);
    inputMensagem = (EditText) findViewById(R.id.editText1);
    conversaChat = (TextView) findViewById(R.id.textView1);

    btnEnviar.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            mensagem = inputMensagem.getText().toString();
            conversaChat.append("usuario diz:" + mensagem+"\r\n");
            inputMensagem.setText("");
            try {
                new BasicExample();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}


public class BasicExample implements IOCallback {
    private SocketIO socket;


    /**
     * @param args
     */
    public void main(String[] args) {
        try {
            new BasicExample();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public BasicExample() throws Exception {
        socket = new SocketIO();
        socket.connect("xxxxx", this);

        // Emits an event to the server.
        socket.emit("adduser", "Diego");
        socket.emit("sendchat", mensagem);

        //socket.onMessage("updatechat","teste", mensagem);
    }

    @Override
    public void onMessage(JSONObject json, IOAcknowledge ack) {
    }

    @Override
    public void onMessage(String data, IOAcknowledge ack) {
    }

    @Override
    public void onError(SocketIOException socketIOException) {
        System.out.println("an Error occured");
        socketIOException.printStackTrace();
        //conversaChat.append("desconectado");
    }

    @Override
    public void onDisconnect() {
        System.out.println("Connection terminated.");
        //conversaChat.append("desconectado");
    }

    @Override
    public void onConnect() {
        System.out.println("Connection established");
        //conversaChat.append("conectado");
    }

    @Override
    public void on(String event, IOAcknowledge ack, Object... args) {

        Object[] arguments = args;
                String json = arguments[0].toString();
                if(event.equals("updatechat")&& args.length > 0){
            conversaChat.append(arguments[0].toString()+": "+arguments[1].toString());
        }


    }


}
@Override
public 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;
}
}

您知道,有几种已开发且广泛使用的协议和相关库,通常用于在用户之间传输消息,对吗?是的,这一部分很好,在我的android日志中,我收到了消息,但当我尝试将其放入TextView时,只收到一条消息,并断开了我的聊天