前言
这周一就须要交android大实验做业,android大实验作了一个二手商城,可是功能太少了,android老师要求大实验要有一些特点。就想着实现一下实时聊天。而后就利用周日时间试了一下。android
socket
实时聊天须要socket链接。普通的后台请求是http或者https请求,这表明着前台发出请求,后台响应请求,就结束了。而socket协议是一种长链接,一旦前台或者后台创建链接后,须要一方发出关闭链接才会断开。在链接中客户端和服务端能够随意的互相发送信息。这很是适用于实时聊天情景。若是实时聊天使用经常使用的http协议,不但会每发出一条消息就发出一个请求,这会占用大量服务器资源,而且服务端没法主动向接收客户端发送消息。git
界面实现
聊天界面实质上也是一种列表,只要使用android经常使用的列表布局就能够,只须要判断一下一条消息是不是本人发出,若是是本人发出,须要在右边显示信息
具体实现能够从网上找一篇博客来实现。值得注意的是,每一个聊天气泡仍是颇有意思的,咱们看到的聊天气泡也是背景图片,可是是一种特殊格式的背景图片,他会随着内容的变化而拉伸,这一切都是android本身变化的,官方叫这种图片为点九图。咱们先看一下使用点九图与不使用点九图的差异github