首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android Volley完全解析(一),初识Volley的基本用法

}); 可以看到,这里new出了一个StringRequest对象,StringRequest的构造函数需要传入三个参数,第一个参数就是目标服务器的URL地址,第二个参数是服务器响应成功的...,第三个参数是服务器响应失败的。...其中,目标服务器地址我们填写的是百度的首页,然后在响应成功的里打印出服务器返回的内容,在响应失败的里打印出失败的详细信息。...很遗憾,StringRequest中并没有提供设置POST参数的方法,但是当发出POST请求的时候,Volley尝试调用StringRequest的父类——Request中的getParams()方法来获取...一个是用于请求一段JSON数据的,一个是用于请求一段JSON数组的。

1.8K50
您找到你想要的搜索结果了吗?
是的
没有找到

Android应用架构分析(转)

这些方法使用URLConnection和AsyncTask在一个单独的线程内执行网络请求,然后通过将结果返回给Activity。...方法() 等待CacheProvider的结果,然后将这些文章展示到ListView等列表视图上 分别处理APIProvider和CacheProvider中潜在的异常。...就像SDK通过异步的方式返回Email地址,这就意味着现在我们至少有三层嵌套的。如果继续添加复杂的业务逻辑,这种架构就会陷入众所周知的Callback Hell(地狱)。...在尝试了几个示例项目之后,我们意识到她可能最终帮助我们解决掉嵌套的问题。如果你还不熟悉响应式编程,可以阅读本文(译者注:译文点这里那些年我们错过的响应式编程)。...帮助类里面的大多数public方法都会返回RxJava的Observable。 DataManager是整个架构中的大脑。它广泛的使用了RxJava的操作符用来合并,过滤和转换帮助类中返回的数据。

57720

Android应用架构

这些方法使用URLConnection和AsyncTask在一个单独的线程内执行网络请求,然后通过将结果返回给Activity。...Activity要做到以下几个步骤: 通过APIProvider调用loadPosts方法() 等待APIProvider的结果,然后调用CacheProvider中的savePosts方法(...) 等待CacheProvider的结果,然后将这些文章展示到ListView等列表视图上 分别处理APIProvider和CacheProvider中潜在的异常。...就像SDK通过异步的方式返回Email地址,这就意味着现在我们至少有三层嵌套的。如果继续添加复杂的业务逻辑,这种架构就会陷入众所周知的Callback Hell(地狱)。...在尝试了几个示例项目之后,我们意识到她可能最终帮助我们解决掉嵌套的问题。如果你还不熟悉响应式编程,可以阅读本文(译者注:译文点这里那些年我们错过的响应式编程)。

1.2K70

继续封装个 Volley 组件前言二次封装Github地址

虽然 volley 也支持类似 fresco 这种框架对图片的缓存,加载处理,但这些工作一般项目里都选择 fresco 或 glide 来处理了,所以组件也就不提供 volley 的这些功能了。...,可设置接收一个泛型参数,内部会自动根据泛型解析 json 数据后在方法中返回实体类数据。...所以,其实,封装的组件做的事并不多,就是将 Volley 的使用流程控制起来,提供调用链的使用方式。...使用示例 compile 'com.dasu.net:volley:0.0.1' //get 方法获取 wanAndroid 网站的公众号列表,内部自动进行 json 解析 DVolley.url("http...组件有如下两个依赖库: compile 'com.android.volley:volley:1.1.1' compile 'com.google.code.gson:gson:2.7' 支持以下功能

1.1K20

2019最新Android面试题「建议收藏」

()方法返回此binder实例 ③.在客户端中,onserviceconnected()方法接收binder,并使用提供的方法调用绑定服务 5.Activity的启动方式(偶尔会问) ①.standard...true,表示消耗此事件,不再向下传递;返回false,表示不消耗事件,交回上层处理。...Thread的优先级和主线程相同 c)使用Handler处理子线程结果,而不是使用Thread.wait()或者Thread.sleep()来阻塞主线程 d)Activity的onCreate和onResume中尽量避免耗时的代码...同时还可以设置列表的滚动方向(垂直或者水平); RecyclerView中view的复用不需要开发者自己写代码,系统已经帮封装完成了。 RecyclerView可以进行局部刷新。...,然后再处理

83520

【Android开发丨主题周】盘点Android开发第三方组件与服务层

Android消息传递实现方式有很多种,有Handler、本地广播和全局广播、Intent、接口、观察者模式等,Handler可以实现线程间的通信,使用场景包括处理种类繁多的事件,子线程与主线程的切换等...BroadcastReceiver可以实现进程间通信,主要用来接收一些系统广播,也可用进行组件之间的通信,如Service和Activity之间的通信;Intent可以完成两个组件之间的通信,传递一些简单的数据;接口一般用在事件触发通知...当一个事件在应用内传递,如果使用接口实现时需要多次回,路线较远,代码烦琐,如果使用BroadcastReciever又觉得大材小用。...当然,如果能够使用一次接口调解决的问题,还是推荐使用接口。...我们知道Android端必须在子线程中发送网络请求,当结果返回后,需要在主线程中刷新UI,这里就涉及子线程到主线程的切换,几乎所有使用网络的应用都会这样处理,所以Volley把线程切换封装起来。

92820

Android Volley 源码解析(一),网络请求的执行流程

(Context) 获取一个 RequestQueue 2、传入 URL 构建 Request,并实现相应的 3、将 Request 加入到 RequestQueue 中 Volley 中比较重要的类...处理的 NetworkResponse ResponseDelivery 返回结果的分发接口 二、请求的执行流程 ---- 我们 Volley 的使用方法入手,一步一步探究底层的源码实现,我们的入手点就是...} } 可以看到当 Response.isSuccess() 为 true 的话,调用 Resquest 的 deliverResponse() 方法,对结果进行...,这个 listener 正是我们构建 StringRequest 时传入的 Listener,也就是说将返回的结果调到我们在外部调用的地方。...---- 参考 Android Volley完全解析(四),带你源码的角度理解Volley Volley框架源码解析

1.3K40

实现Android主流网络框架封装,可无缝侵入切换框架

,我们把这个接口称为“接口”;         分别用Volley和OkHttp实现“请求接口”;        创建一个类来返回上述接口的对象,我们把这个类叫做“工厂”类;         在Activity.../Fragment/Presenter中,使用“工厂”返回的这个接口对象调用get/post/put/delete方法,并在“接口”中得到请求结果。    ...上面的IRequestManager接口中用到的请求结果接口——IRequestCallback ?    ...● 2.数据返回会有什么情况?...2) 使用OkHttp更换Volley         现在我们用OkHttp的请求方式也实现了一套get/post/put/delete的请求方法,此时只要修改Step3中,返回的对象为OkHttpRequestManager

1.2K20

2019最新Android面试题

()方法返回此binder实例 ③.在客户端中,onserviceconnected()方法接收binder,并使用提供的方法调用绑定服务 5.Activity的启动方式(偶尔会问) ①.standard...true,表示消耗此事件,不再向下传递;返回false,表示不消耗事件,交回上层处理。...Thread的优先级和主线程相同 c)使用Handler处理子线程结果,而不是使用Thread.wait()或者Thread.sleep()来阻塞主线程 d)Activity的onCreate和onResume中尽量避免耗时的代码...同时还可以设置列表的滚动方向(垂直或者水平); RecyclerView中view的复用不需要开发者自己写代码,系统已经帮封装完成了。 RecyclerView可以进行局部刷新。...,然后再处理

96620

Android框架Volley使用之Json请求实现

Json请求,进行Json请求一共需要三步,分别是: 1.创建一个请求队列 2.创建一个请求 3.将创建的请求添加到请求队列当中 在创建请求的时候,必须同时写两个监听器,一个是实现请求,正确接受数据的...,另一个是发生异常之后的。...的官网上找的,大家可以自行百度一下,这里就直接采用了网址: 网址: http://gank.io/api/xiandu/category/wow 当中的json数据进行json请求了,只要我们在文本显示区返回的数据和这个网站上面的数据显示相同...wow"; StringRequest stringRequest=new StringRequest(url, new Response.Listener<String () { //正确接受数据之后的...() {//发生异常之后的监听 @Override public void onErrorResponse(VolleyError error) { tv_volley_result.setText

1.4K50

Android框架Volley使用之Post请求实现方法

POST请求,进行POST请求一共需要三步,分别是: 1.创建一个请求队列 2.创建一个请求 3.将创建的请求添加到请求队列当中 在创建请求的时候,必须同时写两个监听器,一个是实现请求,正确接受数据的...,另一个是发生异常之后的。...大家可以自行百度一下,这里就直接采用了网址: http://api.m.mtime.cn/PageSubArea/TrailerList.api 当中的json数据进行POST请求了,只要我们在文本显示区返回的数据和这个网站上面的数据显示相同...wow"; StringRequest stringRequest=new StringRequest(url, new Response.Listener<String () { //正确接受数据之后的...() {//发生异常之后的监听 @Override public void onErrorResponse(VolleyError error) { tv_volley_result.setText

1.6K20

Android Volley完全解析(三),定制自己的Request

那么该哪里开始入手呢?额,好像是有些无从下手。遇到这种情况,我们应该去参考一下Volley的源码,看一看StringRequest是怎么实现的,然后就可以模仿着写出XMLRequest了。...StringRequest是继承自Request类的,Request可以指定一个泛型类,这里指定的当然就是String了,接下来StringRequest中提供了两个有参的构造函数,参数包括请求类型,请求地址,以及响应等...在deliverResponse方法中仍然是将最终的数据进行。...error.getMessage(), error); } }); mQueue.add(gsonRequest); 可以看到,这里onResponse()方法的中直接返回了一个...好了,本篇文章就到此结束,下篇文章中我们将对Volley进行更深层次的研究,感兴趣的朋友请继续阅读Android Volley完全解析(四),带你源码的角度理解Volley

1.4K60
领券