写在前面:在上一篇中介绍了通过单片机发送指令控制WIFI模块,本来想写一下时钟、I/O口及串口的初始化函数,但是因为项目年代久远(一年前做的),怕有错误,误导博友,故不给出代码,见谅。本章要介绍Android端通过WIFI与手机建立连接并通信的过程。
我们使用Socket类,即“套接字”进行通信。由于其相关说明对程序开发没有多大帮助,故不再赘述,只需知道使用其进行通讯需要目标的IP地址及端口号即可,直接来看代码:
Test_Button.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v){ //在子进程中完成数据的获取,在主进程中完成UI更新 new Thread(new Runnable(){//开启一个线程 @Override public void run(){ try{ Socket TestSocket = new Socket();//new一个socket TestSocket.connect(new InetSocketAddress("192.168.4.1", 8080), 8000);//三个参数分别是IP、端口、超时 OutputStream TestOS = TestSocket.getOutputStream();//输出流 InputStream TestIS = TestSocket.getInputStream();//输入流 byte send_buffer[] = {40};//输出字符数组 byte rec_buffer[] = new char[10];//输入字符数组 TestOS.write(buffer);//这样字符就发送了 for(int i = 0; i < 10; i++){ rec_buffer[i] = TestIS.read();//read()方法是一个字符一个字符接收 } //关闭所有流及socket TestOS.close(); TestIS.close(); TestSocket.close(); //接下去可对收到的数据进行操作 } catch(Exception e){ //可以打印错误日志啥的 } } }).start(); } });总结一下: 通信过程很简单,建立一个Socket,调用connect()方法,通过输入输出流传递数据,最后关闭流和Socket即可。
至此,完成了全部关于WIFI模块的使用教程。