25 消息处理

一、创建消息通知:
1.构建消息管理器
NotificationManager manager= (NotificationManager)
getSystemService(NOTIFICATION_SERVICE);
2构建消息通道
Notificationchannel channel=new
NotificationchannelID,name, Notificat. IMPORTANCEHIGH)
3.创建消息通进
manager. createNotificationchannel(channe1);
4.构建消息
Notification notification=new Notification. Builder (this, ID)
.setContentTitle收到一条重要通知)
.setcontentText这是重要通知
.setSmaliIcon (R. mipmap. ic_launcher)
.build ();
5.发送前台服务消息
startForeground(1, notification);
二、HTTP协议简介
1.HTTP (Hyper text transfer protocol)协议即超文本传输协议,它规定了浏览器和万维网服务器之间互相通信的规则。
2.日常生活中,大多数人遇到了问题都会使用手机进行百度搜索。在浏览器的地址栏中输入百度的网址点击搜索,此时就会进入百度主页,这个访问百度的过程就是通过HTTP协议完成的。
3.一次HTTP请求的过程:
建立连接→发送请求→处理请求→返回数据-→发送请求2
→…关闭连接
4.HTTP请求的常用方式:
① GET
② POST
5.HTTP请求的格式:
请求行
请求头
请求体
6.HTTP响应的格式:
响应行(包含响应码:200 404 500 302)
响应头
响应体
三、GEt方式和POST方式提交数据
1.HTTP/1.1协议中共定义了八种方法来表明 .HTTP/.Requestur指定的资源的不同操作方式。其中最常用的两种请求方式是GET和POST。
2.GEt方式与POST方式的区别:
(1)GEt方式以实体的方式得到由请求URL所指向的资源信息向服务器提交的参数跟在请求URL后面使用GET方式访问网络URL的长度是有限制的,请求URL的长度要小于1K。
(2)POST方式用来向目的服务器发出请求,要求它接收被附在请求后的实体。它向服务器提交的参数在请求后的实体中,POST方式对URL的长度是没有限制的。
四、使用 HttpConnection
1.URL:包含请求地址的类
① ULR(path):包含请求路径的构造方法
② openConnectionO0:得到连接对象
2. HttpULRConnection:代表与服务器连接的类
(1)setRequestMethod(get/post”):设置请求方式
(2)setDoInput(true/false):设置可以读取服务器端返回的数据
(3)setDoOutput(true/false):设置可以向服务器端写入数据
(4)setConnectTimeout(time):设置连接超时时间,单位为m
(5)setReadTimeout(time):设置读取服务器返回数据的时间
(6)Connect():连接服务器
(7)int getResponseCode():得到服务器返回的结果码
(8)Int getContentLength():得到服务器返回数据的长度(字节
(9)getOutputStream():返回一个指向服务器端的数据输出流
(10)get InputStream():返回一个从服务器端返回的数据输入流
(11)Disconnect():断开连接
五、httpclient的基本用法
httpclient 是 apache jakarta common下的子项目用来提供高效的、功能丰富的、支持HTTP协议的客户端编程工具包。
使用 HttpClient访问网络与HttpURLConnectiond的过程大致相同
1)创建 HttpClient对象
2)指定访问网络的方式,创建一个HttpPost对象或HttpGet对象
3)如果需要发送请求参数。可调用HttpGet、 HttpPostset的setParams()方法
4)调用HttpClient对象的execute()方法访问网络
5)调用HttpResponse. getentity()方法获取HttpEntity对象
六、Handler消息机制
1)MessageQueue
MessageQueue是消息队列的意思它主要用来存放通过 Handler发送的消息。通过HandlerMessageOue发送的消息会存在中等待处理。它是一个按 Message的when排序的优先级队列。(when代表着被处理的时间)
2)Looper
Looper是每个线程中MessageQueue的管家。调用 Looper的loop()方法后,就会进入到一个无线循环中。然后一发现 MessageQueue中存在一条消息,就会将它取出,并传递到 Handler的 HandlerMessage方法中。
3)Handler
Handler主要用于发送消息和处理消息。一般使用Handelr对象的sendMessage()方法发送消息,消息经过一系列处理后,最终会传递到HandlerhandlerM 。
① 发送即时消息: sendNessage(Message msg)
② 发送延时消息: sendMessageDelayed (Message msg, long time)
③ 处理消息: handleMessage( Message msg)(回调方法)
④ 移除还未处理的消息: removeMessages(int what)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值