Android使用HttpURLConnection访问接口

在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 block
				e1.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
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值