Android使用HttpURLConnection访问接口

来源:互联网 发布:做虚拟现实的软件 编辑:程序博客网 时间:2024/05/17 01:16

在Android开发中常常需要访问接口来获取数据,这个时候可以使用HttpURLConnection来连接服务器并获取返回字符串。

我以登陆为例,具体方法如下:

public static String login(String username,String password){String msg = "";  try {username = URLEncoder.encode(username,"UTF-8");//这里要注意编码,如果参数含有汉字或是空格(尤其是日期中的空格),不编码会发生错误password = URLEncoder.encode(password,"UTF-8");} catch (UnsupportedEncodingException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}        //要访问的HttpServlet        String urlStr="http://127.0.0.1:8080/MyProject/getUser?";        //要传递的数        String params ="username="+username+"&password="+password;        urlStr = urlStr+params;        try{        URL url =new URL(urlStr);        //获得连接        HttpURLConnection conn = (HttpURLConnection)url.openConnection();        conn.setConnectTimeout(6000);        InputStream in = conn.getInputStream();            BufferedReader reader = new BufferedReader(new InputStreamReader(in, HTTP.UTF_8));            String line = null;            while ((line = reader.readLine()) != null) {             if(msg==null){              msg=line;             }else{             msg += line;             }            }            reader.close();            in.close();//关闭数据流            conn.disconnect();        }catch(Exception e){            e.printStackTrace();            return null;        }        return msg;    }

这样,该函数返回回来的字符串就是接口返回的字符串,如果该字符串为json格式的,那么按照json去解析便可以了。
1 0
原创粉丝点击