android网络编程 一(HttpURLConnection)

来源:互联网 发布:历年gdp三大产业数据 编辑:程序博客网 时间:2024/05/17 02:37

网络编程首先把清单文件中配上再说:

<uses-permission android:name="android.permission.INTERNET"/>

我先列出服务器端的部分代码:

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        // TODO Auto-generated method stub        request.setCharacterEncoding("utf-8");        response.setCharacterEncoding("utf-8");        System.out.println("进入get方法");        String name = request.getParameter("name");        String age = request.getParameter("age");        System.out.println("name=" + name + ",age=" + age);        PrintWriter writer = response.getWriter();        writer.write("Get : name,age send 成功");    }    /**     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)     */    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        // TODO Auto-generated method stub        request.setCharacterEncoding("utf-8");        response.setCharacterEncoding("utf-8");        System.out.println("进入post方法");        String name = request.getParameter("name");        String age = request.getParameter("age");        System.out.println("name=" + name + ",age=" + age);        PrintWriter writer = response.getWriter();        writer.write("Post : name,age send 成功");    }

这里讲的Http通信是用HttpURLConnection连接服务器
android端代码(get,post两种请求方式):

new Thread(new Runnable() {                @Override                public void run() {                    // TODO Auto-generated method stub//                  String path = "http://192.168.0.167:8080/TestAndroid/testServlet";                    String path = "http://192.168.1.100:8080/TestAndroid/testServlet?name=zhangsan&age=23";                    try {                        URL url = new URL(path);                        HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();                        //设置参数                        //post情况下需要设置DoOutput为true,默认为false                        urlConn.setDoInput(true);//默认为true                        urlConn.setDoOutput(true);                        urlConn.setRequestMethod("GET");//                      urlConn.setRequestMethod("POST");//                      urlConn.setUseCaches(false);                        //设置content-type//                      urlConn.setRequestProperty("Content-type", "application/x-www-form-urlencoded");                        urlConn.setConnectTimeout(3000);                        urlConn.setReadTimeout(3000);                        /*//获得输出流,便于向服务器发送信息                        DataOutputStream dos = new DataOutputStream(urlConn.getOutputStream());                        //往流里面写请求参数                        //post请求                        dos.writeBytes("name=" + URLEncoder.encode("zhangsan", "utf-8"));                        dos.writeBytes("&age=" + URLEncoder.encode("23", "utf-8"));                        dos.flush();                        dos.close();                        */                        //获得输入流,取数据                        BufferedReader reader = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));                        String buffer = null;                        StringBuffer sb = new StringBuffer();                        while ((buffer = reader.readLine()) != null) {                            sb.append(buffer);                        }                        reader.close();                        urlConn.disconnect();                        Log.e("服务器数据", sb.toString());                    } catch (MalformedURLException e) {                        // TODO Auto-generated catch block                        e.printStackTrace();                    } catch (IOException e) {                        // TODO Auto-generated catch block                        e.printStackTrace();                    }                }            }).start();
0 0
原创粉丝点击