android 存储方式——Http

8人阅读 评论(0) 收藏 举报
分类:

Http

http协议:应用层协议,并且http协议是基于tcp连接的,主要解决的是如何包装协议的

tcp协议:运输层协议,通常也叫做tcp/ip协议,主要解决数据如何在网络中传输

udp协议:运输层协议,用户数据报协议,不可靠的协议,只负责把应用层的协议的数据传送到ip层的数据报,而不管数据是否到达。

Tcp/ip连接:

第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 
握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭 
连接之前,TCP 连接都将被一直保持下去。断开连接时服务器和客户端均可以主动发起断开TCP连接的请求,断开过程需要经过“四次握手”。

Http连接:

HTTP协议是建立在TCP协议之上的一种应用,HTTP连接使用的是“请求—响应”的方式,不仅在请求时需要先建立连接,而且需要客户端向服务器发出请求后,服务器端才能回复数据。在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。由于HTTP在每次请求结束后都会主动释放连接,因此HTTP连接是一种“短连接”,要保持客户端程序的在线状态,需要不断地向服务器发起连接请求。通常的做法是即时不需要获得任何数据,客户端也保持每隔一段固定的时间向服务器发送一次“保持连接”的请求,服务器在收到该请求后对客户端进行回复,表明知道客户端“在线”。若服务器长时间无法收到客户端的请求,则认为客户端“下线”,若客户端长时间无法收到服务器的回复,则认为网络已经断开。 
清单文件中添加权限

TCP/IP协议和Http协议之间的关系:

TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据,而socket则是对TCP/IP协议的封装和应用(程序员层面上)。实际上http协议就是建立在tcp/ip协议之上的。

“我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如 果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等,也 可以自己定义应用层协议。WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上。”

android 中使用http需要的权限

<uses-permission android:name="android.permission.INTERNET" />

HTTP规范规定两种请求方法可以包含内容实体:POST和PUT。

GET请求方式是通过把参数键值对附加在url后面来传递的,是文本方式的,参数直接暴露在浏览器的地址栏中,安全性相对较弱。

POST方式就传输方式,将参数打包在http报头中传输,可以是二进制的,不会暴露在浏览器的地址栏中,相当安全,不过相当于GET请求方式,参数获取会变慢,处理效率也会随之降低。

android 网络状态监听

ConnectivityManager cm=(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);  
       NetworkInfo info=cm.getActiveNetworkInfo();  
       if(info!=null){  
           Toast.makeText(MainActivity.this, "连网正常"+info.getTypeName(), Toast.LENGTH_SHORT).show();  
       }else{  
           Toast.makeText(MainActivity.this, "未连网", Toast.LENGTH_SHORT).show();  
       }  

google 推荐android使用okhttp,okhttp较好的封装了http的请求,同时支持https以及实现了较简单的dns适配器。

关于okhttp还有一个二次封装的http框架,retrofit。它使用起来更加方便。 

查看评论

Javaweb开发基础视频教程之http协议

动力节点推出的Java视频教程主要讲解了HTTP协议。首先讲解了HttpWatch工具的用法及浏览器自动发出的请求形式;其次讲解了HTTP1.0与1.1版本及对比,然后详细分析了HTTP协议格式及状态码;最后详细讲解了GET与POST请求方式。
  • 2017年10月28日 14:14

android数据存储方式大全

  • 2011年05月24日 20:47
  • 63KB
  • 下载

Android中的五种数据存储方式

这五种方式分别是: 1、SharedPreferences(偏好设置),读取XML文件 2、文件存储 (1)assets(程序内部的资源,只能读) (2)data/data/主包名/files目录下的...
  • u013519020
  • u013519020
  • 2016-08-17 19:16:16
  • 1244

Android中常用的五种数据存储方式

1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 4 使用ContentProvider存储数据 ...
  • qq_22157767
  • qq_22157767
  • 2016-06-17 16:50:11
  • 5758

Android------五大存储方式详解

Android五大存储方式: 1、sharedpreferences
  • u013476702
  • u013476702
  • 2014-07-15 21:29:06
  • 1533

Android中有几种数据存储方式,每种方式有哪些特点?

Android中有5种数据存储方式,分别为文件存储、SQLite数据库、SharedPreferences、ContentProvider、网络。每种存储方式的特点如下: 1)文件存储 文件存储方...
  • liyue199512
  • liyue199512
  • 2016-07-27 12:20:09
  • 3648

安卓五种存储方式入门

本文介绍Android中的5种数据存储方式。数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是: 1 使用SharedPreferences存储数据 ...
  • lucasey
  • lucasey
  • 2016-03-14 13:27:26
  • 3541

Android 四大数据存储方式

====================================================================================================...
  • Mr_ZJC
  • Mr_ZJC
  • 2014-11-23 19:15:47
  • 3002

Android中的5种数据存储方式之——文件存储数据

文件存储数据android文件存储的4种方式Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入...
  • zhan1350441670
  • zhan1350441670
  • 2015-07-27 19:57:07
  • 636

Android存储五大方式

Android存储五大方式: 1 使用SharedPreferences存储数据  2 文件存储数据  3 SQLite数据库存储数据  4 使用ContentProvider...
  • qq_33094497
  • qq_33094497
  • 2016-08-29 11:03:13
  • 1411
    个人资料
    等级:
    访问量: 522
    积分: 147
    排名: 113万+
    文章存档