您的位置:首页 > 理论基础 > 计算机网络

关于android真机无法测试http协议网络访问 而android虚拟机可以

2014-03-15 17:43 537 查看
在android的开发中,因为要用到网络访问即客户端与服务器端传递数据,采用的是http协议。

遇到的问题是:android模拟器可以正常测试,而真机无法测试。防火墙也关闭了,手机网络也访问了。

我的解决办法分为2个方法:

(1),super.onCreate(savedInstanceState)

setContentView(R.layout.main);

//以下代码是添加的

StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()

.detectDiskReads()

.detectDiskWrites()

.detectAll() // or .detectAll() for all detectable problems

.penaltyLog()

.build());

StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()

.detectLeakedSqlLiteObjects()

.detectLeakedClosableObjects()

.penaltyLog()

.penaltyDeath()

.build());

(2),将传输方式改为get方式

conn = (HttpURLConnection)new URL(url).openConnection();

conn.setConnectTimeout(5000);

conn.setRequestMethod("GET");

if(conn.getResponseCode()==200){

InputStream json = conn.getInputStream();

byte[] data1 = StreamTool.ReadInputSream(json);

String json1 = new String(data1);

JSONObject jsonObject = new JSONObject(json1);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐