欢迎来到天天文库
浏览记录
ID:14153290
大小:58.00 KB
页数:8页
时间:2018-07-26
《android网络编程_李大鹏》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Android--------网络编程Google以网络搜索引擎起家的,在网络通信方面也非常优秀,我们可以很轻松地使用Android自带的浏览器来访问网页。Android基于Linux内核,它包含一组优秀的联网功能。目前,Android平台有3种网络接口可以使用,它们分别是:java.net.*(标准Java接口),org.apache(Apache接口),android.net.*(Android网络接口)。标准java接口Java.net.*(标准java接口)提供与联网有关的类,包括流和数据包套接字,
2、Internet协议,常见HTTP协议处理。比如:创建URL以及URLConnection/HttpURLConnection对象,设置连接参数,连接到服务器,向服务器谢数据,从服务器读取数据等通信。源码:try{//创建URL对象URLurl=newURL("http://www.baidu.com/");//创建URL连接URLConnectionconnection=url.openConnection();//对于HTTP连接可以直接转换成HttpURLConnection,//这样就可以使用一些H
3、TTP连接特定的方法,如setRequestMethod()等//HttpURLConnectionconnection//=(HttpURLConnection)url.openConnection(Proxy_yours);//设置参数connection.setConnectTimeout(10000);//连接服务器connection.connect();//取得数据InputStreamis=connection.getInputStream();//处理数据…………………}catch(IOEx
4、ceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}每一次HttpURLConnection连接的状态,可以用HttpURLConnection.getResponseCode取得目前的网络连接的服务器应答代码,或以HttpURLConnection.getResponseMessage取得返回的信息。常出现的代码与信息的对应如下:ResponseCodeResponseMessage说明200OK成功401Unauthorized未授权
5、500InternalServerError服务器内部错误404NotFound找不到该网页也可以运用HttpURLConnection类中的getInputStream方法,返回InputStream,可以将InputStream对象,变成Bitmap,显示到画面上。Apache接口HTTP协议可能是现在Internet上使用最多,最重要的通信协议了,越来越多的Java应用程序通过HTTP协议来访问网络资源。Android平台引入了ApacheHttpClient的同时还提供了对它的一些封装和扩展,例如设
6、置缺省的HTTP超时和缓存大小等。HttpClient是ApacheJakartaCommon下的子项目,可以用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。Android平台用的版本是HttpClient4.0。对于HttpClient类,可以使用HttpPost和HttpGet类以及HttpResponse来进行网络连接。源码:第1种:post方式HttpPosthttpRequest=newHttpPost(uriAPI);try{//发出
7、HTTPrequesthttpRequest.setEntity(newUrlEncodedFormEntity(params,HTTP.UTF_8));/*取得ÃHTTPresponse*/HttpResponsehttpResponse=newDefaultHttpClient().execute(httpRequest);/*若状态码200ok*/if(httpResponse.getStatusLine().getStatusCode()==200){/*取出应答字符串*/StringstrResu
8、lt=EntityUtils.toString(httpResponse.getEntity());mTextView1.setText(strResult);}else{mTextView1.setText("ErrorResponse:"+httpResponse.getStatusLine().toString());}}catch(ClientProtocolExceptione){mTextView1.
此文档下载收益归作者所有