在网上找了一些socket连接的博客,客户端和服务器端要么都是java,要么都是python,像我这么奇葩的好像没见着,所以写个博客记录一下自己踩过的坑。。。
客户端:
首先,需要给app访问网络的权限:
在AndroidManifest.xml中添加
<uses-permission android:name="android.permission.INTERNET" />
然后就是老老实实的敲代码实现自己要的界面
我这里想要实现的是点击前进,后退,左转,右转按钮,服务器能分别收到对应的字符串 “upward”,“back”,“left”,“right”
这里就要给对应的按钮添加事件监听了:
但是切记不要直接调用socket,而是用线程去做:
在主线程中请求网络操作,会抛出 android.os.NetworkOnMainThreadException
这里参考了:
https://blog.youkuaiyun.com/llixiangjian/article/details/72910557 这篇博客,感谢大佬!!!
back_btn.setOnClickListener(new Button.OnClickListener<