Android Http库:Netroid

jopen 10年前

简介:

Netroid是一个基于Volley 实现的Android Http库。提供执行网络请求、缓存返回结果、批量图片加载、大文件断点下载的常见Http交互功能。致力于避免每个项目重复开发基础Http功能,实现显著地缩短开发周期的愿景。

实现原理:

Netroid自启动后创建由开发者指定的线程数目,每个线程由 BlockingQueue 进行阻塞。当有新的请求进入队列时,其中一个线程将被唤醒并获得请求对象, 然后开始执行,执行完成后线程重新回到阻塞状态,等待下一次唤醒。Netroid实现了强大的状态回调接口在请求执行过程中进行通知, 包括开始、完成、成功、重试、失败、取消、执行网络操作、应用缓存、下载进度九种状态回调,开发者可方便地获取请求的执行情况,对用户进行友好提醒。

注:Netroid的线程池不具备伸缩功能,创建后所有线程均处于启用状态,不支持动态调整。

文档组成:

快速实现将Netroid集成到应用中。

了解Netroid在应用中的典型代码写法。

Netroid中的各种内部组件及其使用方法的详细解释。

了解请求执行类的细节,定制请求处理方式,各种请求场景的实现方法。

了解图片加载器的功能点及其使用方法。

了解Netroid提供的文件断点下载组件的功能。

了解Netroid所有接口的细节。

也可直接点击下载演示程序查看运行效果。

示例:

String url = "http://server.domain/string.do";  StringRequest request = new StringRequest(Request.Method.GET, url, new Listener<String>() {      @Override      public void onSuccess(String response) {          Toast.makeText(Activity.this, "response : " + response, 2000).show();      }        @Override      public void onError(NetroidError error) {          Toast.makeText(Activity.this, "error occurred : " + error.getMessage(), 2000).show();      }  });    // 设置请求Header  request.addHeader("Accept-Encoding", "gzip, deflate");  RequestQueue.add(request);

项目主页:http://www.open-open.com/lib/view/home/1402825446810