Android主流网络请求框架

Android主流网络请求框架,第1张

概述Android主流网络请求框架1、Volley框架特点:适用于频繁请求而每次请求数据量不会很大;在请求的基础上做了磁盘缓存;防止多次相同请求浪费资源;提供String、Json、图片异步下载;网络请求的优先级处理;图片请求无需担心生命周期问题。使用:首先,通过Volley的静态方法new一个请求 AndroID主流网络请求框架1、Volley框架

特点:

适用于频繁请求而每次请求数据量不会很大;在请求的基础上做了磁盘缓存;防止多次相同请求浪费资源;提供String、Json、图片异步下载;网络请求的优先级处理;图片请求无需担心生命周期问题。

使用:

首先,通过Volley的静态方法new一个请求队列

1 RequestQueue mQueue = Volley.newRequestQueue(context); 

假如我们创建一个StringRequest实例(Volley提供,StringRequest、ImageRequest、JsonRequest。)

StringRequest stringRequest = new StringRequest("http://www.baIDu.com",                          new Response.Listener<String>() {                              @OverrIDe                              public voID onResponse(String response) {                                  Log.d("TAG", response);                              }                          }, new Response.ErrorListener() {                              @OverrIDe                              public voID one rrorResponse(VolleyError error) {                                  Log.e("TAG", error.getMessage(), error);                              }                          });  

将XXXRequest对象添加进队列中

mQueue.add(stringRequest); 

调用RequestQueue的start方法就可以开始一条网络请求了

mQueue.start();

当然我们可以设置请求的方式:

StringRequest stringRequest = new StringRequest(Method.POST, url,  Listener, errorListener); 

设置提交的参数:

StringRequest stringRequest = new StringRequest(Method.POST, url,  Listener, errorListener) {      @OverrIDe      protected Map<String, String> getParams() throws AuthFailureError {          Map<String, String> map = new HashMap<String, String>();          map.put("params1", "value1");          map.put("params2", "value2");          return map;      }  }; 

https://www.cnblogs.com/caichongyang/articles/4399790.HTML

2、Okhttp框架

简而言之,Okhttp充当一个高效的http客户端,它能像浏览器一样方便的发送http请求、处理http响应。并且,Okhttp具有一系列设计优良的API,具有简单易用的特点。

对于网络加载库,最常见的肯定就是http get请求了,比如获取一个网页的内容。

//创建okhttpClIEnt对象OkhttpClIEnt mOkhttpClIEnt = new OkhttpClIEnt();//创建一个Requestfinal Request request = new Request.Builder()                .url("https://github.com/hongyangAndroID")                .build();//new callCall call = mOkhttpClIEnt.newCall(request); //请求加入调度call.enqueue(new Callback()        {            @OverrIDe            public voID onFailure(Request request, IOException e)            {            }            @OverrIDe            public voID onResponse(final Response response) throws IOException            {                    //String HTMLStr =  response.body().string();            }        });             
以上就是发送一个get请求的步骤,首先构造一个Request对象,参数最起码有个url,当然你可以通过Request.Builder设置更多的参数比如:headermethod等。然后通过request的对象去构造得到一个Call对象,类似于将你的请求封装成了任务,既然是任务,就会有execute()cancel()等方法。最后,我们希望以异步的方式去执行请求,所以我们调用的是call.enqueue,将call加入调度队列,然后等待任务执行完成,我们在Callback中即可得到结果。

https://wuyinlei.blog.csdn.net/article/details/50579564?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaIDu-3.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaIDu-3.control

总结

以上是内存溢出为你收集整理的Android主流网络请求框架全部内容,希望文章能够帮你解决Android主流网络请求框架所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1055327.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存