android笔记 广播

*网路访问方式
1:请求行:由方法字段、URL字段和HTTP版本字段组成
http请求方法常见的有 GET POST

2:请求头部:关键字/值 组成,每行一对
User-Agent:产生请求的浏览器类型
Accept:客户端可识别的内容类型表
Host:请求的主机名

3: 空行

4: 请求数据

Get方式请求

String path=“http://`````/logins.jsp ? id=helloworld&pwd=android”; 发起请求的路径
URL url = new URL(path); 新建一个URL对象
HttpURLConnection urlConn = (HttpURLConncetion) url.openConnection(); 打开一个HttpURLConncetion连接
urlConn.setConnectTimeout(5 * 1000); 超过5秒则连接超时
urlConn.connect(); 开始连接
if(urlConn.getResponseCode()) == HTTP_200 { 若请求成功,通过读取连接的数据流来获取返回的自定义方法
//readStream() 为从inputStream中获取数据的定义方法
byte[] data = readStream(urlConn.getInputStream());
} 关闭连接
urlConn.disconnect();
url=“jdbc:mysql://localhost:3306/demodatabase?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&useSSL=false&allowPublicKeyRetrieval=true”;

HttpGet方式请求

String path=“http://`````/logins.jsp ? id=helloworld&pwd=android”; 发起请求的路径

HttpGet httpGet = new HttpGet(path); 新建一个HttpGet对象
HttpClient httpClient = new DefaultHttpClient();
HttpResponse httpResp= httpClient.execute(httpGet);

if( httpResp.getStatusLine().getStatusCode() == HTTP_200 ){ 若请求成功,通过读取连接的数据流来获取返回的自定义方法
//readStream() 为从inputStream中获取数据的定义方法
byte[] data = readStream(urlConn.getInputStream());
} 关闭连接
urlConn.disconnect();

Socket通信 手机能使用联网功能是因为手机底层应用了TCP/IP ,可以让手机端通过无线网络建立TCP连接
TCP可以对上层网络提供接口,使上层网络数据的传输建立在 无差别 的网络之上
1:客户端发送syn包到服务器,并进入SYN_SEND状态,等待服务器确认
2: 服务器收到syn包,必须确认客户的SYN(ajk=j+1),同时自己发送一个SYN包,即SYN+ACK包,此时服务器进入SYN_RECV状态
3:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1) 此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手

套接字Socket 是通信的基石,是支持TCP\IP的网络通信的基本操作单元,包含网络通信必需的五种信息:
连接使用的协议,本地主机的IP地址、本地进程的协议端口、远程主机的IP地址、远程进程的协议端口
多个TCP连接可能要巾帼一个TCP端口传输,为了区别彼此,操作系统提供套接字接口
通过他,应用层可以和传输层,区分来自不同应用程序进程或网络连接的通信,实现数据并发服务
建立Socket 连接至少需要一对套接字,一个运行在客户端ClientSocket 一个运行在服务器端ServerSocket
套接字之间的连接: 服务器监听,客户端请求,连接确认

HTTP SOCKET 区别
SOCKET 就是TCP连接,一旦建立连接,通信双方即可相互发送数据内容,直到双方连接断开。
HTTP连接使用的是 请求-响应 方式,不仅在请求时需要先 建立连接,而且需要客户端向服务器发出请求后,服务器才返回数据

很多情况,服务器要向客户端推送信息,保持客户端与服务器实时同步
若双方建立的是SOCKET连接,服务器可以直接把数据传送回客户端
若双方建立的是HTTP连接,服务器要等到客户端发送一次请求后才能将数据传回客户端

JSON 是一系列键值对的集合 ,key只能是string,value可以是string,number,,boolean,null
{

“phone” : [“1234567”]
“name” : “zhangsan”
“age” : 100
“address” : {
“country”,“china”,
“province”:“jiangsu”
}
}
JSONObject phone = new JSONObject(); 建立数组对象
JSONObject person = new JSONObject(); 创建一个对象
phone.put(“123456”);
person.put(“phone”,phone);
person.put(“name”,“zhangsan”);

JSONObject address = new JSONObject(); 创建一个对象
address.put(“country”,“china”);
address.put(“province”,“jiangsu”);

上面操作已经做好了JSON文本的创建
下面进行json数据的解析
JSONObject object =new JSONObject (person.toString());
JSONArray array = object.getJSONArray(“phone”);
String phonenum = array.get(0);
String name =object.getString(“name”);
int age = object.getInt(“age”);

JSONObject object1 =new JSONObject (“address”);
String country = object1…getString(“country”);
String province= object1…getString(“province”);
*

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值