自己在弄一个项目,,遇到了一个android的联网问题,我就把问题跟大家分享一下。。
首先android联网首先要在Manifest中添加
<uses-permission android:name="android.permission.INTERNET" />
这个是android联网的最基本授权。
然后就是就是服务器的ip问题,,很多同学跟以前的一样都是用的localhost与127.0.0.1来做主机地址所以会有错误说是refuse connect 因为android也是一个模拟器
所以我们要给一个真实地址,,有很多人说可以用10.0.2.2 我这个试过不行,最后就是自己给他一个地址
然后提供的完整路径是
基本地址:服务器ip地址:端口号/Web项目逻辑地址+目标页面(Servlet)的url-pattern
private String baseUrl = "http://192.168.196.1:8080/test/AddMessage";
这个完成之后基本就可以了。。
还有就是有的同学是直接访问的,没有起线程需要在onCreate方法里面添加
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads()
.detectDiskWrites()
.detectNetwork() // 这里可以替换为detectAll() 就包括了磁盘读写和网络I/O
.penaltyLog() //打印logcat,当然也可以定位到dropbox,通过文件保存相应的log
.build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects() //探测SQLite数据库操作
.penaltyLog() //打印logcat
.penaltyDeath()
.build());
}
这个就基本没有问题了。。。大家有什么好提议的,再评论一下。。。。