AndroidAsync

AndroidAsync是一个底层网络协议库。如果你正在寻求一个便于使用,高级的,适配Android的,http请求的库,可以查看Ion。

特性

基于NIO。一个县城,通过回调驱动。高效率。?

所有的操作返回一个可以取消的Future。

Socket客户端+套接字服务

HTTP客户端+服务

WebSocket客户端+服务

Socket.IO 客户端

Download

Maven:

com.koushikdutta.async

androidasync

(insert latest version)

Gradle:

dependencies {

compile 'com.koushikdutta.async:androidasync:2.+'

}

将url下载为一个字符串

// url is the URL to download.

AsyncHttpClient.getDefaultInstance().getString(url, new AsyncHttpClient.StringCallback() {

// Callback is invoked with any exceptions/errors, and the result, if available.

@Override

public void onCompleted(Exception e, AsyncHttpResponse response, String result) {

if (e != null) {

e.printStackTrace();

return;

}

System.out.println("I got a string: " + result);

}

});

从url下载JSON

// url is the URL to download.

AsyncHttpClient.getDefaultInstance().getJSONObject(url, new AsyncHttpClient.JSONObjectCallback() {

// Callback is invoked with any exceptions/errors, and the result, if available.

@Override

public void onCompleted(Exception e, AsyncHttpResponse response, JSONObject result) {

if (e != null) {

e.printStackTrace();

return;

}

System.out.println("I got a JSONObject: " + result);

}

});

JSON Arrays

// url is the URL to download.

AsyncHttpClient.getDefaultInstance().getJSONArray(url, new AsyncHttpClient.JSONArrayCallback() {

// Callback is invoked with any exceptions/errors, and the result, if available.

@Override

public void onCompleted(Exception e, AsyncHttpResponse response, JSONArray result) {

if (e != null) {

e.printStackTrace();

return;

}

System.out.println("I got a JSONArray: " + result);

}

});

将url下载为文件

AsyncHttpClient.getDefaultInstance().getFile(url, filename, new AsyncHttpClient.FileCallback() {

@Override

public void onCompleted(Exception e, AsyncHttpResponse response, File result) {

if (e != null) {

e.printStackTrace();

return;

}

System.out.println("my file is available at: " + result.getAbsolutePath());

}

});

android async socket.io,底层网络协议库 – AndroidAsync相关推荐

  1. 第二人生的源码分析(二十六)底层网络协议

    为了理解第二人生的客户端与服务器的沟通,那么下面就来分析一下第二人生采用的网络协议.在目前的网络里,主要有两个协议:TCP和UDP,而第二人生里是采用UDP协议.TCP协议与UDP协议的主要区别,就是 ...

  2. android tcp socket框架_socket网络编程知识梳理,让你学会造轮子的能力

    在前面几篇中,我给大家介绍了socket的相关知识,也给出了详细的代码,从socket的基本介绍,到IO多路复用,以及粘包拆包,最后到心跳包问题.总的来说大概都把socket网络编程中能碰见的问题都讲 ...

  3. Android开发关于网络的书记,Android开发需要了解的网络协议

    这篇文章上次修改于 835 天前,可能其部分内容已经发生变化,如有疑问可询问作者. 我们先讲个小故事理解一下. 盛唐年间,天下安定,由于疆域太大传递信件不易,就有民间的能人异士向皇帝谏言,每个州县都建 ...

  4. android udp 收发例子_网络协议之TCP和UDP

    首先强调一点,TCP/IP协议是一个协议簇.里面包括很多协议的,UDP只是其中的一个, 之所以命名为TCP/IP协议,因为TCP.IP协议是两个很重要的协议,就用他两命名了. 两个协议的区别实际使用时 ...

  5. socket 是用什么网络协议

    Q: socket使用什么网络协议? A:TCP/IP,协议.socket用于 通信,在实际应用中有im等,因此需要可靠的网络协议,UDP则是不可靠的协议,且服务端与客户端不链接,UDP用于广播,视频 ...

  6. Socket.io 深入理解

    最近在做项目优化工作时,用到了Socket.io , Socket.io 文档比较少, 结合官网介绍以及自己在项目开发中的摸索,总结如下内容: Socket.io将Websocket和轮询 (Poll ...

  7. websocket和socket.io

    websocket 三次握手 ws协议和http协议的区别 http HTTP是单向的,客户端发送请求,服务器发送响应.每个请求都与一个对应的响应相关联,在发送响应后客户端与服务器的连接会被关闭.每个 ...

  8. socket.io的基本使用

    服务端: 1.监听客户端连接: io.on("connection",socket=>{ }); 不分组数据传输:传输对象为当前socket 2.1给该socket所有客户端 ...

  9. socket.io简介

    websocket是一种比较简单的协议,各种语言中都有很多实现版本,实际上它们差别不大,都是在websocket的基础上做些封装,随便选一个即可. socket.io就是众多websocket库中的一 ...

  10. socket.io 中文文档

    Socket.io是一个WebSocket库,包括了客户端的js和服务器端的nodejs,它的目标是构建可以在不同浏览器和移动设备上使用的实时应用.它会自动根据浏览器从WebSocket.AJAX长轮 ...

最新文章

  1. ubuntu开机启动管理
  2. python添加、修改、删除、访问类对象属性的2种方法
  3. 假期宣言2018-01-10
  4. 网站页首可关闭广告条
  5. [转]想要成为一名优秀的Java程序员,这份文档必读
  6. SQL(二)- 基础查询语句
  7. LeetCode-----反转链表
  8. javascript的list循环
  9. 一个页面多个ajax统一loading,页面有多个向后台发送的请求加载过程中显示loading,加载完成loading消失...
  10. Silverlight 4 的打印支持
  11. 当启动文档转换负载平衡器服务时出现如下问题The system cannot find the file specified的解决方案...
  12. 快乐课堂--寓教于乐、老师必备的课堂教学软件
  13. 【RBF预测】基于RBF神经网络预测模型matlab源码
  14. LSI阵列卡的使用教程
  15. mybatis批量删除 java_Mybatis批量删除数据操作方法
  16. 易岸公考:国考公务员高频常识
  17. 图像修复 python_用python进行图像修复与去除水印
  18. java uuid去掉横线_UUID去横杠-的正确方式
  19. python魔法方法长文详解
  20. MySQL数据库的卸载与安装

热门文章

  1. 分享一个导出数据到 Excel 的类库
  2. 设置仿真器H-JTAG ARM仿真器和MDK 联调设置
  3. 系统设计与任务分配(团队作业)
  4. 【并行计算-CUDA开发】CUDA编程——GPU架构,由sp,sm,thread,block,grid,warp说起...
  5. ASP.NET - 一般处理程序获取session值
  6. pandas学习、热力图、子图
  7. 【模型压缩系列】一:模型替换
  8. BERT出来后难道我们无路可走了吗?错!这些新想法你需要了解!
  9. PyTorch(总)---PyTorch遇到令人迷人的BUG与记录
  10. NLP学习—23.基于Transformer的机器翻译实战