Android中使用Volley开源库进行Http网络请求(GET方式)

在之前的Http网络请求中,我们一般使用输入流以及缓冲区的方式进行访问,然后从服务器获取返回的数据。代码行数近20行,而且网络操作是放在Thread线程中进行的,对于Java或者Android的线程还不是很了解的同学来说,理解可能会有一定的难度。

        本篇文章将会讨论使用开源库Volley进行网络的GET请求。实现结果同之前程序,只是代码将会大大简化。Volley是Google官方发布的Android平台上的网络通信库。以前的网络请求,要考虑开启线程、内存泄露、性能等复杂的问题。但是Volley框架已经帮我们把这些问题处理好了,对外提供了相应的完善的请求API,我们只需要按照请求使用即可。能使网络通信更快,更简单,更健壮。

        这个例子中向聚合数据的手机归属地API发起GET请求,返回JSON数据。调用接口可以参考聚合数据官网。

        废话不说,直接上代码,最后的结果显示在TextView上:

[java]  view plain  copy
 print ?
  1. public class MainActivity extends Activity {  
  2.   
  3.     private TextView text;  
  4.   
  5.     @Override  
  6.     protected void onCreate(Bundle savedInstanceState) {  
  7.         super.onCreate(savedInstanceState);  
  8.         setContentView(R.layout.activity_main);  
  9.         text = (TextView) findViewById(R.id.id_text);  
  10.   
  11.         getVolley();  
  12.     }  
  13.   
  14.     public void getVolley() {  
  15.         String url = "http://apis.juhe.cn/mobile/get?phone=13429667914&key=9719c91bd4ac2647c67c6cd067b5cb8e";//调用接口;  
  16.         /** 
  17.          * 开始进行网络请求,设置相应的请求参数; 
  18.          */  
  19.         StringRequest request = new StringRequest(Method.GET, url, new Listener<String>() {  
  20.             @Override  
  21.             public void onResponse(String result) {//请求成功时回调onResponse();  
  22.                 text.append(result);  
  23.             }  
  24.         }, new Response.ErrorListener() {  
  25.             @Override  
  26.             public void onErrorResponse(VolleyError volleyError) {//请求成功时回调onErrorResponse();  
  27.                 text.append("不能成功从服务器获取消息");  
  28.             }  
  29.         });  
  30.         Volley.newRequestQueue(getApplicationContext()).add(request);//把请求放入到请求队列中;  
  31.     }  
  32. }  
  33.    运行成功后,效果如下:  
  34. <img src="https://img-blog.csdn.net/20150714232653456?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />。  
  35.      至此,已经实现使用Volley向服务器请求数据。注意,所有涉及网络的操作必须要在AndroidMenifest.xml中加入Internet权限:<pre name="code" class="html"> <uses-permission android:name="android.permission.INTERNET"></uses-permission>。  

 
附Volley库下载链接: 
http://pan.baidu.com/s/1sjoQgHZ 



github主页:https://github.com/chenyufeng1991  。欢迎大家访问!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值