android实现推送方式解决方案,Android实现推送方式解决方案系列教程

Android实现推送方式解决方案系列教程 1-5

Android实现推送方式解决方案系列教程

总结者:难民 交流Q群: 137824028

Android实现推送方式解决方案系列之一--XMPP协议

出自:http://doc.docsou.com/thread-1004-1-1.html

XMPP协议简介

XMPP(Extensible Messageing and Presence Protocol:可扩展消息与存在协议)是目前主流的四种IM(IM:instant messaging,即时消息)协议之一,其他三种分别为:即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)。

在这四种协议中,XMPP是最灵活的。XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程 序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。

1. 什么是XMPP ?

XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。标准化的核心结果分为两部分; 核心的XML流传输协议 基于XML流传输的即时通讯扩展应用 XMPP的核心XML流传输协议的定义使得XMPP能够在一个比以往网络通信协议更规范的平台上。借助于XML易于解析和阅读的特性,使得XMPP的协议能够非常漂亮。 XMPP的即时通讯扩展应用部分是根据IETF在这之前对即时通讯的一个抽象定义的,与其他业已得到广泛使用的即时通讯协议,诸如AIM,QQ等有功能完整,完善等先进性。

2. XMPP的基本网络结构是怎样的?

XMPP中定义了三个角色,客户端,服务器,网关。通信能够在这三者的任意两个之间双向发生。服务器同时承担了客户端信息记录,连接管理和信息的路由功能。网关承担着与异构即时通信系统的互联互通,异构系统可以包括SMS(短信),MSN,ICQ等。基本的网络形式是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML。

3. XMPP通过TCP传什么了?

传输的是与即时通讯相关的指令。在以前这些命令要么用2进制的形式发送(比如QQ),要么用纯文本指令加空格加参数加换行苻的方式发送(比如MSN)。而XMPP传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android WebView中实现消息推送的常见方法是使用JavaScript桥接技术。您可以通过以下步骤实现: 1. 在您的Android项目中创建一个类,用于JavaScript桥接,这个类需要继承自`WebViewClient`和`WebChromeClient`。 2. 通过`WebView`的`addJavascriptInterface`方法将Java对象与JavaScript绑定。 3. 在JavaScript中使用`window.<object name>.<method name>`来调用Java对象中的方法。 4. 在Java对象中实现处理JavaScript方法调用的代码。 5. 当需要推送消息时,在Java代码中调用JavaScript方法,从而在WebView中显示推送消息。 下面是一些简单的示例代码,以便您更好地理解: ``` // 创建一个用于JavaScript桥接的Java类 public class WebViewBridge extends WebViewClient { private WebView mWebView; public WebViewBridge(WebView webView) { mWebView = webView; } // 使用addJavascriptInterface方法将Java对象与JavaScript绑定 public void bindJavaScript() { mWebView.addJavascriptInterface(this, "Android"); } // 实现处理JavaScript方法调用的代码 @JavascriptInterface public void showToast(String message) { Toast.makeText(mWebView.getContext(), message, Toast.LENGTH_SHORT).show(); } // 在Java代码中调用JavaScript方法,从而在WebView中显示推送消息 public void pushMessage(String message) { mWebView.loadUrl("javascript:showMessage('" + message + "')"); } } // 在WebView中加载一个网页,并将Java对象与JavaScript绑定 WebView webView = (WebView) findViewById(R.id.webview); webView.setWebViewClient(new WebViewBridge(webView)); webView.setWebChromeClient(new WebViewBridge(webView)); WebViewBridge bridge = new WebViewBridge(webView); bridge.bindJavaScript(); webView.loadUrl("http://example.com"); // JavaScript代码 function showMessage(message) { alert(message); } ``` 上面的示例代码仅用于演示,您需要根据您的实际需求进行修改和调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值