先说我一开始遇到的问题吧,我搭建服务器时是把端口号改为了8081,然后按照书上的代码直接敲了。
.url("http://10.0.0.2:8081/get_data.xml")(8081是我自己加的,因为本来默认的窗口号是80),但是一直报连接超时这个错误。百度了很久,也试过在10.0.0.2前面加个localhost:,但是这格式就不对了。最后用模拟器试了一下,发现成功了。但是我一直都是用手机调试的啊,我在书上发现了一句话,“10.0.0.2对于模拟器来说就是电脑本地的ip地址”,那我就想,电脑对于手机的ip地址会不会是其他的呢。然后我就搜了 “如何用手机通过uri找到Apache搭建的本地服务器”,最后成功解决。下面贴出解决方法。
1.打开防火墙
打开控制面板-系统和安全-Windows Defender 防火墙下的 "允许应用通过Windows防火墙"。把Apache HTTP Server勾为专用
2.找到自己的电脑ip地址
打开cmd模式(这不用我说了吧),输入ipconfig,红色划线就是我们要找的ip地址,记下来。
3.使手机和电脑连接同一wifi
我电脑用的是学校的校园网,连上了之后就可以用手机连接电脑上的服务器了。将第二步找到的ip地址替换掉Uri里的10.0.0.2.
Uri改为
.url("http://10.176.166.171:8081/get_data.xml") //10.176.166.171这个是我连接校园网后的电脑ip地址,每个人的都不同,你们按照自己的输入就好了。
下面是参考博文:
https://blog.csdn.net/QAC_Boy/article/details/74157095
https://blog.csdn.net/mogigo00/article/details/56038224
感谢QAC_Bay博主和mogigo00bo博主
ps:对于参考博文中的查找配置文件中的 搜索:Allow from 127.0.0.1 ,我并没有找到这一行