关于服务器端向Android客户端的推送,主要有三种方式:
1.客户端定时去服务端取或者保持一个长Socket,从本质讲这个不叫推送,这是去服务端拽数据。但是实现简单,主要缺点:耗电等
2.Google的C2DM,具体不细说,缺点,服务器在国外,你懂得,不是很稳定。
3.XMPP协议,它是一种基于XML的传递协议,具有很强的灵活性和可扩展性。它的特点是将复杂性从客户端转移到了服务器端。
听说GTalk、QQ、IM等都用这个协议。

接下来说说XMPP在android客户端上的应用。分两部分:服务端搭建和客户端实现。

服务端搭建:
如果想测试一下功能,直接用搭建好的服务就行,下载androidpn-server-0.5.0-bin.zip ,由于附件太大,上传不上来
下载地址: http://sourceforge.net/projects/androidpn/files/?source=navbar
点击bin目录下得run.bat,直接搭好服务,在浏览器上输入 http://127.0.0.1:7070  就进入管理界面。如下图:
如果你想自己更改服务,下载附件 <ignore_js_op> androidpn-server-0.5.0-src.zip (303.73 KB, 下载次数: 2431) ,自行修改。

展示一下管理的发送页面:

客户端实现:
下载工程源码 <ignore_js_op> androidpn-client-0.5.0.zip (347.74 KB, 下载次数: 2701) ,导入工程,运行前更改一处IP地址,修改androidpn.properties文件中的xmppHost为xmppHost=10.0.2.2
原因:模拟器访问本机需要改成10.0.2.2,下图为SDK中说明。

运行界面如下:
IP修改:
从服务端发送消息后客户端接受的NOTIFICATION:
点击NOTIFICATION后跳转到的Activity,具体哪个Activity需你自己去找了,多研究
 
 
该文章转载自http://www.apkbus.com/android-18168-1-1.html
 

android基于XMPP的消息推送机制的更多相关文章

  1. Android 基于Netty的消息推送方案之对象的传递(四)

    在上一篇文章中<Android 基于Netty的消息推送方案之字符串的接收和发送(三)>我们介绍了Netty的字符串传递,我们知道了Netty的消息传递都是基于流,通过ChannelBuf ...

  2. Android 基于Netty的消息推送方案之字符串的接收和发送(三)

    在上一篇文章中<Android 基于Netty的消息推送方案之概念和工作原理(二)> ,我们介绍过一些关于Netty的概念和工作原理的内容,今天我们先来介绍一个叫做ChannelBuffe ...

  3. Android 基于Netty的消息推送方案之概念和工作原理(二)

    上一篇文章中我讲述了关于消息推送的方案以及一个基于Netty实现的一个简单的Hello World,为了更好的理解Hello World中的代码,今天我来讲解一下关于Netty中一些概念和工作原理的内 ...

  4. Android 基于Netty的消息推送方案之Hello World(一)

    消息推送方案(轮询.长连接) 轮询 轮询:比较简单的,最容易理解和实现的就是客户端去服务器上拉信息,信息的及时性要求越高则拉信息的频率越高.客户端拉信息的触发可以是一些事件,也可以是一个定时器,不断地 ...

  5. Android (Notification)消息推送机制

    从网上查询资料学习Android消息推送机制,效果图如下: 1.首先是布局文件代码 activity_main.xml <?xml version="1.0" encodin ...

  6. 基于SignalR的消息推送与二维码描登录实现

    1 概要说明 使用微信扫描登录相信大家都不会陌生吧,二维码与手机结合产生了不同应用场景,基于二维码的应用更是比较广泛.为了满足ios.android客户端与web短信平台的结合,特开发了基于Singl ...

  7. APP消息推送机制的实现(PUSH)

    出于好奇,想了解一下消息推送机制,在网上搜索到了几篇文章,感觉还不错,粘贴下来,等真正用到的时候再仔细研究 以下两篇是关于ios的 1.http://blog.csdn.net/xyxjn/artic ...

  8. (转)iOS消息推送机制的实现

    原:http://www.cnblogs.com/qq78292959/archive/2012/07/16/2593651.html iOS消息推送机制的实现 iOS消息推送的工作机制可以简单的用下 ...

  9. ios消息推送机制原理与实现

    本文转载至 http://hi.baidu.com/yang_qi168/item/480304c542fd246489ad9e91 Push的原理: Push 的工作机制可以简单的概括为下图 图中, ...

随机推荐

  1. Spring 整合hibernante 错误java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

    1.将所需的jar包全部拷贝到WEB-INF/lib下,再重新启动tomcat便能顺利通过了.参考http://blessht.iteye.com/blog/1104450 最佳答案   spring ...

  2. Git 系列(一):什么是 Git

    欢迎阅读本系列关于如何使用 Git 版本控制系统的教程!通过本文的介绍,你将会了解到 Git 的用途及谁该使用 Git. 如果你刚步入开源的世界,你很有可能会遇到一些在 Git 上托管代码或者发布使用 ...

  3. 关于三星手机照相机调用适配问题Android

    因为三星手机在照相的时候,会自动将自动转化为为横屏. 这里的话 就不讲具体怎么实现的,因为在网络上是有相关的代码. 主要的是在你拍完照返回的时候,先前的界面可能会重绘,所以会导致一些问题. 我暂时的办 ...

  4. Docker容器

    Docker容器 Docker容器 1. 容器基本操作 启动容器: 1.docker run IMAGE [COMMAND] [ARG...]2. 演示: 1.[KANO@kelvin ~]$ doc ...

  5. RapidMiner的基本使用(一个医疗数据的简单决策树算法分析)

    RapidMiner的基本使用(一个医疗数据的简单决策树算法分析) RapidMiner的基本使用(一个医疗数据的简单决策树算法分析) 需要分析的文件: 右键分别创建读取excel数据,选择属性,设置 ...

  6. jquery中validate插件表单验证

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  7. tr删除替换详解

    tr(translate缩写)主要用于删除文件中的控制字符,或进行字符转换. 语法:tr  [–c/d/s/t] [SET1] [SET2]    #SET1: 字符集1: SET2:字符集2 -c: ...

  8. Sprite Kit编程指南中文版下载

    下载地址:http://download.csdn.net/detail/xin814/6032573 关于Sprite Kit 重要提示:  这是API或开发技术的一个初版文档.虽然本文档的技术准确 ...

  9. 在cmd中输入ls命令出现“ls不是内部或外部命令解决

    今天在学习sass查看目录遇到cmd输入ls提示不是内部命令 解决方法: 新建一个ls.bat文件 内容为: @echo off dir

  10. Android开发(27)--TextView单击链接弹出Activity

    话不多说直接上码: 核心源码: package com.example.textview4; import android.app.Activity; import android.content.I ...