android中的httpclient使用
16lz
2021-01-24
用php搭建了个简单的服务器端,然后在android中使用httpclient来调用.
String httpurl="http://192.168.1.100/http/httptest.php?para=hello"; HttpGet httpGet=new HttpGet(httpurl); HttpParams httpParameters = new BasicHttpParams();// Set the timeout in milliseconds until a connection is established. HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);// Set the default socket timeout (SO_TIMEOUT) // in milliseconds which is the timeout for waiting for data. HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket); HttpClient httpclient = new DefaultHttpClient(httpParameters); try{ HttpResponse httpResponse=httpclient.execute(httpGet); if (httpResponse.getStatusLine().getStatusCode()==HttpStatus.SC_OK){ String strResult=EntityUtils.toString(httpResponse.getEntity()); txtHello.setText(strResult); mWebView.loadUrl(httpurl); } else{ txtHello.setText("no response"); } }catch(IOException e){ e.printStackTrace();}
刚开始发现在执行httpclient.execute的时候就没有了响应,程序没有继续执行,也没有报告错误,后来一查,需要加入相应的权限才可以:
<uses-permission android:name="android.permission.INTERNET" />
这样就可以正确的返回信息了.
接下来的问题是返回的信息中有中文,在android中显示为乱码,估计是服务器端的问题,于是在php中加入了编码:
header("Content-Type: text/html;charset=utf-8");
可以正常显示了.
更多相关文章
- android+mina 开发环境搭建
- Android(安卓)UI开源软件(三)
- android 通过经纬度获取地址信息
- 跟踪Android(安卓)callback 调用堆栈
- Android平台开发-WIFI function porting-WIFI功能移植
- QT 与 android java socket通讯 中文字符编码问题 解决
- Android(安卓)Market 分析【安智市场】
- 禁止应用获取手机信息
- 如何查看Android的ANR(无响应)异常