Android使用HttpURLConnection访问接口
16lz
2021-01-25
在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去解析便可以了。
更多相关文章
- 分支和循环(二)(零基础学习C语言)
- APIDEMO OS Vibrator 手机震动使用
- 【开源框架】一个基于回调机制的多线程异步Http连接框架
- android的aidl进程间通讯(一)
- Android常用工具库
- Android开发全程记录(十五)——android调用webservice的方法
- Android(安卓)Fragment和Activity之间通过接口互传数据通信
- android应用框架搭建------工具类(StringUtils)
- 【Android】小白进阶之接口和抽象类的使用