android里的客户端请求服务端的3种方式
2015-08-03 15:33
274 查看
目前android平台有3种网络接口可以使用,如下:1)java.net.*(标准JAVA接口)提供联网有关的类,包括流和数据包套接字,internet协议,常见的HTTP处理,比如创建URL、URLConnection,HttpURLConnection,设置连接参数,连接到服务器,向服务器写数据,从服务器读取数据,写法如下
2)org.apache(Apache接口)
android提供了Apache HttpClient,功能更加完善,比如加了HTTP超时,缓存大小等,主要包括创建HttpClient 以及 Get/Post,HttpRequest
等对象,设置连接参数,执行Http操作,处理服务器返回结果,下面使用的是android.net.http.*包的列子
3)android.net.*(android网络接口)
android.net.*包实际是通过对apache的httpclient封装来实现一个http编程接口,同时还提供了了http请求对列管理以及连接池的
管理,提高并发请求下的执行效率,除此还有网络状态监视等接口,网络访问的socket、常用的uri类以及wifi相关类等等,下面我们看最简单的
socket连接
try { //连接地址 URL url=new URL("https://www.baidu.com/"); //打开连接 HttpURLConnection hurl=(HttpURLConnection) url.openConnection(); //获取连接状态 返回200表示正常 可以参考 HTTP状态吗:http://baike.baidu.com/view/1790469.htm int status=hurl.getResponseCode(); if(status==HttpURLConnection.HTTP_OK){ //得到数据 InputStream is=hurl.getInputStream(); System.out.println(is); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }
2)org.apache(Apache接口)
android提供了Apache HttpClient,功能更加完善,比如加了HTTP超时,缓存大小等,主要包括创建HttpClient 以及 Get/Post,HttpRequest
等对象,设置连接参数,执行Http操作,处理服务器返回结果,下面使用的是android.net.http.*包的列子
try { //创建httpclient 使用默认属性连接 HttpClient hct=new DefaultHttpClient(); //获取实例 HttpGet get= new HttpGet("https://www.baidu.com/"); //连接 HttpResponse hrp= hct.execute(get); if(hrp.getStatusLine().getStatusCode()==HttpStatus.SC_OK){ InputStream is=hrp.getEntity().getContent(); //处理数据 } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
3)android.net.*(android网络接口)
android.net.*包实际是通过对apache的httpclient封装来实现一个http编程接口,同时还提供了了http请求对列管理以及连接池的
管理,提高并发请求下的执行效率,除此还有网络状态监视等接口,网络访问的socket、常用的uri类以及wifi相关类等等,下面我们看最简单的
socket连接
try { //IP地址 InetAddress inetAddress = InetAddress.getByName("192.168.1.110"); //端口,去得连接 Socket clinet=new Socket(inetAddress, 60000,true); //取得数据 InputStream is=clinet.getInputStream(); OutputStream os=clinet.getOutputStream(); //处理数据 os.close(); is.close(); clinet.close(); } catch ( Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }
相关文章推荐
- android开发中handler的总结
- android 锁屏音乐控制
- android 不能试用switch
- Android的下拉列表
- 【Android进阶学习】监听EditText的变化
- Android 之自定义控件样式在drawable文件夹下的XML实现
- Android--操作图片Exif信息
- Android Studio 运行真机出现中文乱码
- 魅族手机无法连接ADB
- Exif的使用
- Android PopupWindow的使用
- Android egl和opengl
- Android中保存数据到sd卡
- Android:OTG+MediaScanner
- Android屏幕适配,百分比布局
- Android安卓开发环境搭建详细教程
- Android进阶之视频录制播放常见问题
- Android Activity 和 ViewGroup中事件触发和传递机制
- Android Studio常用小技巧
- Android Fragment 真正的完全解析(上)