安卓如何控制不会重复请求网络
来源:互联网 发布:广州淘宝家具拍摄 编辑:程序博客网 时间:2024/05/29 12:52
首先要说的是下面是一段伪代码,不能真实运用。主要就是说一下如何控制不会重复请求网络的方法。
//申明一个布尔值变量,默认未false。isReqing=false;//请求网络的方法private void reqDatas() { //请求前先判断一下,如果为true,表示正在请求直接返回。 if (isReqing==true) { return; } //如果isReqing为false则会继续下面的代码 //将isReqing设置成true,表明已经开始请求网络了 isReqing = true; //后台执行网络请求 new AsyncGsonRequest<FindCollectAndAttentionVideoRes>( Constants.FIND_MYSELF_ATTENTION_VIDEO_LIST, req, AttentionVideoActivity.this) { //请求成功执行的方法,当执行此方法时,请求已经完成了。 protected void onPostExecute(FindCollectAndAttentionVideoRes t) { //这时候将isReqing设置成false,表明请求已经完成了。 isReqing = false; /** * **/ 。。。。。。其他当网络请求成功时需要执行的代码 } //请求失败时执行的方法,当执行此方法时,请求已经完成了。 protected void onPostError(VolleyError e) { isReqing = false; /** * **/ 。。。。。。其他当网络请求失败时需要执行的代码 }}
可以看明白吗 尽量写的详细了,概括起来就是申明一个boolean变量,正在请求的时候为true,请求完后为false。而我们根据这个变量来决定是否继续请求网络。
二,做了上面的操作,重复请求的情况发生的概率大大减小了,可是实际过程中还是会时有发生,这说明上面的方法是不可取得。
最后的解决方法是让后台判断是一个用户是否对一件事情发出了多次请求。此外,前台客户端也对触发的按钮做了
view.findViewById(R.id.isAttention_btn).setEnabled(false);
setEnabled方法让按钮失效,不能被点击了。
当网络请求完成后使用
view.findViewById(R.id.isAttention_btn).setEnabled(true);
就这样,目前为止再也没有发生过重复请求网络的情况了。
0 0
- 安卓如何控制不会重复请求网络
- 如何避免网络重复请求
- 安卓网络请求
- 安卓网络请求 httpconnection
- 安卓开发网络数据请求
- 安卓基于HttpURLConnection网络请求
- 安卓网络请求框架对比
- 安卓使用OkHttpClient进行网络请求
- 安卓开发之网络请求HttpURLConnection
- 安卓常用网络请求框架总结
- Android安卓网络请求性能优化
- 安卓网络请求http协议
- 安卓使用retrofit来请求网络
- 安卓网络请求使用httpclient--post请求方式
- 安卓--请求网络链接判断网络状态--pizifusheng
- 安卓程序如何控制闪光灯开关
- 如何从电脑直接控制安卓手机 监控安卓手机 安卓手机如何控制安卓手机
- 安卓网络请求只Get和Post
- angular中的$q与promise(综合)
- connect
- stm8的硬件
- MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info c
- 第一次写那么长的代码
- 安卓如何控制不会重复请求网络
- Apache apollo初探
- Different Ways to Add Parentheses
- 为什么项目中不使用jquerymobile
- SOAP1.1和1.2 深入解析WSDL
- Yii2.0 数据库基本操作
- jQuery选择器和事件
- hd2199 Can you solve this equation?
- Android Interview Questions(20k)