Android studio socket客户端应用设计

一、XML布局设计:




    

    

    

    

    

    

    

Android studio socket客户端应用设计_第1张图片

二、增加wifi权限:


三、MainActivity.java部分代码:

1)、连接服务器按钮onClick事件:

public void link(View view) {
    if (btn1.getText().equals("连接服务器")) {
        ConnectThread connectthread = new ConnectThread();
        connectthread.start();
        btn1.setText("断开服务器");
    } else if (btn1.getText().equals("断开服务器")) {
        btn1.setText("连接服务器");
        try {
            socket.close();
            socket = null;
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

2)、socket连接thread:

class ConnectThread extends Thread {
        public void run() {
            InetAddress ipAddress;
            try {
                if (socket == null) {
                    ipAddress = InetAddress.getByName(ipEt.getText().toString());
                    int port = Integer.valueOf(portEt.getText().toString());
                    socket = new Socket(ipAddress, port);

                    inputStream = socket.getInputStream();
                    outputStream = socket.getOutputStream();

                    ReadDataThread readDataThread = new ReadDataThread();
                    readDataThread.start();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

3)、发送数据thread:

class SendDataThread extends Thread {
    public void run() {
        try {
            outputStream.write(txDataEt.getText().toString().getBytes());
            btn2.setText("发送完成");
            Thread.sleep(1000);
            btn2.setText("发送数据");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

4)、接收数据thread:

Android studio socket客户端应用设计_第2张图片

四、运行效果:

Android studio socket客户端应用设计_第3张图片

五、项目工程:

Androidstudiosocket客户端应用设计资源-CSDN文库

你可能感兴趣的:(android,android,studio,gitee,android)