关于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);
}
遇到的问题是: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);
}
相关文章推荐
- 关于复制linux虚拟机后网络无法访问问题
- 解决android SDK2.3.3以后访问网络虚拟机可以真机报错问题
- Android检查设备是否可以访问互联网,判断Internet连接,测试网络请求,解析域名
- RxJava + httpURLConnectionde 的简单测试demo,可以拿来处理一般的android访问网络的线程问题
- 关于PC可以识别并连接网络,但却无法访问问题
- 使用ASIHttpRequest时出现模拟器运行可以正常进行网络访问,而真机无法进行网络访问
- “android.os.NetworkOnMainThreadException”---关于Android4.0后无法将访问网络放入主线程中的解决办法
- android常见问题二:真机测试无法访问本机服务器端
- 关于真机测试的android选择图片在ImageView上显示,调用setImageBitmap无法显示和闪退、控件消失
- Android使用http协议访问网络
- 关于android真机测试(linux系统下)
- android 写了个service 在虚拟机测试可以启动 安装到手机后就启动不了 启动了也没有执行方法
- 关于android客户端访问网络数据的问题
- 关于androidstuio运行程序遇到 Error:(11, 8) 错误: 无法访问HttpEntity 找不到org.apache.http.HttpEntity的类文件解决方法
- 使用android真机测试http网络连接异常解决办法
- Spark UI在虚拟机中可以打开,但是在宿主机上无法访问
- 以自己的电脑作为服务器,Android真机测试网络请求
- android开发问题-关于Xutils框架出现无法访问HttpRequestBase 找不到org.apache.http.client.methods.HttpRequestBase解决方案
- android开发,关于工程无法使用真机调试。