内容介绍:Android网络编程基础
博客地址:http://blog.csdn.net/kevindgk
版权声明:本文为原创文章,未经允许不得转载
联系方式:815852777@qq.com
前言
最近项目上用到了网络通信相关的很多技术,越做越发现自己之前接触的实在是太少了,要学的太多,所以尽量每周末总结一篇Android网络通信相关的博客,先从网络编程基础开始,包含基于TCP/IP或者UDP的Socket基础、HTTP编程,然后是一些网络模块编程,比如地图、Wifi、蓝牙、NFC等等,本类文章注重于技术的使用和实用,对底层代码不涉及太深入。在整个过程中,我会不断优化自己的编程框架和尝试更多的新技术,慢慢的让自己对框架理解的更加透彻,顺便完成自己的一个大的项目。对网络通信感兴趣的朋友,可以随时加我qq,一起学习~
推荐书籍
- 《疯狂Java讲义》 第17章 网络编程
- 《疯狂Android讲义》 第13章 Android网络应用
- 《Android网络编程:技术详解与最佳实践》
- 《深入理解Android:WiFi模块 NFC和GPS卷》
- 百度百科:有问题百度一下~
基础知识
如果仅仅针对Android开发,不需要了解太多的计算机网络相关的知识,但是知道一些基本的东西,对我们深入学习Android网络编程有很大的帮助~小编表示,大学学的计算机网络已经还给了老师,强烈要求退学费( ̄▽ ̄)”
1.计算机网络概述
计算机网络就是用物理链路将各个孤立的工作站或主机连接在一起, 组成数据链路,从而达到资源共享和通信的目的。凡将地理位置不同且具有独立功能的多个计算机系统通过通信设备和线路连接起来, 并以功能完善的网络软件( 网络协议、 信息交换方式及网络操作系统等) 实现网络资源共享的系统, 均可称为计算机网络。 简单地说, 计算机网络即连接两台或多台计算机进行通信的系统。
2.OSI参考模型和TCP/IP模型
国际标准化组织( ISO) 在 1978 年提出了“开放系统互连参考模型”, 即著名的 OSI/RM 模型( Open System Interconnection/Reference Model)。 OSI 是标准化组织为了实现设备互联而提出的一个纯理论的框架性的概念。也可就是说:它只能告诉我们一个网络应该具备哪些功能,某个功能的实现是在某个层次,但具体的实现技术他是不进行规范的。因为OSI的网络模型标准比较严格,另外推出的时间也相对较晚,所以目前还没有完全按照OSI模型实现的网络。TCP/IP是另一种网络模型,也是我们实际应用最广泛的一种网络的模型。在这个模型中,不只是划分了功能层,还有具体的实现技术,即协议。TCP和IP就是这个模型中最重要的两个层次的代表协议。这两个模型之间的可以说是完全独立的。因为OSI是一种理论上