使用 android-async-http 1.4.4
使用的代码:
myClient.get(Config.url_adlist, rp, new TextHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, String responseBody) { lastUpdate = System.currentTimeMillis(); adInfo = new Gson().fromJson(responseBody, AdInfo.class); flushAdList(); } @Override public void onFailure(int statusCode, Header[] headers, String responseBody, Throwable error) { } @Override public void onFinish() { super.onFinish(); if (mPullToRefreshLayout != null && mPullToRefreshLayout.isRefreshing()) { mPullToRefreshLayout.setRefreshComplete(); } } });
出现问题:
在使用中,经常出现方法不进入回调,即使是失败也不进入,但是有时候也能执行,非常奇怪。
解决办法:
https://github.com/loopj/android-async-http/issues/465
升级最新的版本就解决了,使用正在开发的版本
Maven URL: https://oss.sonatype.org/content/repositories/snapshots/ GroupId: com.loopj.android ArtifactId: android-async-http Version: 1.4.5-SNAPSHOT Packaging: JAR or AAR
然后问题解决了,这个问题用了困扰挺长时间的。终于解决了。
相关推荐
android-async-http是专门针对Android在Apache的HttpClient基础上构建的异步http连接。所有的请求全在UI(主)线程之外执行,而callback使用了Android的Handler发送消息机制在创建它的线程中执行。
《深入剖析Android异步HTTP库:android-async-http-master》 在移动开发领域,网络通信是应用程序不可或缺的一部分。Android平台上的网络操作通常涉及到线程管理、数据解析等多个复杂环节,而`android-async-http`...
`android-async-http`库是一款流行的异步网络请求库,它简化了Android中执行HTTP请求的过程,使得开发者能更专注于业务逻辑而不是网络层的实现。本篇文章将详细讲解`android-async-http`库的使用方法。 ### 1. 引入...
总之,`android-async-http`框架结合`AsyncTask`为Android开发者提供了一个强大的工具,使他们能够在后台安全、高效地执行网络请求,同时保持UI的流畅性。通过学习和熟练运用这个库,开发者可以更好地构建功能完善的...
【OkHttpManager:像android-async-http一样使用OkHttpClient】 OkHttpManager是一个针对Android平台的网络请求库,设计目标是让开发者能以类似android-async-http的方式使用OkHttp。OkHttp是一个高效的HTTP客户端,...
1. **注解(Annotation)**:MagicThread框架提供了一系列预定义的注解,如`@Async`(后台线程执行)、`@UiThread`(主线程执行)等。开发者可以在方法上添加这些注解,框架会根据注解自动调度任务。 2. **线程池...
Android Async HTTP库是一款轻量级的网络请求库,专为Android平台设计,它简化了HTTP请求的处理,提供了异步操作的方式,使得开发者能够在后台线程执行网络操作,避免阻塞UI主线程,提高应用的响应速度和用户体验。...
Android AsyncHttpClient默认在子线程中执行网络请求,而在UI线程中处理回调,确保了UI的流畅性。但如果你需要自定义线程策略,可以通过`execute()`方法的参数来指定。 5. **进度监听** 对于大文件的上传或下载,...
回调(Callback)是编程中一个重要的概念,尤其是在异步编程中。回调函数是一种将功能作为参数传递给另一个函数,以便在特定事件发生或任务完成后执行的编程技术。回调的使用可以解决程序执行顺序的问题,特别是在...
【async-map-android】是一个专为Android平台设计的项目,它实现了基于SQLite API的异步地图功能。这个项目的核心目标是解决在Android应用中处理地图数据时可能出现的性能问题,特别是当数据量大或者数据更新频繁时...
2. **Callback处理**:AsyncHttp的请求是异步的,所以需要提供一个实现了其回调接口的类。在这个回调类中,我们可以处理`onSuccess()`和`onFailure()`方法,分别处理成功和失败的情况。 3. **更新View**:当网络...
2. **Execution**:Boots提供了两种执行模式,同步执行(sync)和异步执行(async)。同步执行会在主线程进行,适用于快速且不耗时的任务;异步执行则在工作线程运行,适合处理可能耗时的初始化操作。 3. **...
`async`参数表示是否在后台线程执行,以避免阻塞主线程。 3. **更新Adapter**:计算完成后,DiffUtil会返回一个DiffResult对象。你可以调用它的`dispatchUpdatesTo(RecyclerView.Adapter adapter)`方法将更新应用到...
public Handler(Callback callback, boolean async) { ... mLooper = Looper.myLooper(); if (mLooper == null) { throw new RuntimeException( "Can't create handler inside thread that has not called ...
}3、异步篇@Async public void asyn() { Log.e(TAG, "useAync: " Thread.currentThread().getName()); }4、try-catch安全机制篇//自动帮你try-catch 允许你定义回调方法 @Safe(callBack = ...
在Android应用开发中,"AndroiddouBanList(滚动到底部加载新的,软缓存,懒加载).zip"是一个示例项目,它演示了如何实现一个具备无限滚动功能的列表,同时结合了软缓存策略和懒加载技术。这个项目可以帮助开发者...
相信每位Android开发者们都知道更新UI只能在主线程中进行,若是在子线程执行任务后需要更新UI,则需要借助handler跳转到主线程中。以下介绍几种操作UI的方法。 一、使用Handler的handleMessage() Handler的构造 ...
回调(Callback)是计算机编程中一个重要的概念,尤其是在异步编程和事件驱动编程中发挥着核心作用。在本文中,我们将深入探讨回调的基本原理、使用场景以及如何在实际项目中应用回调。 回调函数是一种将函数作为...
在Android开发中,异步网络请求是至关重要的,它允许应用程序在不阻塞用户界面的情况下获取远程数据。这里我们关注的是“android异步请求网络代码”,这意味着我们将探讨如何在Android中实现非阻塞的HTTP请求,以及...
在Android开发中,OkHttp是一个广泛使用的网络请求库,它提供了高效的网络通信性能和丰富的功能。本篇文章将详细解析如何使用OkHttp进行网络请求,并涵盖了六种不同的请求方式。 1. **同步请求(Sync Call)** ...