最近开发了一个Android app,在开发过程中,遇到一些小坑。
以前是用java开发Android的,最近Google推出个什么kotlin,那鬼东西,谁知道啊,坚决抵制。
网络访问
问题1,网络访问权限
java.net.SocketException: socket failed: EACCES (Permission denied)
解决办法,在配置表里设置。
<uses-permission android:name="android.permission.INTERNET"/>
https://zhidao.baidu.com/question/230167744.html
问题2,android.os.NetworkOnMainThreadException
不能在ui线程中进行网络操作。
代码中需要通过自己创建Thread来访问网络,UI线程连接网络Android会抛出异常。
问题3,toast不能在子线程中抛出
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
解决办法:
Toast不能在子线程中抛出,必须在activity线程中抛出。
而Toast消息不能在子线程中弹出,故有此报错。
https://blog.csdn.net/m0_38025747/article/details/80196367
问题4
android 模拟器 连接 本机 connect failed: ECONNREFUSED (Connection refused),
ip地址没填写对。。。。