Android网络编程之与服务器交互的POST和Get方法

Android上实现这两种请求,主要还是使用apache的http库

GET请求实现如下:

 代码如下 复制代码
////////////get 请求//////////////////
   public void getRequestWeb(View v)
   {
       HttpGet httpGet = new HttpGet("http://www.pan-apps.com");
       HttpClient client = new DefaultHttpClient();
       InputStream inputStream = null;
       try {
       httpResponse = client.execute(httpGet);
       httpEntity = httpResponse.getEntity();
       inputStream = httpEntity.getContent();
       BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
 
           String line = "";
           String result = "";
           while((line = bufferedReader.readLine())!= null){
               result = result + line;
               System.out.println(line);
           }
 
           System.out.println(result);
 
       } catch (Exception e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
       }
       finally{
           try {
               inputStream.close();
           } catch (IOException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
           }
       }
 
   }

POST请求实现如下:

 代码如下 复制代码

/////////// post 请求//////////
    public void postRequest(View v) throws ClientProtocolException, IOException
    {
        //post请求
        HttpPost httpPost = new HttpPost("http://218.0.4.4:8080/esoa/login.do");
 
        //构造post请求内容
        NameValuePair nameValuePair1 = new BasicNameValuePair("username","linpan");
        NameValuePair nameValuePair2 = new BasicNameValuePair("password", "123456");
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
        nameValuePairs.add(nameValuePair1);
        nameValuePairs.add(nameValuePair2);
        HttpEntity httpEntity = new UrlEncodedFormEntity(nameValuePairs);
 
        httpPost.setEntity(httpEntity);
 
        //执行post请求
        HttpClient httpClient = new DefaultHttpClient();
        httpResponse = httpClient.execute(httpPost);
 
        //读取返回数据
        httpEntity = httpResponse.getEntity();
        InputStream inputStream  = null;
        inputStream = httpEntity.getContent();
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
        String line = "";
        String result = "";
        while((line = bufferedReader.readLine()) != null)
        {
            result = result + line;
            System.out.println(line);
        }
 
        inputStream.close();
 
    }
时间: 2024-09-16 07:02:30

Android网络编程之与服务器交互的POST和Get方法的相关文章

【Android】Android网络编程概述

Android网络编程概述 原文来自:http://blog.csdn.net/kieven2008/article/details/8210737 首先,应该了解的几个问题: 1)Android平台网络相关API接口  a) java.net.*(标准Java接口)  java.net.*提供与联网有关的类,包括流.数据包套接字(socket).Internet协议.常见Http处理等.比如:创建URL,以及URLConnection/HttpURLConnection对象.设置链接参数.链接

android 网络编程之网络通信几种方式实例分享

如今,手机应用渗透到各行各业,数量难以计数,其中大多数应用都会使用到网络,与服务器的交互势不可挡,那么android当中访问网络有哪些方式呢? 现在总结了六种方式: (1)针对TCP/IP的Socket.ServerSocket (2)针对UDP的DatagramSocket.DatagramPackage.这里需要注意的是,考虑到Android设备通常是手持终端,IP都是随着上网进行分配的.不是固定的.因此开发也是有一点与普通互联网应用有所差异的. (3)针对直接URL的HttpURLConn

android网络编程:URL获取数据和图片

首先,开始最简单的网络编程实战,URL实现网络连接,不懂的童鞋可以参考JAVA中的URL编程,其原理是 一样的,在这里不再多做解释. 直接贴出实现源代码: public class DataActivity extends Activity { private EditText imagePathText; private static final String TAG="DataActivity"; private ImageView imageView; @Override pub

UNIX网络编程:并发服务器(TCP)

在迭代服务器中,服务器只能处理一个客户端的请求,如何同时服务多个客户端呢?在未讲到select/poll/epoll等高级IO之前,比较老土的办法是使用fork来实现. 网络服务器通常用fork来同时服务多个客户端,父进程专门负责监听端口,每次accept一个新的客户端连接就fork出一个子进程专门服务这个客户端.但是子进程退出时会产生僵尸进程,父进程要注意处理SIGCHLD信号和调用wait清理僵尸进程,最简单的办法就是直接忽略SIGCHLD信号. 当一个连接建立时,accept返回,服务器接

Android网络编程之获取网络上的Json数据实例_Android

为要获取网络上的Json所以需要服务器端提供的支持. 一.创建服务器端: 服务器端项目结构: 服务器端运行效果图: 第一步:创建业务所需的JavaBean 复制代码 代码如下:  package com.jph.sj.model;   import java.util.Date;   /**  * 新闻实体类  * @author jph  * Date:2014.09.26  */ public class News {     private Integer id;     private

Android 网络编程教程,基于socket和http协议实例

基于socket的用法 服务器端: 先启动一个服务器端的socket     ServerSocket svr = new ServerSocket(8989); 开始侦听请求 Socket s = svr.accept(); 取得输入和输出 DataInputStream dis = new DataInputStream(s.getInputStream()); DataOutputStream dos = new DataOutputStream(s.getOutputStream());

Android网络编程之获取网络上的Json数据实例

为要获取网络上的Json所以需要服务器端提供的支持. 一.创建服务器端: 服务器端项目结构: 服务器端运行效果图: 第一步:创建业务所需的JavaBean 复制代码 代码如下:  package com.jph.sj.model;   import java.util.Date;   /**  * 新闻实体类  * @author jph  * Date:2014.09.26  */ public class News {     private Integer id;     private

UNIX网络编程:如何处理服务器中大量的TIME_WAIT

出现条件: 服务器主动关闭 短连接服务加剧 根据TCP协议定义的3次握手断开连接规定,发起socket主动关闭的一方 socket将进入TIME_WAIT状态,TIME_WAIT状态将持续2个MSL(Max Segment Lifetime),TIME_WAIT状态下的socket不能被回收使用. 具体现象是对于一个处理大量短连接的服务器,如果是由服务器主动关闭客户端的连接,将导致服务器端存在大量的处于TIME_WAIT状态的socket, 甚至比处于Established状态下的socket多

Android开发中网络编程与常见功能优化总结

一般的应用都是从服务器获取数据,然后通过极致的界面风格,将数据清晰,明朗的展现给用户. 那么就可以分为这两块: 1.界面UI   追求极致 2.功能 2.1获取数据:主要是与服务器通信,那么就要涉及到网络编程 : 2.1.1  URlConnection  2.1.2  HttpURLConnection(post get) 2.1.3  Socket 2.1.4  HttpClient(post get) 2.1.5  WebService(自己拼装请求xml 数据,采用开源jar包 ksoa