Android对网络编程提供3中接口,即:Java接口,Apache接口,Android接口。
-- Android三种网络通讯方式/网络通讯机制:
1.标准Java接口
java.net.*提供与联网有关的类,包括流、数据包套接字(socket)、Internet协议、常见Http处理等。
2、Apache接口 Apache HttpClient
3、android.net网络接口
常常使用此包下的类进行Android特有的网络编程,如:访问WiFi,访问Android联网信息,邮件等功能。
-- Android网络编程分为两种:基于http协议的,和基于socket的。
基于Http协议:HttpClient、HttpURLConnection、AsyncHttpClient框架等
基于Socket:
(1)针对TCP/IP的Socket、ServerSocket
(2)针对UDP/IP的DatagramSocket、DatagramPackage
(3)Apache Mina框架
> 网络应用编程 Android
今日头条面试,TCP拥塞控制和流量控制- https://blog.csdn.net/Go_hack/article/details/79850183
-- Android与服务器的数据交互方式吧:
1、Socket(TCP/UDP)
2、NIO,还有衍生的NIO框架例如Netty
3、WebService(特指Soap协议下用XML传输数据)
4、JSON(特质http协议下用基于Rest风格的传输方式)
-- Socket编程与HTTP编程 TCP协议与UDP协议的区别与适用场景
针对HTTP进行网络通信的方法主要有两种,一种是使用HttpURLConnection实现;另一种是使用HttpClient实现。
Socket封装,长连接socketclient库- https://github.com/vilyever/AndroidSocketClient
有效判断Socket连接断开和安卓TCP测试APP(客户+服务端一体)-http://www.laitech.cn/2016/07/14/34/
Socket连接断开和安卓TCP测试APP(客户+服务端一体)- https://pan.baidu.com/s/1bqlB31l
WebSocket安卓客户端实现- https://blog.csdn.net/zly921112/article/details/72973054/
WebSocket安卓客户端实现- https://github.com/TakahikoKawasaki/nv-websocket-client
同wifi环境下android设备自动获取socket服务端的ip地址和端口号的方法-UDP广播(MulticastSocket)- https://blog.csdn.net/suyiyang888/article/details/21446655
-- Android Socket实现多个客户端连接同一个服务端
android Socket长连接及多客户端管理- https://blog.csdn.net/suyiyang888/article/details/22667867
android Socket长连接及多客户端管理- http://download.csdn.net/detail/suyiyang888/7061259
> 多线程编程
-- 为主线程减轻负的多线程方案有哪些呢?这些方案分别适合在什么场景下使用?
1.AsyncTask: 为 UI 线程与工作线程之间进行快速的切换提供一种简单便捷的机制。适用于当下立即需要启动,但是异步执行的生命周期短暂的使用场景。
2.HandlerThread: 为某些回调方法或者等待某些任务的执行设置一个专属的线程,并提供线程任务的调度机制。
3.ThreadPool: 把任务分解成不同的单元,分发到各个不同的线程上,进行同时并发处理。
4.IntentService: 适合于执行由 UI 触发的后台 Service 任务,并可以把后台任务执行的情况通过一定的机制反馈给 UI
怎样在 Android 面试中聊聊多线程- https://blog.csdn.net/H176Nhx7/article/details/79988346
【Bugly干货】Android性能优化典范之多线程篇- https://www.cnblogs.com/bugly/p/5519510.html